In legacy flow FaceEnrollIntroduction check maxFacesEnrolled()
then update introduction description and prevent user go to next
enroll step, the CUJ was not good to user, instead bring user
to Face Settings and let user decide the next action(Delete face or
change config) is more make sense.
As any applications could broadcast intent(android.settings.FACE_ENROLL)
to bring FaceEnrollIntroduction up, we add a check in onCreate() and check
if device has been enrolled max face, launch FaceSettingsInternalActivity.
In addition, skip to register any posture change callback when
maxFacesEnrolled() during activity onStart().
Test: atest SettingsGoogleUnitTests
Test: m -j SettingsGoogleRoboTests RunSettingsGoogleRoboTests
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
"FaceEnrollIntroductionTest"
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
"FingerprintEnrollIntroductionTest"
Test: Manual enrolled face, unfold device, launch Tips Security page
and click "Set up Face Unlock", device launch Face Settings insteand of
posture guidance page.
Bug: 263830403
Change-Id: Ied8b92259810f954ce6b2daaa9b87fc996ad752a
1. Remove the dock defender v1 code
2. Add dock defender battery tips and update
corresponding list item string
Bug: 260687359
Test: Unit test passed and manual test on device
Merged-In: Ib6c09df056744142f42f5e2a13252b58e54c7534
Change-Id: Ib6c09df056744142f42f5e2a13252b58e54c7534
Signed-off-by: Zhenwei Chen <zhenwec@google.com>
(cherry picked from commit 8d11d9ceea)
When IllegalStateException happens during user enters `Fingerprint
Unlock` or `Face Unlock` page through `Face and Fingerprint Unlock`
page, show ConfirmLock for user to re-enter credential again.
If user fails to pass credential page, finish activity and back to
`Security` page.
If user success to pass credential page, enter `Fingerprint Unlock` or
`Face Unlock` page.
Test: Manully test timeout case on `Face and Fingerprint Unlock` page
Test: robotest for CombinedBiometricProfileSettingsTest
FaceSettingsLockscreenBypassPreferenceControllerTest
Bug: 248165760
Change-Id: I3361c38d09d14461db8ecf2d89a34ba9604dc7e8
Add jank detection when click the following preferences,
- SwitchPreference
Single target, detect click in InstrumentedPreferenceFragment
- PrimarySwitchPreference
Two target, only detect click switch in switch's onClick()
- MainSwitchPreference
Single target, detect click in TogglePreferenceController
- SettingsMainSwitchPreference
Single target, detect click in its onSwitchChanged()
Bug: 230285829
Test: manual & robo tests
Change-Id: I97a13e05a601237b16cd2d903ba2fb6ec4a69a74
The injection dynamic data was loaded in the background and then post to
main thread to update UI. However, it usually updates after
Fragement.onResume(), which causes the flicker.
To make it more smooth, DashboardFragment to wait for the dynamic data
observers to update UI for a short period, which eliminates the flicker
in most cases.
Also skip the repeated tiles refresh called by onCategoriesChanged in
onResume after all preferences refreshed.
Test: robotest, visual
Bug: 229177114
Change-Id: I04650af9692703f1fc1e6e5ad2090f051b1eeb81
Prior to this cl, slice provider always exposes wifi slice
to calling package without confirming any wifi permissions.
For current solution, we will check calling package's permission state
and decide whether slice provider should expose wifi slice or not.
Because settings search is a part of settings app,
this permission checker won't be applied to settings intelligence.
Test: manual, robotest, cts
Also run manul
Bug: 178014725
Change-Id: I2770b5b43366a5aa65c7519efc4243d350a21b26
- Add option in user settings to enable/disable ephemeral
mode for guest user
- Update user settings to show exit guest and reset guest preferences
- Update user settings to show guest related preferences grouped together
Bug: 214031645, 175795666
Screenshots: go/ephemeral-guest-b-214031645-ux
Test: Manual test on sunfish, atest SystemUITests, atest SettingsRoboTests
Relands ag/16544951 after fixing post submit issues
Revert "Revert "Guest mode UX flow updates to user settings""
This reverts commit ed45e8c56a.
Change-Id: I54583f9021171ae523ff40d4f63835f1cb486e35
Merged-In: I54583f9021171ae523ff40d4f63835f1cb486e35
Sliceable.isCopyableSlice() is not set to true for any controller, so this function is not used.
Usage is removed in Change: I81474aed994678c42d73cc59e169573880de1378
Bug: 227722942
Test: robotest & manual
Change-Id: I86e23aa8ad43f60b5017ff0a278e20e3f727706c
- Creates new preferences that are shown when device-state rotation
is supported.
- Hides standard preferences when device-state rotation is supported.
- Controllers/Preferences for individual folded/unfolded rotation
settings are created and added programatically based on the settable
device states available.
Test: Manually + Unit tests
Bug: 195757480
Change-Id: I16f50fd3664756b363c7eb79e5c35eb0d3b6df17
Revert submission 16745827-device-state-auto-rotation-preferences-aops
Reason for revert: Checking if reason for test failures
Reverted Changes:
I77ed93f04:Add support for device state based auto-rotation p...
I5b2791f54:Add support for device state based auto-rotation p...
If254220ca:Add support for device state based auto-rotation p...
If254220ca:Add support for device state based auto-rotation p...
Fix: 219652963
Change-Id: Id95d5d7bb18a28403a6d3199945044e6617e0772
- Creates new preferences that are shown when device-state rotation
is supported.
- Hides standard preferences when device-state rotation is supported.
- Controllers/Preferences for individual folded/unfolded rotation
settings are created and added programatically based on the settable
device states available.
Test: Manually + Unit tests
Bug: 195757480
Change-Id: If254220ca3018bc6ec1c4e3947375733f6816f92
IME apps can request users to enable them by directly
launching the on-screen keyboard settings page.
If keyboard settings is launched by works apps, the
current userId would be work userId. There is no managed
profile for work user so the exception happened.
-. Use current userId if it's launched by work user
-. Use primary user info for personal fragment
Fix: 216395439
Test: Manual test with issue steps
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableVirtualKeyboardFragmentTest
Change-Id: Iea573922ee789d9932c0de05bf71179c4f005eeb
Also fix some test cases.
I'd prefer using Robolectric shadows rather than mocking Android
framework classes. However, I can't do that in this CL due to the
lack of multiple shadow classes support.
Test: make RunSettingsRoboTests -j56
ROBOTEST_FILTER=com.android.settings.display.darkmode.*
Bug: 215182463
Change-Id: If557d2933927a5dd0fadd3f6db6bb6f0ab7dd5ee
This adds a config resource to specify whether restricted profiles
should be offered as an option when a new user is added. This replaces
the previous check if a device is voice capable, and will be defaulted
to false.
Bug: 202854971
Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserCapabilitiesTest"
Change-Id: If090fe8d902d6521acfde8c26e801aa4fc4f5ff4
- Add an interface to get highlight menu key resource in Sliceable
- Force implementing the new interface in TogglePreferenceController and
CustomSliceable at syntax level
- Update the slice index db schema
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: I0b5068bccd04f1590023de7f3385bc0a4c6fa47b
Refine launch mode to support 2-pane UX for Settings.
Bug: 197609643
Test: make RunSettingsRoboTests
Change-Id: I5212bbcf8c512fac571284379a29cf487f387c5a
* Use FeatureFactory to improve the search only for google overlay
Bug: 184171842
Test: atest AccessibilitySettingsTest
Change-Id: I93ed52d2579b7da35dba59f9562b6715d13dd80d
Detects the jank of page scrolling which is implemented by
InstrumentedPreferenceFragment.
Bug: 187306869
Test: verify with Perfetto
Change-Id: Icaa557d1b47a12374298f044e2f9568281589f64
Add Game settings page under Apps so that users can access game related
features and toggle settings.
Bug: b/185822999
Test: make ROBOTEST_FILTER=GameSettingsPreferenceControllerTest RunSettingsRoboTests
Change-Id: I923ba70536b7f68b5330a508b8dabf27e33f4c55
The VectorDrawableState would be new memory location to cause the
VectorDrawableState are different.
Bug: 187240532
Test: make RunSettingsRoboTests -j52 ROBOTEST_FILTER=AccessibilityButtonPreviewPreferenceControllerTest
Test: make RunSettingsRoboTests -j52 ROBOTEST_FILTER=FloatingMenuLayerDrawableTest
Change-Id: I33bc9076ee288beb044af29e9974f5f6328f29b8
We move the mode settings because currently there is
only one item in the settings page. To fully test all logic,
we don't use fragament anymore in the controllerTest, and
test the interaction between the controller and the fragment
in the test of these two fragments.
Bug: 182992338
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
atest MagnificationModePreferenceControllerTest
atest MagnificationSettingsFragmentTest
manually test
Change-Id: Ia6b0ea4f116f3215407637d7aeaddb8d8196d8fb
This change applies Shared X-Axis transition across settings pages. For
injected settings, the injected apps have to also apply the same
transition to take effect.
Fixes: 177479937
Test: robotests and navigate through settings pages
Change-Id: I6241860766f5969428faf9a5b3730a7614fdcd92
smart auto rotate settings fragment
Test: locally with flame, make RunSettingsRoboTests -j$(nproc)
ROBOTEST_FILTER=SmartAutoRotateCameraStateControllerTest,SmartAutoRotateControllerTest
Bug: 177462182
Change-Id: If443bd2456f3fbe76876777be912b204a50f4088