Commit Graph

43479 Commits

Author SHA1 Message Date
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
changbetty
7888fcc82b [RESTRICT AUTOMERGE] Change the intent flag to immutable am: 0dcd6a5492
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20844713

Change-Id: I3b67d30e794dd06a689c57c9fd6b948bbea362f1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-07 08:01:18 +00:00
Betty Chang
145d91b832 Merge "[RESTRICT AUTOMERGE] Change the intent flag to immutable" into tm-dev 2023-01-07 07:23:30 +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
5dbaf208f0 Add DISALLOW_APPS_CONTROL check into uninstall app for all users am: 22e4eebafe
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20871702

Change-Id: Ic9875331fa1a63feee2d51c4782e8c98df882794
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-07 02:34:52 +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
Stefan Andonian
19b790376c Move ViewCapture On/Off controls to QuickSettings Tile.
When users enable Winscope tracing, ViewCapture tracing will also be enabled. Winscope tracing is currently enabled via a quicksettings tile hidden in the developer options menu.

Bug: 224595733
Test: Verified that the new QuickSettings tile doesn't crash via normal interactions (pressing, long-pressing, etc.). Also verified that ViewCapture is turned on when the QuickSettings tile is in the enabled state and is turned off when it is in the disabled state.
Change-Id: Ie43d307806dece5748e22ed2af12ed3514c1148a
2023-01-06 18:16:49 +00: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
86914bedc8 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 18:59:18 +00:00
Yanting Yang
1a43a98334 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 18:58:32 +00:00
Yanting Yang
16500a7ada 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 18:56:58 +00:00
Yanting Yang
0616b484e9 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 18:56:09 +00:00
Yanting Yang
9191ec13e2 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:21:24 +00:00
Yanting Yang
22e4eebafe 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:16:34 +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
Arc Wang
9a6c84c47e Merge "FRP bypass defense in the settings app" into sc-v2-dev 2023-01-04 01:51:22 +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
changbetty
0dcd6a5492 [RESTRICT AUTOMERGE] Change the intent flag to immutable
Bug: 256590210
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MediaVolumePreferenceControllerTest
Change-Id: I68132f863027fab19351b4fdbc363e5c274e3327
Merged-In: I68132f863027fab19351b4fdbc363e5c274e3327
2023-01-03 10:25:29 +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
Darrell Shi
542644e83f Change screensaver ctrlr to base pref ctrlr.
This change makes it that the ScreenSaverPreferenceController extends
BasePreferenceController so that it can be readily used and pointed to
from an xml file.

Bug: 261627295
Test: atest ScreenSaverPreferenceControllerTest

Change-Id: I95487f2f49a23422fff46f30b0cfa287582a547b
2022-12-16 16:49:54 +00:00
YK Hung
3aca71cfc2 Merge "Move setup optimization mode to main thread" into tm-qpr-dev 2022-12-16 04:53:06 +00:00
YK Hung
c89f78c68f Merge "Update dock defender helper URL" into tm-qpr-dev 2022-12-16 04:52:18 +00:00
YK Hung
d388dc1809 Merge "Update string for all defenders" into tm-qpr-dev 2022-12-16 04:51:46 +00:00
William Xiao
0be191aeb7 Merge "Default to timing out to dock user in 1 minute" into tm-qpr-dev 2022-12-15 20:04:15 +00:00
Yuri Lin
dc4100f148 Merge "Disable zen rule preferences with invalid activities" into tm-qpr-dev 2022-12-15 16:08:17 +00:00
Wesley Wang
d907a12980 Move setup optimization mode to main thread
- Due to unclear root cause of optimization mode being reset after
   reboot, update the setup logic from deferred background thread to
   main thread, to avoid any possible background task unexecuted case.

Bug: 241735485
Test: make SettingsRoboTests
Change-Id: I2de2181321712f89fadc04bf5000aea91a01485a
Merged-In: I2de2181321712f89fadc04bf5000aea91a01485a
(cherry picked from commit 7423f4390c)
2022-12-15 11:49:14 +00:00
Zhenwei Chen
35caf2ffb7 Update dock defender helper URL
Bug: 261206713
Test: Unit test passed
Change-Id: I6a8489b7e1a54d2c1d88cf6b04c8d1a4c9c6c235
2022-12-15 10:09:55 +00:00
TreeHugger Robot
8ccf48b0fc Merge "Check Uri permission for FLAG_GRANT_READ/WRITE_URI_PERMISSION" into tm-qpr-dev 2022-12-15 06:06:22 +00:00
Zhenwei Chen
1eea27ae82 Update string for all defenders
Test: Unit test passed
Bug: 262508668
Change-Id: Ia0126f9761caa43d0746962a9bb77173e9f45ad1
2022-12-15 05:31:18 +00:00
Arc Wang
e8e2d9c68f Merge "Allow 2-pane deep link to access unexported Activity" into tm-qpr-dev 2022-12-15 04:23:13 +00:00
Arc Wang
0f7f913281 Check Uri permission for FLAG_GRANT_READ/WRITE_URI_PERMISSION
To improve security, calling app must be granted Uri permission
if it sets FLAG_GRANT_READ/WRITE_URI_PERMISSION in the Intent of
ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY.

Bug: 250589026
Test: manual
Change-Id: I48f88c662b843212b1066369badff84cf98935a8
Merged-In: I48f88c662b843212b1066369badff84cf98935a8
2022-12-15 03:41:53 +00:00
Arc Wang
17cd85b946 Check Uri permission for FLAG_GRANT_READ/WRITE_URI_PERMISSION
To improve security, calling app must be granted Uri permission
if it sets FLAG_GRANT_READ/WRITE_URI_PERMISSION in the Intent of
ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY.

Bug: 250589026
Test: manual
Change-Id: I48f88c662b843212b1066369badff84cf98935a8
Merged-In: I48f88c662b843212b1066369badff84cf98935a8
2022-12-15 03:41:33 +00:00
Arc Wang
95ff075244 Check Uri permission for FLAG_GRANT_READ/WRITE_URI_PERMISSION
To improve security, calling app must be granted Uri permission
if it sets FLAG_GRANT_READ/WRITE_URI_PERMISSION in the Intent of
ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY.

Bug: 250589026
Test: manual
Change-Id: I48f88c662b843212b1066369badff84cf98935a8
Merged-In: I48f88c662b843212b1066369badff84cf98935a8
2022-12-15 03:40:08 +00:00
Yuri Lin
afe52dfae5 Disable zen rule preferences with invalid activities
While resolveActivity is used to determine whether an Intent can be handled by something, this doesn't catch the case of explicit intents whose activity class doesn't exist. Here we check for it through PackageManager.queryIntentActivities instead for existing zen rules (if they were added when the activity exists, but it no longer does).

For new rules, check the validity of the activity for external rules before adding them to the list.

Bug: 238144390
Test: manual via DND app
Change-Id: Ia920ca792f9c17a5d684baf877c882ce7fadffd6
2022-12-14 14:13:36 -05:00