When the user enters UserSettings, the switch displays the setting as
on, but the setting is not created until the user modifies this for the
first time. This change makes sure that the setting is created when the
user enters UserSettings for the first time.
Fixes: 130270878
Test: manual, switch to second user and observe switcher icons.
Change-Id: I30bc5025c178da3668a76c828c34545c1d98b085
Due to b/117555407, the same PhoneStateListener object can not be used
to register on different subIds, so we workaround this by recreating
the PhoneStateListener when reregistering.
Fixes: 129989656
Test: manual
Change-Id: I9d6631da628351511e285afeb5b6d4331aaab7e5
Merged-In: I9d6631da628351511e285afeb5b6d4331aaab7e5
(cherry picked from commit 9bc2a584f6)
If sdcard was removed while format(as phone storage) was
under progress, blkid can fail to identify the UUID of the
private volume. The PrivateStorageInfo.getTotalSize() API
assumes UUID to be always valid which could simply be not the case.
Avoid calling getTotalSize() on private volume when its state
is unmountable.
Bug: 130203877
Test: 1) Insert sdcard as "portable" storage.
2) Format it as "phone" storage.
3) Remove the sdcard while format is in progress.
4) Insert sdcard again -> blkid may fail to id the sdcard.
In such case, the fsUuid of the private-volume will be reported as "".
5) Open "Storage Settings". Settings app crashes:
FATAL EXCEPTION: main
Process: com.android.settings, PID: 3700
...
Caused by: java.lang.IllegalArgumentException: Invalid UUID string:
at java.util.UUID.fromString(UUID.java:194)
at android.os.storage.StorageManager.convert(StorageManager.java:2139)
at android.app.usage.StorageStatsManager.getTotalBytes(StorageStatsManager.java:121)
at com.android.settingslib.deviceinfo.PrivateStorageInfo.getTotalSize(PrivateStorageInfo.java:64)
However, with this CL, "Storage Settings" can be opened
and the private volume's state is correctly reflected as "Corrupted".
User can choose to format the volume again.
Copyright (c) 2019 Qualcomm Innovation Center, Inc. All Rights Reserved.
Change-Id: I764603b5806f43f0c6d398f9d6803646774cd912
Currently the code assumes that the user always has a pin or
password or pattern. If there's no password confirmKeyGuard() will
return false, so the acttivity will finish without doing anything.
With this change if there's no PIN/password/pattern, the credential
clearing task will be launched straightaway as the user presses "OK"
the confirmation prompt.
Bug: 127697771
Test: manual
Change-Id: Iac4af0abfc7430ed197e04f833bf203c3f66f52e
The caller needs to specify the name changing source, otherwise
telephony resets it to default after SIM swapped.
Bug: 130237749
Test: Manual
Change-Id: Iaa46db7bf22a35cb583faae069c9f2519ba4f94f
Properly hide fields if the parent app or group
is blocked. This is needed because apps can link
directly to this screen.
Test: atest
Fixes: 130184191
Change-Id: I8c39410574940615fbb607a201e20e480ec02d87
If the input media resource is invalid, MediaPlayer create calling may
fail and returns null, so trigger one NullPointerException.
Add the null pointer judegement when calling seekto and so on.
Test: manual
Fixes: 130032215
Change-Id: I38cb08584aa4e4c2ce4dc58a5a095960c7bd1948
Signed-off-by: Hoff Cheng <hoffc@qti.qualcomm.com>
* Align with the changes of Bluetooth metadata APIs.
* Move metadata utils from Settings to SettingsLib.
Bug: 124448651
Test: make RunSettingsRoboTests
Change-Id: Ic9ad91536ef3ff6807a08bbffa3dd796ef1ad523
Should not do one time initialization for the View in
Preference#onBindViewHolder. Because A view setup in
PreferenceViewHolder may be recycled.
Bug: 127502788
Test: manual
Change-Id: Iedf023fa00d2745a02521b65e5c12165c2bc025b