To extract face_enroll_education.xml layout dimensions to dimens.xml
1. Fix settings face enrollment UI truncate problem
2. Fix It's hard to tap "setup for limited vision or head motion"
button
Bug: 260653042
Bug: 263065347
Test: manually go to Settings > Security & privacy > Device lock >
Face & Fingerprint Unlock > Face Unlock, then start enroll Face,
In second stage ("How to set up Face Unlock" page ), check the layout
and lottie animation do not truncate.
Test: m -j SettingsGoogleRoboTests RunSettingsGoogleRoboTests
Test: m RunSettingsRoboTests ROBOTEST_FILTER=
"com.android.settings.biometrics.face.FaceEnrollEducationTest"
Test: m RunSettingsRoboTests ROBOTEST_FILTER=
"com.android.settings.biometrics.face.FaceEnrollIntroductionTest"
Change-Id: I7d7bad8b91dd505772e8f2b28cb4b872a4750cb4
In these xml files we are having nested GlifLayout, that I think
messes up the UI
Bug: 237169259
Test: Manual
Change-Id: I9df8b1b7b5c19c61b92b30432bc7d78325876425
(cherry picked from commit 3dcf68f321)
Merged-In: I9df8b1b7b5c19c61b92b30432bc7d78325876425
* changes:
3-1/ Impl FoldProvider.FoldCallback for Face enroll activities
2-1/ Add config_suw_support_face_enroll to customize SUW face enroll flow
Fix face enroll introduction crash after 10mins
Test: Manually verified in settings that the performant auth
feature(fingerprint) is disabled by default
Bug: 261216422
Bug: 265031172
Change-Id: I6422b12f801d038fa514758eca34efcbfdeef27a
Using LayoutPreference here makes list look like abrupt, we would like
to switch to normal Preference to align listitem style.
Bug: 265062898
Test: atest ImportanceResetPreferenceControllerTest -c
Change-Id: I93961de148915699d2cba46bdba71e667e8ea10a
Changed the dialog title for error UNABLE_TO_PROCESS
Test: Manual (check the error dialog associated with the errMsgId)
Bug: 261886132
Change-Id: I86bf31d363625a3138676a64e7356c9fecb178d8
Create a mechanism to allow OEM config posture guidance with
'config_face_enroll_guidance_page', and customize the config
'config_face_enroll_supported_posture' with standard postures
0 : DEVICE_POSTURE_UNKNOWN
1 : DEVICE_POSTURE_CLOSED
2 : DEVICE_POSTURE_HALF_OPENED
3 : DEVICE_POSTURE_OPENED
4 : DEVICE_POSTURE_FLIPPED
For example, if we set 1 for the device, then device only
allow to enroll face in closed(folded) state, if device do
not in the allow state, we will prompt specific guidance
page activity defined in config_face_enroll_guidance_page.
At this stage , we only integrate 2 states OPENED/CLOSED through
ScreenSizeFoldProvider and register for onFoldUpdated() callback
- isFold(DEVICE_POSTURE_CLOSED): finish posture guidance
- !isFold(DEVICE_POSTURE_OPENED): launch posture guidance
- onActivityResult : reset mOnGuidanceShown false
1. Fix A11y lottie animation bug
2. Impl FoldProvider.FoldCallback
3. Register callback to ScreenSizeFoldProvider
4. Integrate back stack, skip, cancel events
- Back key : RESULT_CANCELED
- Skip btn : RESULT_SKIP
- Posture changed : RESULT_FINISHED
5. Set single instance for relative activities
6. FaceEnrollFoldPage listen for onConfigurationChanged()
7. Add empty face_posture_guidance_lottie.json for overlay
Test: atest SettingsGoogleUnitTests
Test: m -j SettingsGoogleRoboTests RunSettingsGoogleRoboTests
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
"com.android.settings.biometrics.face.FaceEnrollEducationTest"
Test: m RunSettingsRoboTests ROBOTEST_FILTER= \
"com.android.settings.biometrics.face.FaceEnrollIntroductionTest"
Test: Manual launch security settings face enroll, unfold device
and observe posture guidance showing fullscreen on top
Test: Fold device ensure the posture guidance activity finish
Bug: 261141826
Fixes: 231908496
Change-Id: Ib9f43f82f7d19f3f187c2f6f8984e76cd843afbc
Merged-In: Ib9f43f82f7d19f3f187c2f6f8984e76cd843afbc
1. Add config_suw_support_face_enroll default is TRUE
2. Impl FaceFeatureProvider to obtain the config
3. Overlay config_suw_support_face_enroll by requirements
Test: Flash build and manual check if device go through face enroll in SUW
Bug: 262469686
Change-Id: I61aa5c818bedfb490f2172a7481f59fda7295c1a
Merged-In: I61aa5c818bedfb490f2172a7481f59fda7295c1a
Since the SetupChooseLockPattern include header icon
header title, header sub-title, pattern state description,
LockPatternView and FooterBar, there was a limited room
for LockPatternView especially in the confirm steps which
both header title and pattern description occupy 2 lines space.
Hance the PatternView size used to inconsistence in-between
1st draw and 2nd confirm draw, besides it's visual looks
jumping and small on some device which have smaller display.
This solution includes 3 changes:
1. Organized the pattern view message to leverage
header sub-title view, then we can resever more space.
(Set minHeight=2 for sub-title)
2. Set screen_lock_options button visibilty to GONE when
the stage in 2nd confirmation.(Previously it's INVISIBLE
and reserve additional space)
3. Let LockPatternView align bottom of FrameLayout to prevent
the view juming and flicker.
4. Clean up unused forAnyBiometric flag and code.
5. GlifLayout.getDescriptionTextView() == mHeaderView
Need setDescriptionText() to make the view from GONE -> VISIBLE
6. Polish the stage flow and ensure IntroductionStage show
correct message
7. Add ChooseLockPattern into embeded activity white list
Force show ChooseLockPattern in fullscreen in case the Pattern
view truncated in `NeedToConfirmStage` where the title showing
2 lines and push pattern view down, and get bad UX in the
device which integrate a shorter display.
8. Add test cases for all stage and polish legacy test code.
Test: make RunSettingsRoboTests ROBOTEST_FILTER= \
"com.android.settings.password.SetupChooseLockPatternTest"
Test: make RunSettingsRoboTests ROBOTEST_FILTER= \
"com.android.settings.password.ChooseLockPatternTest"
Bug: 249974175
Bug: 260027850
Change-Id: I868af9b14ba99af5d78a05f6c2a570ccc07aea15
1. Set biometric_auth_pattern_view_size: 348dp (portrait)
2. Set resilience size 248dp~348dp for landscape mode
biometric_auth_pattern_view_(max_)size
3. Set 348dp size for sw410dp when display density < 560
Set 248dp-348dp resilience size for sw410dp-land
4. Add sw392dp sw392dp-land with density 440 projects
5. Set sw600dp/sw720dp/sw800dp for large screen device
6. Reference dimen biometric_auth_pattern_view_size in style
7. Remove redundant dup AuthCredentialPatternContainerStyle
8. Remove max & min bounds from AuthCredentialPatternContainerStyle
9. Remove unused choose_lockscreen_min_height dimen
10. Reduce footerText min hight to reserve more space for pattern view
Bug: 234847272
Bug: 243008023
Bug: 243699695
Test: manual
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER=\
ChooseLockPatternTest
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER=\
SetupChooseLockPatternTest
Change-Id: Icfc2932279aa9e3a065030dbb7ff73f12ed6d081
Merged-In: Icfc2932279aa9e3a065030dbb7ff73f12ed6d081
Bug: 243902048
Test: manual - check that the illustration on tablet is shown
- check that switching between dark and light theme
updates the illustration
- do above on phone
Change-Id: Idcc3660be287ed26a231813001de0517481ef514
When ring volume is separated from notification, a new xml preferece and
controller is needed for it, so that the settings search can show/hide
the slice correctly.
1. Use a separate preference and controller for ring volume (vs ring &
notification combined)
2. Notification slice in settings no longer grays out when ringer mode
is set to mute or vibrate.
3. Introduce an abstract RingerModeAffected preference controller class
to factor out duplicate code among ring, notification, and separate-ring
controller classes.
Bug: b/259084354
Test: make ROBOTEST_FILTER=RingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
make ROBOTEST_FILTER=SeparateRingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
make ROBOTEST_FILTER=NotificationVolumePreferenceControllerTest
RunSettingsRoboTests -j40
make ROBOTEST_FILTER=VolumePanelTest RunSettingsRoboTests -j40
make
ROBOTEST_FILTER=RingerModeAffectedVolumePreferenceControllerTest -j40
Known Issue:
1. When streams are separate and ring volume set to mute/vibrate,
notification is set to zero, but not disabled. So it can be turned on
by user (and in settings the icon will stay mute/vibrate instead of
changing to the normal notification icon).
2. In the above scenario after notification is unmuted in settings,
the notification icon continues to stay vibrate/mute -- should change
to the normal notification icon.
Note: This feature is controlled using a boolean DeviceConfig flag:
systemui/"volume_separate_ring". The default value is 'false', which is
meant to keep the experience the same as before. It will be set to
'true' for teamfood and dogfood. Eventually the flag will be removed and
the code in the 'true' branch will prevail.
Change-Id: Ibec871eafeef4081e96c5e0dd04535565d50a077