- Don't use ViewModel if the settings UI is restricted
Bug: 284931681
Test: manual test
atest -c WifiTetherSettingsTest
Change-Id: I3ae23b01b3be821c3560552b39cbd83ab51b2095
This CL fixes the ANR by moving possible blocking IDumpstateDevice
IPC call from main thread to background thread.
Settings develop options depends on IDumpstateDevice IPC call to
set and get Vendor Verbose Logging feature. The IPC may occasionally
get blocked in system_server which is extremely busy (e.g. during
bugreport generating). This may cause Settings app crashing with ANR.
Bug: 287126040
Bug: 280015761
Test: atest EnableVerboseVendorLoggingPreferenceControllerTest
Test: Verbose Vendor Logging regression
Test: Stress test (heavily trigger on/off during BR generating)
Merged-In: I0b88ef089097930b62dcb1cb7d6fe9990356ab5d
Change-Id: I0b88ef089097930b62dcb1cb7d6fe9990356ab5d
(cherry picked from commit f7b8d687bf)
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