Commit Graph

61 Commits

Author SHA1 Message Date
josephpv
927e197db3 Start PrivateSpaceDeleteActivity in full screen on foldables
Screenrecording link:
b/342563741#comment2

Bug: 342563741
Test: Manual
Flag: android.multiuser.fix_large_display_private_space_settings
Change-Id: I428ef4af12e736880313b06e832b58a46b23a08a
2024-07-16 18:48:21 +00:00
Vincent Wang
e9c4adfaf1 Remove package biometric2 from AOSP settings
Flag: EXEMPT Remove legacy code from AOSP
Bug: 351977012
Test: Build pass
Change-Id: I2285ab8cc2776071c329d7432849aeffc28ed8ee
2024-07-11 00:06:41 +00:00
josephpv
b35fa82b3d Launch full screen private space setup on Fold when unfolded
This change takes care to launch the private space setup in whole screen
on Fold device whenever the device is unfolded.

Screenshot: go/ss/6D9EwMaLp7LFbsH.png
Recording: b/324260315

Bug: 324260315
Test: Manual
Change-Id: I5bc7b7c8fbc880b6274ddd287a8a169b49843f1b
2024-04-16 07:28:21 +00:00
Anna Bauza
6346ae2aab Refactor SettingsLib to remove redundant resources conditionally
Bug: 320878675
Test: manual
Change-Id: I21b7cf56c74be759ac95621498b753ac70d143b2
2024-03-29 14:43:51 +00:00
Bill Lin
0bcfc38307 Revert "Prevent full-screen face enroll on tablet"
This reverts commit 812d880ee7.

Reason for revert: Block face enrollment b/316900124

Change-Id: I457ecb7ee8babdc3a15085a1600246b0eff4bd1d
2024-03-15 13:17:40 +00:00
Simon Wingrove
812d880ee7 Prevent full-screen face enroll on tablet
The full-screen flow is preventing ConfirmLock from launching properly.
As an immediate workaround to prevent this, stop launching the intro
enrollment flow as fullscreen.

Test: Manually
Bug: 324018644
Change-Id: I432536fa3a93eebdc8120ee453642e6dee0eff78
2024-02-27 14:40:33 +00:00
Chris Göllner
83f0adc5c0 Settings - Move Activity embedding split min width config to resources
On some devices the values need to be configured to be different than
the default.

Bug: 326215764
Test: Manual
Change-Id: I56a3a6608a4ac4eaf7d7dede4f6cb4278638f29c
2024-02-21 15:14:30 +00:00
Anna Bauza
e6c9a08ab7 Integrating new Avatar Picker App in Settings
Bug: 309426522
Test: manual
Change-Id: Ie5831cec9ebb7a8d5cfabc93300ca2d6cadb944b
2023-12-14 16:01:47 +00:00
Justin McClain
7e837fae82 Remote authenticator enrollment navigation.
This change adds an entry point for Remote Auth enrollment and
navigation through the flow.

Bug: b/293906345
Test: make RunSettingsRoboTests -j40
Change-Id: I9bc803e24c4181ed73a0ef90b171897c677e71d1
2023-08-31 21:24:09 +00:00
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +00:00
Milton Wu
bc2dbee762 [BiometricsV2] Refine fingerprint activities
Seperate FingerprintEnrollmentActivity to another InternalActivity and
SetupActivity. InternalActivity is used for FingerprintSettings.
SetupActivity is used for setupwizard flow.

Bug: 284248001
Test: atest FingerprintEnrollmentActivityTest
Test: atest for biometrics/biometrics2 in unit tests
Test: settingRoboTest for biometrics
Change-Id: I9fb5dc34300060b9ccf857a3335b81a5d4bf5c7b
2023-05-25 06:25:58 +00:00
Chris Li
af2b07b248 Update EmbeddingAspectRatio to the latest
alwaysAllow() is changed to ALWAYS_ALLOW per API Council feedback.

