Commit Graph

43332 Commits

Author SHA1 Message Date
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
Behnam Heydarshahi
673e191e98 Merge "Always index RingerModeAffected slices" into tm-qpr-dev 2023-01-17 14:30:49 +00:00
TreeHugger Robot
66e23eb89c Merge "5/ Refine SetupChooseLockPattern layout by design" into tm-qpr-dev 2023-01-17 03:56:35 +00:00
SongFerng Wang
f71b548285 Merge "Revert "[MEP] psim->esim, don't skip carrierConfigChanged with subId -1"" into tm-qpr-dev 2023-01-16 07:44:37 +00:00
SongFerng Wang
fe5978cde1 Revert "[MEP] psim->esim, don't skip carrierConfigChanged with subId -1"
This reverts commit 078ecbd765.

Reason for revert: The in-market device have error by some unknown reasons at b/264371574. To revert it, then the settings wait the 25s, it can protect the system has enough time for enabling esim.

Change-Id: Ic17380f549c764306851ad5cba6360f68df9b9b5
2023-01-13 04:18:34 +00:00
Behnam Heydarshahi
1c3a9421a7 Always index RingerModeAffected slices
When indexing slices, SliceDataConverter makes an exception for
RingerModeAffected slices. They can be !isAvailable() but still be
added to the list of slices.

Bug: 259084354

Test: Manual. Enable systemui DeviceConfig flag
volume_separate_notification. Open volume dialog.
Verify that ring & notification slice is split into ring slice and
notification slice.

Change-Id: Iaab30154025cd082b388c412da6ecd573b8d6fcf
2023-01-12 22:25:27 +00:00
Diya Bera
6c703e12ae Merge "Change in Fingerprint Error Dialog in Enrollment" into tm-qpr-dev 2023-01-12 19:30:05 +00:00
Mady Mellor
912ace3032 Merge "Add a tablet specific illustration for bubble settings screen" into tm-qpr-dev 2023-01-12 18:16:04 +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
Behnam Heydarshahi
9d63dc8b6e Merge "Fix Maps PIP issue: DeviceConfig permission denial" into tm-qpr-dev 2023-01-12 16:14:15 +00:00
Bill Lin
3959e27ec1 Merge changes from topic "pattern-view-size" into tm-qpr-dev
* changes:
  3/ SUW lib Glif and theme add additional padding in sud_layout_content
  2/ Define pattern view size by UX deck
2023-01-12 07:56:23 +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
Diya Bera
dc071e94cd Merge "Fixes background color in SUW fingerprint enrollment" into tm-qpr-dev 2023-01-11 23:52:35 +00:00
Joshua Mccloskey
7b8bddaac0 Merge "Fixed scroll issue w/ FP settings" into tm-qpr-dev 2023-01-11 23:43:54 +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
Behnam Heydarshahi
acea45544e Fix Maps PIP issue: DeviceConfig permission denial
Problem:
Exception thrown when maps was in PIP mode.

Solution:
Use Binder to give permission to Settings reading device config
SEPARATE_VOLUME_NOTIFICATION.

Bug: 261809910
Test: Manual. (from bug report) Launch Maps and navigate to a place.
Minimize maps app. Open Settings. Should open normally and not crash.

Change-Id: I38735ebc7d555ead54e3aa77b50e4a7077fe452b
2023-01-11 22:10:23 +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
Behnam Heydarshahi
ee56e95f90 Merge "Implement a separate controller for ring volume" into tm-qpr-dev 2023-01-11 14:08:01 +00:00
TreeHugger Robot
fb0986623f Merge "Fix Content Capture service starting after restriction" into tm-qpr-dev 2023-01-11 11:05:12 +00:00
TreeHugger Robot
ecb7c54fc5 Merge "Fix html injection in Autofill confirmation dialog" into tm-qpr-dev 2023-01-11 11:05:07 +00:00
Joshua McCloskey
3e0f8365f5 Fixed scroll issue w/ FP settings
Test: Verified fingerprint preferences are not shown over the fingerprint title when device is rotated in settings screen
Fixes: 259338792
Change-Id: Ie99e584247bb52b097e949d0c8c0ed096543aa21
2023-01-11 02:04:41 +00:00
Diya Bera
df0bddb516 Change in Fingerprint Error Dialog in Enrollment
Changed the dialog title for error UNABLE_TO_PROCESS

