Commit Graph

14009 Commits

Author SHA1 Message Date
Jason Chiu
d0b0aeb2ba Merge "Refine permission check process of 2-pane deep link" into tm-qpr-dev 2023-04-06 02:24:16 +00:00
Jason Chiu
4f7205b2ea Refine permission check process of 2-pane deep link
- Check the deep link activity instance before redirecting to the
  internal activity for the managed profile invocation, so the caller
  can't bypass the permission check.
- Get the referrer as the caller so that onNewIntent can recognize the
  new caller and check if it has a permission to open the target page.

Test: robotest & manual
Bug: 268193384
Bug: 272437506
Change-Id: Ie69742983fb74ee2316b7aad16461db95ed927c2
Merged-In: Ie69742983fb74ee2316b7aad16461db95ed927c2
2023-04-06 02:22:45 +00:00
TreeHugger Robot
5bde972e4e Merge "Restrict DataUsageList for guest user" into tm-qpr-dev 2023-03-30 19:08:44 +00:00
TreeHugger Robot
b6399c95b3 Merge "Restrict DataUsageSummary for guest user" into tm-qpr-dev 2023-03-29 19:52:27 +00:00
TreeHugger Robot
23c17977fb Merge "Revert "Disallow screenshot on Wi-Fi QR code settings"" into tm-qpr-dev 2023-03-29 19:51:37 +00:00
Weng Su
6e79778d3c Restrict DataUsageList for guest user
- Don't show DataUsageList if the user is a guest

Bug: 262741858
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageListTest

Change-Id: Id877c2235c6a65683f2d0a0ba381dffba4dd95b8
2023-03-29 21:44:55 +08:00
Weng Su
3abf4d9d5f Restrict DataUsageSummary for guest user
- Don't show DataUsageSummary if the user is a guest

Bug: 262243574
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryTest

Change-Id: I94d0fd18a81dc0f0adba544340e648d58c5d3358
2023-03-29 18:12:44 +08:00
Weng Su
cc53f44d49 Revert "Disallow screenshot on Wi-Fi QR code settings"
This reverts commit 950837b20f.

Reason for revert: The security issue is downgraded to NSI, remove the screenshot protection to rollback the original design.

Change-Id: Iecaf7e4e19dc3452a7d2aeaf32bf38619e760c76
2023-03-28 19:30:11 +00:00
Josh Hou
d06d826549 Merge "[Panlingual] Can't set per-app languages for apps on work profile page" into tm-qpr-dev 2023-03-23 05:39:19 +00:00
Wu Ahan
3a2ef6db2f Merge "Use GlifLayout#setDescriptionText in SetupChooseLockGenericFragment" into tm-qpr-dev 2023-03-22 03:46:30 +00:00
Milton Wu
1d68fbf007 Merge "Launch Face Settings when device enrolled face" into tm-qpr-dev 2023-03-22 00:26:50 +00:00
lbill
c7dd729a43 Launch Face Settings when device enrolled face
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
2023-03-21 19:10:57 +00:00
Josh Hou
7076cbc015 [Panlingual] Can't set per-app languages for apps on work profile page
Use startActivityAsUser instead of startActivity API to start the AppLocalePickerActivity of different users

Bug: 274378136
Test: 1. Perform AppLocalePickerActivityTest robolectric test
      2. Perform the manual test by switching different users
      3. Perform the manual test by switching different profiles
Change-Id: I0dfc40b29a7a35f18f6bcffd22fb421c6ad9c230
Merged-In: I4405b3b7e832b71b9ef66fa71d9e42ce12da167c
2023-03-21 11:03:27 +00:00
Ahan Wu
ae84ac3530 Use GlifLayout#setDescriptionText in SetupChooseLockGenericFragment
1. Use GlifLayout#setDescriptionText to align UX.
2. Remove redundant layout resources.
3. Add two new robotests.