Bug: 270160592
Test: build
Change-Id: I44c7e97932456ec5b5bb0339ee2ee060cb6e42e0
2023-02-22 03:14:54 +00:00
Charles Chen
cf3199fc9e Make Settings show in two-pane on portrait tablet
Test: manual - Change Display size and observe
Bug: 211562623
Change-Id: I0c26a7443882cc28edb5500f8d135c5f00dee515
2023-02-08 18:43:10 +08:00
Jiaming Liu
e65283de6a Fix build for jetpack update
Fix build for jetpack update

Bug: 265818545
Test: build

Change-Id: If48e7338ee560d995cb8bff7b5348ab36c457836
2023-02-03 02:37:42 +00:00
Diego Vela
a9394d1796 Update ActivityEmbedding usage.
Update ActivityEmbedding usage.

Bug: 259592300
Test: build.
Change-Id: I8e4aa8daf51cb9c669d06b152cc5a2fc69a06571
2023-02-03 02:34:20 +00:00
Yong Zhang
a5cdbee7b9 Merge "Adjust AlwaysExpand List so that face detail settings will show in side panel while posture guidance will show full-screen" into tm-qpr-dev am: 6cb1a7ce5a am: f691b4302d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21135024

Change-Id: I45505e8c798e51b36b828f31d0b31046c0c8c0ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-01 00:52:55 +00:00
Yong Zhang
6cb1a7ce5a Merge "Adjust AlwaysExpand List so that face detail settings will show in side panel while posture guidance will show full-screen" into tm-qpr-dev 2023-01-31 23:33:24 +00:00
Chengfei Tao
b5e5100f92 Adjust AlwaysExpand List so that face detail settings will show in side panel
while posture guidance will show full-screen

Test: Manual testing with power cycle
Bug: 263068723
Change-Id: I6d632d08dcb3597cd8470f8d3d34258e4280dc14
2023-01-30 10:17:04 +08:00
TreeHugger Robot
66e23eb89c Merge "5/ Refine SetupChooseLockPattern layout by design" into tm-qpr-dev 2023-01-17 03:56:35 +00:00
lbill
b54ca63996 3-1/ Impl FoldProvider.FoldCallback for Face enroll activities
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
2023-01-09 08:28:26 +00:00
lbill
bbca300b30 5/ Refine SetupChooseLockPattern layout by design
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
2023-01-09 05:30:33 +00:00
Bill Lin
3072c2a571 Merge "5/ Refine SetupChooseLockPattern layout by design" 2023-01-09 04:46:04 +00:00
lbill
7135d36d37 5/ Refine SetupChooseLockPattern layout by design
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
2023-01-07 19:36:47 +00:00
lbill
ee6366761b 3-1/ Impl FoldProvider.FoldCallback for Face enroll activities
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
2023-01-06 19:54:03 +00:00
TreeHugger Robot
8aa8d6314f Merge "Remove isSticky true for SplitPlaceholderRule" into tm-qpr-dev am: fa6f92aa74 am: 2d6e3bb5a7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20549489

Change-Id: I0b3af1b467866320226a02ff37f51d0616d69837
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-23 10:34:44 +00:00
Arc Wang
f6d712c7b7 Remove isSticky true for SplitPlaceholderRule
SplitPlaceholderRule#isSticky determines whether the placeholder
will show on top in a smaller window size after it first appeared
in a split with sufficient minimum width.

This change will show Settings homepage while users rotate
device to portrait mode and show Settings 1-pane UI.

Bug: 256115335
Test: manual visual
      1. Set font size and display size to large.
      2. Launch Setting app in landscape and rotate to portrait.
Change-Id: Ie955f8b8db3bbe42dba6300608774582ef150590
2022-11-23 14:44:53 +08:00
Milton Wu
b9b8b8a512 Fingerprint Introduction FragmentActivity
Introducing MVVM architecture & fragments to biometric settings.
Here, we modify the first page of FingerprintEnrollIntroduction to use
new MVVM with Fragment architecture.

And with this new architecture, unit test and screen order will be
easier to be written or changed.

Bug: 236072782
Test: atest FingerprintEnrollmentViewModelTest AutoCredentialViewModelTest
	    FingerprintEnrollIntroViewModelTest FingerprintRepositoryTest