Test: Manual (check the error dialog associated with the errMsgId)
Bug: 261886132
Change-Id: I86bf31d363625a3138676a64e7356c9fecb178d8
2023-01-10 20:13:27 +00:00
Diya Bera
00dfcd83dc Fixes background color in SUW fingerprint enrollment
Test: Manual (Enroll fingerprint in SUW, background color remains the
same)
Bug: 246231650
Bug: 250464527

Change-Id: Iffd1543d8b230199c3b925c6538bd418a381c96a
2023-01-09 23:52:34 +00:00
Lucas Silva
e33639f117 Only show communal settings to the primary user
Fixes: 264284347
Test: flashed device, and verified settings don't appear for secondary
user. Setting still appears for primary user
Test: atest CommunalPreferenceControllerTest

Change-Id: I6686ce4dbc7d708a93131620ae93c5e0dc323995
2023-01-09 15:15:27 +00:00
TYM Tsai
be9cb36c6e Fix html injection in Autofill confirmation dialog
AutofillService can inject html in its label. The label will
be padded with line breaks which puts the warning off screen.
To fix the issue, disable html injection of the label.

Bug: 216117246
Test: Manual, check the label of the sample in
      the confirmation dialog
Change-Id: I244d8e9eadbacae6af615d1d2a5a99c86e4fa456
2023-01-09 08:35:56 +00:00
TYM Tsai
a1ca72224d Fix Content Capture service starting after restriction
When a device owner and a profile owner restrict Content Capture,
there should be no toggle setting to turn on Content Capture.

Bug: 250573776
Test: Manual. Use setps on the comment#3,
      make sure no toggle setting in the Privacy page.
Change-Id: Ia17f852b224c67b9c1cf5846ee9ad5592a485bab
2023-01-09 08:34:40 +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
e05697fc65 2-1/ Add config_suw_support_face_enroll to customize SUW face enroll flow
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
2023-01-09 08:27:48 +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
lbill
fbed9b87ce 3/ SUW lib Glif and theme add additional padding in sud_layout_content
Temporary remove the redundant padding from ChooseLockPattern and
ConfirmLockPattern as a workaround solution.

Bug: 243008023
Test: make and check visual on foldable
Test: make RunSettingsRoboTests
Change-Id: I0baa2be65b797ca70f9de43bc8c5e3187a2d28ad
Merged-In: I0baa2be65b797ca70f9de43bc8c5e3187a2d28ad
2023-01-09 05:30:33 +00:00
Betty Chang
cfc1569f12 Merge "Change the intent flag to immutable" into tm-qpr-dev 2023-01-07 07:23:02 +00:00
Yanting Yang
f43feb6a46 Merge "Add DISALLOW_APPS_CONTROL check into uninstall app for all users" into tm-qpr-dev 2023-01-07 01:56:05 +00:00
Mady Mellor
dee935a9fc Add a tablet specific illustration for bubble settings screen
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
2023-01-06 16:35:36 -08:00
Matt Pietal
c617ae851d Update wallet setting availability
For devices that don't support wallet, don't even show the setting in
a disabled state, which can cause confusion and lead the user to
believe they can enable it somehow.

Fixes: 251089510
Test: WalletPrivacyPreferenceControllerTest
Change-Id: I5d60957f24712bb4d75e72fa5f64cab35b6d6a5f
2023-01-04 21:39:43 +00:00
Yanting Yang
f3b323e378 Add DISALLOW_APPS_CONTROL check into uninstall app for all users
Settings App info page supports a "Uninstall for all users" function
when multiple users are enabled. It bypasses the restriction of
DISALLOW_APPS_CONTROL which breaks the user isolation guideline.

To fix this vulnerability, we should check the DISALLOW_APPS_CONTROL
restriction to provide the "Uninstall for all users" function.

Bug: 258653813
Test: manual & robotests
Change-Id: I5d3bbcbaac439c4f7a1e6a9ade7775ff4f2f2ec6
Merged-In: I5d3bbcbaac439c4f7a1e6a9ade7775ff4f2f2ec6
2023-01-04 16:15:16 +00:00
Grace Cheng
8ada95641a Updates sfps animations for natural orientation
Updates enroll find sensor animations given sfps natural orientation switch from landscape to portrait

Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintEnrollFindSensorTest
Fixes: 264274708
Change-Id: I392767d2bde98e3509eef29f3095b2dafee16a30
2023-01-04 00:00:45 +00:00
Yasin Kilicdere
85379e9452 Merge "Remove the fallback AddSupervisedUserActivity." into tm-dev am: 15a89a60ac am: 2ecf96a422
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20665167