Bug: 236948821
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SetupChooseLockGenericTest
Test: Check UI manually
Change-Id: I85cc984527fcc746e835d8fa508e78c96dfdcb94
2023-03-21 06:27:51 +00:00
Lucas Silva
148f1592ef Merge "Add home controls button to screensaver settings" into tm-qpr-dev 2023-03-14 21:47:03 +00:00
Behnam Heydarshahi
17701cd976 Merge "Extend settings panel under navigation bar" into tm-qpr-dev 2023-03-14 18:54:48 +00:00
Andreas Miko
30bf66db42 Add setting to disable PIN animation and password
Test: Unit - atest SettingsRoboTests
Test: Manual - Set PIN lock and enabled/disabled the setting to observe animation change during PIN entry
Bug: b/204799468
Merged-In: I587b993ef5515a075442e82ebafae88bebdffc20
Change-Id: I587b993ef5515a075442e82ebafae88bebdffc20
2023-03-14 02:27:51 +00:00
Candice Lo
91eab671d1 Merge "Set the settings key when the font size is changed" into tm-qpr-dev 2023-03-13 06:51:27 +00:00
Behnam Heydarshahi
806297f85c Extend settings panel under navigation bar
The panel used to sit above the navigation bar. Now it extends down all
the way to the edge of the screen.

Bug: b/250484565
Test: make ROBOTEST_FILTER=SettingsPanelActivityTest RunSettingsRoboTests -j40
Test: Manual. When volume panel is opened, verify that it extends all
the way to the bottom of the window, instead of sitting on navigation
bar. Panel can be opened with:
adb shell am start -a android.settings.panel.action.VOLUME
Substitute VOLUME with NFC and WIFI for the other settings panels.

Change-Id: Ibae5d3602231e2309b5ff847c630a1f8c82ea355
2023-03-10 18:30:08 +00:00
Lucas Silva
4ace76e6c2 Add home controls button to screensaver settings
Toggle will allow users to disable showing home controls over their
screensaver.

Bug: 271330583
Test: make -j64 RunSettingsRoboTests
Change-Id: I9600cdb85d85253c859c88f12c1d074e1082bf97
2023-03-09 14:58:26 -05:00
Diya Bera
8ceded494f Remove subtext when enrollment stage changes
Bug: 272145668
Test: Manual (Try enrolling fingerprint in UDFPS, the subtext should
disappear when lottie asset is introduced)

Change-Id: I912ff2b32644d05cc189105ae1679fa14b04a1ef
2023-03-08 23:00:47 +00:00
Candice Lo
f19f710b01 Set the settings key when the font size is changed
The key ACCESSIBILITY_FONT_SCALING_HAS_BEEN_CHANGED will be always ON
after users modify the font size for the first time.

Bug: 269679768
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FontSizeDataTest
Change-Id: I5967227ce05d5b8bf37dfec9aafa015c5cacbd30
Merged-In: I382e4ecd3c335d7b046f157cedc093fc40c3a77a
2023-03-07 15:56:58 +00:00
Diya Bera
327eaf16fb Removed subtext from side fps enrollment flow
Test: Manual (Try to enroll your fingerprint in a side fps device, and
observe that there is no subtext in landscape mode)
Bug: 267271891

Change-Id: Iba4c13e8083ecb92f8033882af9147f14071e726
Merged-in: Iba4c13e8083ecb92f8033882af9147f14071e726
2023-03-02 18:42:02 +00:00
Darrell Shi
6b6c68fd94 Merge "Hide "additional info" when active dream does not support." into tm-qpr-dev 2023-02-24 16:10:13 +00:00
TreeHugger Robot
694742152d Merge "Reduce jank on DND apps page" into tm-qpr-dev 2023-02-21 18:15:25 +00:00
menghanli
e1ce633dd4 fix(tablet assets): update a11y button navigation asset for tablets
Fix: 269707768
Test: Go to Settings > Accessibility > Accessibility shortcuts > Accessibility button > Location to "Navigation bar".
Change-Id: I2d56a104848c93d8e6d138c849d05b4a77388c3b
2023-02-18 08:43:36 +08:00
Julia Reynolds
9f7af5946e Reduce jank on DND apps page
1) Remove call to redisplay the api when registering our app listener -
this meant all preferences were always removed/readded on page load
because the app list isn't ready at that time
2) Stop rebuilding the UI for events we don't care about
3) Keep existing preferences when possible and just do the diff of prefs
that need to be added/removed