Change-Id: Icf12c91625db86c2c99081a0108203e607e77f74
2022-11-14 15:36:03 +08:00
Jason Chiu
177573c892 Enhance Settings deep link transition
Since the deep link mechanism uses a trampoline activity to redirect the
target activity, and the targeting activity is launched in a separate
task, there will be two transitions played, where one is the splash
screen with the trampoline acitvity and another one is the task
transition. This makes the UX weird.

To avoid this, this CL tries to make the targeting activity launch in
the same task as the trampoline acitivity by removing the taskAffinity,
so there won't be a task transition.

Fix: 215275940
Test: Create a settings shortcut on the home screen and launch it.
Change-Id: I7621ab9f1132acbf619495801a3b985c5c3b1b5d
2022-03-24 12:42:01 +08:00
Yuri Ufimtsev
b39ab3e1c4 Merge "Register Safety Center as SubSetting for two-pane mode" into tm-dev 2022-03-22 13:41:33 +00:00
Yuri Ufimtsev
be98245015 Declare task affinity for entries that could be launched by SafetyCenter
Test: manual

Bug: 222676668
Change-Id: I44c2f0cee61ffd8f10284cda5a740a9e9d9ea7bb
2022-03-22 10:36:28 +00:00
Yuri Ufimtsev
b2358c6cce Register Safety Center as SubSetting for two-pane mode
Test: manual

Bug: 225166059
Change-Id: I3e6e877154a2ec831ce5f72f0aa8ec67023f09dd
2022-03-22 08:54:16 +00:00
Tsung-Mao Fang
00cbd72c60 Rename back button to navigate up button
A minor wording review.

Test: build pass
Bug: 219000314
Change-Id: I23bc580b193cc891b659514d13705db2c55b756a
Merged-In: I23bc580b193cc891b659514d13705db2c55b756a
2022-03-07 08:47:30 +00:00
Tsung-Mao Fang
2df79641cb Show/hide back button for 2nd page
By design, we want to show/hide back button for 2nd
layer page when it's in two pane mode.

Test: Manual test
Bug: 219000314
Change-Id: I14d8d7ee08280d5ce80c0b59e1e91d077f0b6d09
2022-02-16 18:01:42 +08:00
Oli Lan
2ff9a71878 Merge "Allow the new avatar picker to open full screen on tablets." 2022-01-28 19:09:24 +00:00
Lucas Silva
0128837312 Merge "Make the Settings split ratio configurable." 2022-01-24 16:17:20 +00:00
Oli Lan
78d96dce02 Allow the new avatar picker to open full screen on tablets.
This allows the new avatar picker to open as a full screen activity
on tablet, rather than being embedded in the right-hand pane.

Bug: 215134398
Test: manual, opened avatar picker on tablet
Change-Id: Ide8f81643e90c90850ad93ec802bb557e260baed
2022-01-24 16:03:09 +00:00
Jason Chiu
94a9c57759 [Large screen] Open the search page in full-screen mode
Bug: 205079744
Test: manual
Change-Id: I3ac663b42fc0538dcb20d53f456b90ea68c9093d
2022-01-24 12:21:58 +08:00
Lucas Silva
fab78665d8 Make the Settings split ratio configurable.
This new config will be overlayed in titan devices to update the split
ratio to 30/70

Bug: 215707431
Test: locally on device
Change-Id: I7bd193d7516939f5c4d434cd3333456c20e53a91
2022-01-21 23:00:29 +00:00
Jason Chiu
a305c23f5e Revise homepage highlight mechanism
- Create TopLevelHighlightMixin to handle highlight actions and simplify
  TopLevelSettings
- Fix the error highlight and the flicker after screen rotation
- Postpone creating the fragment until it's needed to accelerate the
  initialization and to fix the search highlight function breakage after
  toggling light/dark mode
- Register activity embedding rules only once for injection and
  wallpaper
- Do not highlight Tips & support since it's full screen
- Refactor ActivityEmbeddingRulesController