Change-Id: I6474b049eea96fa6b51692a71ea7a2433cdfb620
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-03 13:25:59 +00:00
Yasin Kilicdere
2ecf96a422 Merge "Remove the fallback AddSupervisedUserActivity." into tm-dev am: 15a89a60ac
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20665167

Change-Id: I2c91cb0334d6151759f925ea84286c9af619f897
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-03 12:53:48 +00:00
Yasin Kilicdere
15a89a60ac Merge "Remove the fallback AddSupervisedUserActivity." into tm-dev 2023-01-03 12:18:58 +00:00
Behnam Heydarshahi
4f87dd4b56 Implement a separate controller for ring volume
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
2022-12-28 22:33:50 +00:00
Ale Nijamkin
53b342a81a Merge "Renames customization content provider (2/7)." into tm-qpr-dev 2022-12-28 17:42:20 +00:00
Alejandro Nijamkin
2f61fd67d1 Renames customization content provider (2/7).
KeyguardQuickAffordanceProvider has started to be used for more than
just lock screen shortcuts. This collection of CLs updates its name,
authority, and table schema to become more generically about "system UI
customization".

Fix: 262879277
Test: manually verified Settings > Display > Lock screen shows the
"shortcuts" item
Test: manually verified that the Wallpaper picker properly renders the
preview and can change the quick affordances
Test: manually verified that system UI displays the right lock screen
shortcuts

Change-Id: Idc0765a8c3fe50c82689d2ca7f9d19b41a62baf2
Merged-In: Idc0765a8c3fe50c82689d2ca7f9d19b41a62baf2
2022-12-26 17:07:03 +00:00
Zoey Chen
aee115ee3b [Settings] get wrong toggle when handle the WFC changed
WFC toggle's state(EXTRA_TOGGLE_STATE) is set to the newValue after each notifyChange.
However, WFC slice gets the same newValue from EXTRA_TOGGLE_STATE when users change the toggle state
before the EXTRA_TOGGLE_STATE is updated.

Need to get the "correct" new value to set the WFC

Follow the original logic(ag/3820815), 1. don't turn on WFC and only can turn off WFC  if activationApp is not null. 2. turn on/off if  no activationApp.

Bug: 261922170
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSliceHelperTest
Change-Id: I823f00029c24f1901f40757ba13e7c0f90d6c0bc
2022-12-22 11:13:54 +00:00
changbetty
09a6899fc2 Change the intent flag to immutable
Bug: 256590210
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MediaVolumePreferenceControllerTest
Change-Id: I68132f863027fab19351b4fdbc363e5c274e3327
2022-12-21 10:16:10 +00:00
Darrell Shi
e722587923 Merge changes from topic "hub-mode-settings" into tm-qpr-dev
* changes:
  Add top-level Communal settings.
  Change screensaver ctrlr to base pref ctrlr.
2022-12-21 08:03:49 +00:00
Darrell Shi
65836b1e3d Add top-level Communal settings.
This change adds a new top-level setting, of which the availability is
controlled by a build time config value. It also registers the new
communal category so that prebuilt packages can inject preferences into
it.

Bug: 261641080
Test: verified on device that communal settings show up on top level
Test: atest ScreenSaverPreferenceControllerTest
Change-Id: Idf79ae5b89ecc3498373de56a677b4876fb121c3
2022-12-21 04:10:56 +00:00
Arc Wang
dd4f2500b6 Check Uri permission for FLAG_GRANT_READ/WRITE_URI_PERMISSION am: 0f7f913281
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20727211

Change-Id: I3d26e8d54ebf5ad307f58fb6119c89df33798356
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-19 09:09:02 +00:00
Arc Wang
dc5a992f49 Allow 2-pane deep link to access unexported Activity
If an Activity is not exported, the Activity still can be
launched by components of the same application, applications
with the same user ID, or privileged system components.

Bug: 261678674
Bug: 250589026
Change-Id: I89b2ae49b3b13f29b0a02cd54291937241f61696
Merged-In: I662df6cb287361b135e2c596abe946ddeb03bda4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-19 03:35:44 +00:00