When refreshing the UI, we tried to only create profile data for new
profile, and skip the initialization for existing profiles. However,
the authentication helper will not get the updated account list, since
the account update listener is being paused. Re-create the
authentication helper to get the latest list of enabled accounts.
Change-Id: Ie29699456e5b32747e8158d51382afaa2c0c5908
Fix: 38302246
Test: make RunSettingsRoboTests
When strong auth (PIN, password, or pattern) is removed from a user,
fingerprints enrolled for that user should also be removed. Then, if the
user has a work profile guarded by a unified work challenge, the work
profile's fingerprints should also be removed.
Previously, when removing the fingerprints of the current user,
ChooseLockGeneric checked the finger id of the onRemovalSucceeded() and
onRemovalError() callbacks, and assumed the removal had completed when
the id was 0. Only after this would it initiate the removal of work
profile fingerprints, if any.
However, the finger id is actually non-zero even for the user's last
fingerprint. This means the work profile fingerprints (under unified
challenge) were never removed. Another more visible symptom was that
when the user removed the device lock by choosing "None" or "Swipe" in
ChooseLockGeneric, the activity failed to exit, since finish() is called
only at the end of the removal flow which was not executed.
In this CL, we check the number of remaining fingerprints instead of
relying on the finger id, thus allowing the removal flow to complete and
the activity to finish().
Bug: 37938345
Test: manual, both with and without work profile
Test: make SettingsRoboTests
Change-Id: Ic04fd01177ad6d4a061023a4b6889af585f8f2b7
This change adds a checkbox reading "Use high quality audio: <codec
name>" to the details dialog for A2DP audio bluetooth devices that
support codecs other than the mandatory SBC (eg AAC, LDAC, aptX, etc.).
Bug: 37441685
Test: make RunSettingsRoboTests
Change-Id: I6e5423db11a0cd7fe0b1141dd998e7c936c240f0
Cherry-pick of 436256c36d
Test: 1) make and run SettingsTests. It passes.
2) Manual test 1
a) On a device supports fingerprint, set a password but not fingerprint.
b) adb shell am start -a android.app.action.SET_NEW_PARENT_PROFILE_PASSWORD
c) Confirm Lock password screen is shown
d) Select "Skip fingerprint". There isn't a second lock password confirmation screen.
e) A new password can be set successfully.
3) Manual test 2
a) Repeat step 2)a) - 2)c)
b) Select "Fingerprint + PIN". There isn't a second lock password confirmation screen.
c) A new password and fingerprint can be enrolled successfully.
Bug: 33059280
Change-Id: I1078c6e303fc41aeeb370e5d6518d1f16b5837f1
Merged-In: I1078c6e303fc41aeeb370e5d6518d1f16b5837f1
Cherry-pick of 436256c36d
Test: 1) make and run SettingsTests. It passes.
2) Manual test 1
a) On a device supports fingerprint, set a password but not fingerprint.
b) adb shell am start -a android.app.action.SET_NEW_PARENT_PROFILE_PASSWORD
c) Confirm Lock password screen is shown
d) Select "Skip fingerprint". There isn't a second lock password confirmation screen.
e) A new password can be set successfully.
3) Manual test 2
a) Repeat step 2)a) - 2)c)
b) Select "Fingerprint + PIN". There isn't a second lock password confirmation screen.
c) A new password and fingerprint can be enrolled successfully.
Bug: 33059280
Change-Id: I1078c6e303fc41aeeb370e5d6518d1f16b5837f1
Merged-In: I1078c6e303fc41aeeb370e5d6518d1f16b5837f1
When an access point linked to a saved network is not found,
security info should be shown in dialog of saved network.
Notes that in Android N this list is created with saved networks
and scan result, and that causes security info is not shown for
access points seen around user, but in Android O only saved
networks are used to create a list. That means security info is
shown for all access points listed in the screen.
Bug: 38102896
Test: make RunSettingsRoboTests
Change-Id: Ia0c5184ae7a1325f2628f4c08e29350c5793a08f
(cherry-pick of a8382c11f58ecbfbc5b8d908b97c53d59cf774fe)
Showing the wifi data usage results in reaching the max number of
threads in the pool executor. Switching the loader implementation
from Async task to AsynLoader and use a single loader to get the
whole list of preferences instead of using a new task to create each
list element.
Change-Id: I0da19ca09031a7fa178970c192e12a99ab489145
Fix: 33820327
Test: make RunSettingsRoboTests
The bug resulted from the fact that turning off loading while loading is
turned off causes the loading finishing animation to flicker. By only
turning it off when it is on, we ensure it works.
Change-Id: Ia31bf3e9aa90726e39b6bc7189d175c38fb51e5a
Fixes: 38045492
Test: Manual
Default Work Browser and Phone app search results look
identical to the regular defaults. Supress the results
until we differentiate work results.
"Assist and voice input" duplicate is a parent-child
duplication and is removed, as well.
Bug: 36101902
Test: make RunSettingsRoboTests
Change-Id: I3bb75c199cd76e24de42548dd166c4bccd0c7f0a
This no-op activity is only enabled when the real setting is
turned off.
Change-Id: I7ccf4645054a60569a77076c24cf42da80479fed
Fix: 37651414
Test: rerun CTS test android.systemintents.cts.TestSystemIntents#testSystemIntents
When battery asyncLoader is loading batterystats, show a battery
placeholder(critical level) and animate to real status once data is
loaded.
Bug: 35917699
Test: RunSettingsRoboTests
Change-Id: Ie4ff73ff2cc0b9e17b4541e3284bf2ac34da42c4
Merged-In: Ie4ff73ff2cc0b9e17b4541e3284bf2ac34da42c4