Fixes: 234298144
Test: ZenModeAddBypassingAppsPreferenceControllerTest
Test: ZenModeAllBypassingAppsPreferenceControllerTest
Test: manually view page; add & remove apps that have dnd breakthrough
Change-Id: I57b36d36135dd25d1d2fd73073cf6b7a033659a6
2023-02-17 13:39:19 +00:00
TreeHugger Robot
1692714346 Merge "RESTRICT AUTOMERGE Fix certain Accessibility Settings subpages use wrong resources" into tm-qpr-dev 2023-02-17 09:02:46 +00:00
Darrell Shi
86113ae01f Hide "additional info" when active dream does not support.
Only show the "additional info", which displays dream complications,
when supported by the user selected dream.

Test: make -j86 RunSettingsRoboTests
ROBOTEST_FILTER="com.android.settings.dream.DreamSettingsTest"
Test: verified on device switching between different dreams
Bug: 223860510
Fix: 223860510

Change-Id: I63872ea9ab9f42be47f8e2f7c3835b55056e6588
2023-02-17 00:40:02 +00:00
menghanli
3fba0ee402 RESTRICT AUTOMERGE Fix certain Accessibility Settings subpages use wrong resources
Root cause: Portrait mode does not always respect the sw600dp qualifier and instead uses the phone (default) resources.
Solution: Using the product to customize the tablet and phone cases is better way than using the configuration qualifier.

Bug: 269130587
Test: Manual testing
Change-Id: I90cc44f1e9bccf8950a4d89f70119ba5e3c0bfdc
(cherry-pick of commit bea25c7513)
2023-02-16 05:59:01 +00:00
Behnam Heydarshahi
d9c3cf855f Muting ring volume slider disables notification
With volume_separate_notification flag enbaled, muting ring volume
slice will cause notification volume slice to gray out.

There used to be a bug in which notification slice would not get
updated in response to a change in ring volume mute/unmute broadcast.
The resulting erroneous behavior was notification slider would get to
zero but not get grayed out. To fix that bug, VolumeSliceHelper listens
to ring stream mute/unmute broadcasts and forwards them to notification
slice.

Bug: b/266072907
Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER="NotificationVolumePreferenceControllerTest|VolumeSliceHelperTest" RunSettingsRoboTests -j40

Change-Id: I2ab51f1272bf99a0c3d9ca285354052d00910c90
2023-02-15 15:43:08 +00:00
Behnam Heydarshahi
d89de47399 Merge "Propagate mute event to both ring volume slices" into tm-qpr-dev 2023-02-15 14:28:15 +00:00
menghanli
991b70c720 Add a done button to vision setting pages in setup flow
Root cause: User feels confused because the particular screen doesn't have a back button but at that moment of the setup flow the regular UI gestures didn't even work.
Solution: Add a done button to the vision settings pages for clearer navigation. This change combines parts of commit 5e931b2c23 and commit dd2ec775c8.

Bug: 262995569
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FragmentForSetupWizardTest
Change-Id: Id3a0d78389e0e6c11b5b5cf016b37673fde7f286
Merged-In: Id3a0d78389e0e6c11b5b5cf016b37673fde7f286
(cherry picked from commit dd2ec775c8)
2023-02-15 06:32:57 +08:00
Behnam Heydarshahi
236bbcb8bc Propagate mute event to both ring volume slices
Fix a bug where introduction of a separate_ring_volume slice meant that
the original ring_volume slice would not get notified of ring stream
muting event.

Bug: b/266855922

Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER=VolumeSliceHelperTest RunSettingsRoboTests -j40
Change-Id: Ifb5ebe4e7d9bde3d14336891cce3fbee167a5911
2023-02-13 14:50:27 +00:00
Diya Bera
7eb40da9c4 Add animation for progress bar and lottie in fingerprint enrollment
Test: Manual - While enrolling a fingerprint, onHelp will cause the
lottie and progress bar to shake
Bug: 266838595

