Since the lifecycle of controller is independent of that of preference,
we do null check on the switch to avoid generating tooltip from the
switch when it is not ready. The fix is a temporary solution for the
issue and we would like to move the logic of tooltip to systemUI to
match the general view's lifecycle in the future.
Bug: 286810561
Test: manually - check the tooltip won't be shown and also won't cause exception after rotating the phone. (The switch view has not been created if it is out of screen.)
Test: manually - attach video to the bug
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest
Change-Id: I75d810e4b85baf06d57a3e31797a55daac791b79
Since the lifecycle of controller is independent of that of preference,
we do null check on the seekbar to avoid generating tooltip from the
seekbar when it is not ready. The fix is a temporary solution for the
issue and we would like to move the logic of tooltip to systemUI to
match the general view's lifecycle in the future.
Bug: 279549685
Test: manually - check the tooltip won't be shown and also won't cause exception after rotating the phone. (The seekbar view has not been created if it is out of screen.)
Test: manually - attach video to the bug
Test: make RunSettingsRoboTests ROBOTEST_FILTER=PreviewSizeSeekBarControllerTest
Change-Id: I50111f0cc59cad4401ab67b06cd62e9067e8ed76
This would have been simpler and faster, but the ChannelPanelActivity
was giving me a context where Material colors always inflated in light
theme even if the device was in dark theme, so I had to work around it.
On the plus side, whoever next needs to change these colors will find
them neatly organized in themes.xml!
Bug: 284380876
Test: manual
Change-Id: I2eee877fe44d307a96d60168d0317444ff002669
Crash happens when rotated screen.
QrCodeScanModeFragment should only have default constructor.
Remove unused params to fix.
To start this page,
adb shell am start \
-a android.settings.BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER
Fix: 287363885
Test: Manually
Change-Id: I3c4bcfdb8ae6ddf750e16d8e7565cb9d45d11788
Bug: 287265141
Test: on device with multiple admins enabled (default for HSUM) create a new
user and open User details view. Toggle Make this user an admin on/off.
Observe increased padding.
Change-Id: I216a91c4685eb12986cc4c61ae7be439358f55b2
So hidden modules are not shown in the list.
This will also improve the developer experience.
Bug: 273913035
Test: Manually with App Compatibility Changes
Test: Unit test
Change-Id: Ic78a51819159a0f848db6173f751b1be8c6b1e70
There is heavy work to do when add device to list in the
DeviceListPreferenceFragment, off load these work from main thread
to solve the issue.
Make devicePreferenceMap a ConcurrentHashMap to avoid potential race
condition.
Also no longer use getCachedPreference(key) since we not put anything
into the cache, the fallback flow is always used.
Also in BluetoothDevicePreference.onPreferenceAttributesChanged(), move
more heavy work to background thread.
Using System.currentTimeMillis() to sort devices could cause flaky
because System.currentTimeMillis() could be same for different device,
use AtomicInteger instead.
Fix: 286628533
Test: Following the step in bug
Change-Id: Ia9750adb6b4c1424d084381e9d7c2ca8e7912391
According to patch of A-231987122, AOSP restricts app to modify relevant
mobile settings when user is a guest. This change intends to prevent the
slices related to mobile settings from being requested by guest user.
Bug: 278616139
Bug: 277333776
Bug: 262244832
Bug: 278616520
Bug: 278615120
Test: robotests
Change-Id: I4dc4bbfdb5cf76e188e6f62ebfd74ef6fa2fe33b
Handles the ACTION_CONFIRM_REPAIR_MODE_DEVICE_CREDENTIAL
intent to launch the confirm device credential activity for
users to exiting repair mode. The activity passes a special
user id USER_REPAIR_MODE to the framework and verify credentials
that the user enrolled in normal mode.
Bug: 277561275
Test: am start -a android.app.action.PREPARE_REPAIR_MODE_DEVICE_CREDENTIAL
settings put global repair_mode_active 1
am start -a android.app.action.CONFIRM_REPAIR_MODE_DEVICE_CREDENTIAL
The credential is verified successfully.
Change-Id: I9ffe32f9925ee2b990c49d5674d27196a4c9edf7
- Cannot omit addPreferencesFromResource even if UI is restricted
Bug: 287172382
Test: manual test
atest -c WifiTetherSettingsTest
Change-Id: I1f5c0215a635fddefe7eaa20c1d765634b505121
- When activity entered from outside, the MMS message is not udpated.
Therefore, add a update behavior to onStart()
Bug: 281566495#5
Test: Manual test passed
Test: atest passed.
Change-Id: I3e5994ad0dbcdd1b78ae3e10e3cb564ce210e93e
To let fragment's view lifecycle owner passed in to controllers.
For UI usage, view lifecycle owner is the best choice, controller could
use this lifecycle owner to observe events and do UI related works.
Usage DataSaverController as first example.
Bug: 287005021
Test: Manually for DataSaverController
Change-Id: Id965ea3a24d61f4d0ec6735632944f41f72ba06a
- If the "Extend compatibility" preference is not supported, then set to shutdown secondary SAP automatically within the "Turn off hotspot automatically" preference.
Bug: 285914977
Test: manual test
atest -c WifiTetherAutoOffPreferenceControllerTest
Change-Id: I405107a4782a6f023442d196d0fca27515aab00e
Update mAddFingerprintPreference to avoid NPE
Fixes: 286495189
Test: Rotate screen during first fingerprint enrollment, complete enrollment, and observe no crash
Change-Id: Id7edde492168b467360c6c99b326721cd883bba8
Merged-In: Id7edde492168b467360c6c99b326721cd883bba8
Add new strings for face model deletion when fingerprint unlock is available.
Test: Manual - test on devices and observe the error message is correct.
Fixes: 283122570
Change-Id: I0511e58d030b8b63391d8406bfc0447fe33fa9fc
(cherry picked from commit 5e71aee4cd)
Update mAddFingerprintPreference to avoid NPE
Fixes: 286495189
Test: Rotate screen during first fingerprint enrollment, complete enrollment, and observe no crash
Change-Id: Id7edde492168b467360c6c99b326721cd883bba8