Bug: 207316936
Test: manual, robotest build pass
Change-Id: If322ec180b03ee123987c70779a25c6a570d9faf
2021-12-03 12:04:48 +08:00
Charles Chen
a8c97980a6 Fix different behaviors of deeplink in one/two pane
Test: manual - Reproducible steps mentioned in bug
fixes: 207740082
Change-Id: I1163e38c177307ccac8798eb649271d0466ab1c8
2021-11-26 07:54:42 +00:00
TreeHugger Robot
ee18babe99 Merge "Fix abnormal behavior on search page" into sc-v2-dev 2021-11-23 09:38:20 +00:00
Tsung-Mao Fang
0e03b12d60 Fix abnormal behavior on search page
Prior to this cl, if user opens settings app
in single-pane first and navigates to
the search page, then rotate the device,
user observed the search page was still shown
with full screen.

Because we didn't register correct split rule,
it causes the abormal behavior on two-pane mode.
In order to register correct rule,  we also need
to assign correct component name while opening the
search page.

Fix: 206896763
Test: Rebuilt apk and verify the behavior
Change-Id: I7343467aa716d71da63f2ad0a034dc6c1b7fd415
2021-11-23 16:32:32 +08:00
Yi-Ling Chuang
488211c752 Make fingerprint registration flow full screen
Since the fingerprint registration sometimes has a hardware dependency,
to bring a better UX, make the flow full screen on large screen devices.

Bug: 197717071
Test: Try to register a new fingerprint and see the pages are full
screen.

Change-Id: I5dcb720a8b6a58bd9fc67ecae35f730c20a2c4d3
2021-11-23 11:39:43 +08:00
Jason Chiu
a3b21cf017 Start deep link page synchronously in SettingsActivity
- Use a synchronous API to make SettingsActivity start deep link intent
  in onCreate
- Change SettingsHomepageActivity from an alias to a real activity
- Clean up redundant codes

Fix: 206585572
Test: Manual, robotest build pass
Change-Id: Idf42c026f593bb5801a13cae250d1523030b7092
2021-11-18 12:20:08 +08:00
Jason Chiu
c144f7bb89 Merge "Support highlighting the menu entry for Search results" into sc-v2-dev 2021-11-16 07:28:32 +00:00
Jason Chiu
3af73364ba Support highlighting the menu entry for Search results
1. Add a receiver to monitor the search state
2. Shoe/hide the menu highlight in the listener
3. Highlight the menu entry in SearchResultTrampoline
4. Enable/disable the receiver in SettingsInitialize

Bug: 205781792
Test: manual, robotest
Change-Id: Ia04901f504172f4f0c7b4b2ea7eda5f3713f676d
2021-11-11 14:33:26 +08:00
Andrii Kulian
8061973e3d Sticky placeholder and adjacent finish rule in Settings
Bug: 204829538
Test: Open Settings in landscape in two panes, rotate to portrait to stack, rotate back to split
Change-Id: I5790962051d0b01902f3b50e958848eff7cf7334
2021-11-09 22:32:58 -08:00
Arc Wang
82eeacf275 [Large screen] Set SplitPairRule for DeepLinkHomepageActivity
Setting app should set SplitPairRule for all the alias of
SettingsHomepageActivity to handle all the different
launch cases.

Bug: 204156913
Bug: 204399375
Test: manual
      1. Launch settings in unfold screen
      2. Fold screen
      3. Launch wallpaper app
      4. Unfold screen
Change-Id: I3ad33a750ef19390bc8dc3fb4dc6f1c80630d57f
2021-11-05 08:33:59 +00:00
Tsung-Mao Fang
b3db40a02b Register rule for wallpaper entry
We should keep consistent split rule for wallpaper and other home menu
item. So, we create this cl to register the split rule for wallpaper.

Also, I do some minor refactoring in this cl for reusing existing
method and better code quality.

Test: Go to wallpaper, and click back key. App can close.
Fix: 204406425
Fix: 204364572

Change-Id: Ia7de9483b351d1121cc26c4af1cb8a89ad0a16bc
2021-11-04 18:48:59 +08:00
Jason Chiu
e1ec69fa1a Merge "[Large screen] Make slice deep linking to Settings show in 2-pane" into sc-v2-dev 2021-11-01 02:10:21 +00:00