Change-Id: I547d86182a87846aca7d025b35a008675f449e2e
Merged-in: I547d86182a87846aca7d025b35a008675f449e2e
2023-02-07 22:48:55 +00:00
Josh Hou
1739114d44 Merge "Fix the security vulnerability issue in AppLocalePickerActivity" into tm-qpr-dev 2023-02-02 00:15:12 +00:00
Diya Bera
1021b58ae5 Tests for SUW in work mode
Bug: 247049655
Test: m RunSettingsRoboTests -j30 ROBOTEST_FILTER=MultiBiometricEnrollHelperTest
Change-Id: Ifabb96a90c340bc9306cc0f033ba103c614f32a9
2023-02-01 22:05:09 +00:00
Josh Hou
5d7d1665fe Fix the security vulnerability issue in AppLocalePickerActivity
Examine whether the packages is allowed to display app locales list when creating the AppLocalePickerActivity, and examine whether the target user is the same as the calling user.

Bug: 257954050
Test: Follows the test step listed in b/257954050#comment14
Change-Id: I2e25a308bcba6ea0edee89c7a78465f766bdbeac
Merged-In: I2e25a308bcba6ea0edee89c7a78465f766bdbeac
2023-02-01 15:42:22 +08:00
Steve Elliott
f127bc13b0 Setting to control seen notification filtering
Test: manual
  1. adb shell settings put secure \
     lock_screen_show_only_unseen_notifications <0|1>
  2. Settings > Notifications > General > Show only new notifications on
     lock screen
  3. Toggle setting
  Observe: if setting is enabled, seen notifications are filtered from
           the lockscreen, and vice versa
Bug: 254647461
Change-Id: I4f6e35a1d918095cea25a97f72ddd08869ad9b31
2023-01-19 22:22:30 +00:00
TreeHugger Robot
66e23eb89c Merge "5/ Refine SetupChooseLockPattern layout by design" into tm-qpr-dev 2023-01-17 03:56:35 +00:00
Behnam Heydarshahi
cf022d4537 Merge "Ring & notif vol missing on a largescreen device" into tm-qpr-dev 2023-01-12 16:15:27 +00:00
Josep del Río
98bfab5f23 Merge "NEW Use Mockito 4.6.1 API" into tm-qpr-dev 2023-01-12 14:17:44 +00:00
Bill Lin
34d144265d Merge changes from topics "disable_face_enroll_inSUW", "tuscany_FaceEnrollFoldPage" into tm-qpr-dev
* 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
2023-01-12 06:47:45 +00:00
Sorin Basca
a962b4b712 NEW Use Mockito 4.6.1 API
Addressing skipping merge issue

Bug: 236636175
Test: atest SettingsRoboTests
Change-Id: Ie7caae0ea9aa212f1ee06d6fe89fa0776979e4e6
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2023-01-12 01:35:44 +00:00
Behnam Heydarshahi
18469d2975 Ring & notif vol missing on a largescreen device
Before:
"Ring & notification volume" showed up in volume panel and in volume
settings.

Now (what prompted this bugreport):
A device config was changed to mark it not voice capable.
"Ring & notification volume" disappeared from both places;
"Notification volume" showed up only in volume settings, not panel.

Fix: the voice capable should not be a factor when determining
availability for ring/notification slices.

After this fix is applied:
"Ring & notification volume" to reappear at both settings and panel.

Bug: 256548882

Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER="VolumePanelTest|RingVolumePreferenceControllerTest|NotificationVolumePreferenceControllerTest|SeparateRingVolumePreferenceController" RunSettingsRoboTests -j40

Change-Id: Ie2b1913bde6a64303c4d9fde3724889f949c363b
2023-01-11 22:14:29 +00:00
Joshua McCloskey
b8695b8e76 Added performant auth feature
Test: Manually verified in settings that the performant auth
feature(fingerprint) is disabled by default
Bug: 261216422
Bug: 265031172

Change-Id: I6422b12f801d038fa514758eca34efcbfdeef27a
2023-01-11 16:43:54 +00:00
TreeHugger Robot
61f81ffb07 Merge "Update wallet setting availability" into tm-qpr-dev 2023-01-11 14:54:39 +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
Milton Wu
8e57808247 Fix face enroll introduction crash after 10mins
When requestGatekeeperHat() throws exception in FaceEnrollIntroduction
page, remove gk_pw_handle and recreate activity to trigger confirmLock.

Test: robotest for FaceEnrollIntroductionTest
Bug: 234437174
Change-Id: Ie1dd6f36e4deb3f776e3b39acd165fc47d04f526
Merged-In: Ie1dd6f36e4deb3f776e3b39acd165fc47d04f526
2023-01-09 07:38:59 +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