Rather than mocking the PreferenceScreen's getPreference function,
a PreferenceManager has been created, which instantiates the Screen.
The desired Preference is added to the Screen with the testing key.
Rather than using a shadow XML, contexts' resources are mocked.
A mock WifiManager is used instead of a shadow
Duplicate test case removed, and test which succeeds locally but
not on cuttlefish marked as ignored for now.
Bug: 175389659
Test: atest -c DeviceNamePreferenceControllerTest
Change-Id: I643b22993a1d102614fed1883af7f4925947be20
There are couple of newly explored concepts in this CL, which will
hopefully be useful for migrating other tests in the future as well. In
broad strokes, the changes to this file cover:
Android build file species the preferences library, in order to access
PreferenceViewHolder.createInstanceForTests.
Resource ids in JUnit tests differ from the Settings apk. This is true
not only of strings but also views and layouts. Helper functions added
to main class to access the layouts needed by the test.
Shadow activities are not needed to view layouts, the context can be
used.
Context startActivity can be mocked and verified in order to capture and
examine the intent created by the library under test.
Bug: 175389659
Test: atest -c DataUsageSummaryPreferenceTest
Change-Id: Ib8cb87f0299c47a32c3f5d3af7edb20592b727ec
The superclass ContentProvider's "getContext" method is final and
cannot be mocked, so a helper method visible for testing was added
to allow for context injection.
Bug: 175389659
Test: atest -c ModuleLicenseProviderTest
Change-Id: I9e20171340ae0a48d74fae44c7b356ea67dba43b
Set default "ON" when we can not get
SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED value.
Bug: 175084985
Test: manual check Settings > System > Gesture > Swipe for notifications
Test: manual check it is disabled after One-handed mode toggled on
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
"SwipeBottomToNotificationSettingsTest"
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
"SwipeBottomToNotificationPreferenceControllerTest"
Change-Id: I176ba1c0e18c5ed7d1582d380db6ec190b6e1dec
canSubscriptionBeDisplayed is more readable.
Reasonale:
When cherry-picking ag/12886476 into Android R branch (ag/13209427), a comment from code reviewer suggested this change.
Since ag/12886476 has been merged for a while, another patch for it is perferred option when comparing with reverting that CL and resubmit it.
Bug: 175830728
Change-Id: Ie91eb82504fd7cff6671803a2bc2560139690952
Test: build pass
This change do the 2 things:
1. Add new junit tests files which replace robolectric
RobolectricTestRunner & RuntimeEnvironment with
AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.
This change migrate 103 files, there are still 1209
files to go.
Bug: 174728471
Test: atest
make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
Instead of reading as one hundred and ten, it should read as one-one-o.
Also make the number override dialog text input box a little bigger
Fix: 175517632
Fix: 175514672
Test: robotests
Change-Id: I7e3e823792f885004868ede790fc414a3fa66f01
With CL[1], the isImeTraceEnabled in InputMethodManager
require to use ResultCallback mechanism. Change this API
usage in DevelopmentTiles.
[1] : I1547b98b2aacf764e33aadc9ab784f2013f58f2f
Bug: 163453493
Test: make RunSettingsRoboTests ROBOTEST_FILTER="WinscopeTraceTest"
Change-Id: I767069892c713023b064525105ef2b55946b7bb8
Before the JUnit test suite was a blocking presubmit, new junit tests
would be written without removing the old robolectric test. Now that the
JUnit tests are productionized, we can remove the robolectric tests if
there is also an associated Junit one.
Utility script which was used to generate this list can be found at
https://paste.googleplex.com/5113068112576512.
Bug: 175389659
Test: atest SettingsUnitTests
Change-Id: Iabf4dbcccd573e9e1482b3a3e61c0f169f81bcb4
When configuring CBRS profiles this dialog / notification will be
dismissed after configuration is done, to avoid confusion.
Bug: 142092510
Test: manual and unittest
Change-Id: Iaf30062f555ec2c119c4aafd6aa013e73b5253f0
Also bundled location related developer options into the location
category.
Bug:175357420
Test: Manual && make RunSettingsRoboTests ROBOTEST_FILTER=LocationScanningPreferenceControllerTest
Change-Id: Ic33ad6e70d258c9afc2cefba70ab6e7b2bafd16a
note that this class contains a state machine of the subscription
information cache. The mock subscription manager must present
subscriptions in order for an update intent to result in a change
notifcation.
Bug: 175389659
Test: atest -c ActiveSubsciptionsListenerTest
Change-Id: I8cd2bd5d5b7b1539f421822ba77ed3d8e0ac493b
Biggest difference here: the use of a MockContentProvider
Bug: 175389659
Test: atest -c PreferredNetworkModeContentObserverTest
Change-Id: I891620118f7e84aa1c7f9e0ccdaeb21a225dc31a
Starting Android S, all PendingIntent has to have a explicit mutability
flag set.
Fixes: 172207505
Fixes: 172811893
Test: Enable BluetoothDevicesSlice and play on it.
Play on the volume panel.
Change-Id: I618455de683d619fe300309e31864b3c64f12ad1