Commit Graph

38213 Commits

Author SHA1 Message Date
Arc Wang
9a6c84c47e Merge "FRP bypass defense in the settings app" into sc-v2-dev 2023-01-04 01:51:22 +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
960c96474d 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
Test: manual visual
      Launcher -> context menu -> Wallpaper & style
Change-Id: I662df6cb287361b135e2c596abe946ddeb03bda4
Merged-In: I662df6cb287361b135e2c596abe946ddeb03bda4
2022-12-14 19:27:32 +08:00
Tsung-Mao Fang
1cf31d17aa FRP bypass defense in the settings app
Over the last few years, there have been a number of
Factory Reset Protection bypass bugs in the SUW flow.
It's unlikely to defense all points from individual apps.

Therefore, we decide to block some critical pages when
user doesn't complete the SUW flow.

Test: Can't open the certain pages in the suw flow.
Bug: 258422561
Fix: 200746457
Bug: 202975040
Fix: 213091525
Fix: 213090835
Fix: 201561699
Fix: 213090827
Fix: 213090875
Change-Id: Ia18f367109df5af7da0a5acad7702898a459d32e
Merged-In: Ia18f367109df5af7da0a5acad7702898a459d32e
2022-12-06 09:27:45 +00:00
Arc Wang
fef9b97498 Settings 2-pane deep link vulnerabilities
Settings app must not start an deep link Activity if
1. The deep link Activity is not exported.
or
2. Calling package does not have the permission to
   start the deep link Activity.

Bug: 250589026
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsHomepageActivityTest
Change-Id: I9a3bddfa5d9d1d2e924dd6f3e5e07dca6c11664f
Merged-In: I9a3bddfa5d9d1d2e924dd6f3e5e07dca6c11664f
2022-11-29 05:58:43 +00:00
changbetty
e644704bee RESTRICT AUTOMERGE Make bluetooth switch not discoverable via SliceDeepLinkTrampoline
Bug: 244423101
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothSwitchPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDashboardFragmentTest
Test: manual test by test apk

Change-Id: I13562d227e06627fac33239a9d21fd405a18d012
2022-11-09 06:39:16 +00:00
Arc Wang
dd7d2d766a Remove Intent selector from 2-pane deep link Intent
To guard against the arbitrary Intent injection through Selector.

Bug: 246300272
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsActivityTest
Change-Id: I76fbf3ff7a6611ebb3d07f73845a64efe1771769
Merged-In: I8b3b936de490f09f4be960fdafc6e66a1d858ee2
2022-11-02 07:38:18 +00:00
Milton Wu
27bddff2ac [DO NOT MERGE] Add FLAG_SECURE for ChooseLockPassword and Pattern
Prevent ChooseLockPassword and ChooseLockPatten being projected to
remote views, add FLAG_SECURE for these screens.

Bug: 179725730
Test: Check these 2 screens not projected to chromecast
Test: robo test for SetupChooseLockPatternTest ChooseLockPatternTest
      SetupChooseLockPasswordTest ChooseLockPasswordTest
Change-Id: I7449a24427c966c1aa4280a7b7e7e70b60997cca
Merged-In: I7449a24427c966c1aa4280a7b7e7e70b60997cca
(cherry picked from commit 98239c0da6)
2022-09-15 07:00:35 +00:00
Jason Chiu
846d0286a8 [DO NOT MERGE] Make bluetooth not discoverable via large screen deep link flow
Deep links on large screen devices starts a homepage activity on the
left pane, and then starts the target activity on the right pane. This
flow overrides the calling package, and the target activity can't know
who initially calls it.

Thus, we store the initial calling package in the intent, so the
Connected devices page is able to make bluetooth not discoverable when
it's called from unintended apps on large screen devices.

Bug: 234440688
Test: robotest, manual
Change-Id: I4ddcd4e083c002ece9d10aabdb4af4a41de55ce7
2022-06-24 08:21:34 +00:00
Arc Wang
27f9995beb Merge changes from topics "presubmit-am-81a031e484d84618b0548f9872055538", "presubmit-am-93b3a992dd6c4622a633bca394ada8e5" into sc-v2-dev
* changes:
  [DO NOT MERGE] Fix can't change notification sound for work profile.
  [DO NOT MERGE] Fix Settings crash when setting a null ringtone
2022-06-03 23:25:34 +00:00
Raphael Kim
14a63dbf67 Merge "Extract app label from component name in notification access confirmation UI" into sc-v2-dev 2022-06-03 22:20:03 +00:00
Lin Yuan
5b0617f569 Merge "RESTRICT AUTOMERGE Fix: policy enforcement for location wifi scanning" into sc-v2-dev 2022-06-02 19:59:26 +00:00
TreeHugger Robot
e6ee0ba1ca Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev am: 2f184b0ff4 am: e3bbadb7df am: 6fd7cf1993 am: 165c11c0da am: 2e68c87afc am: b2a6f3b640
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18158869

Change-Id: I38e251a90df0d85b02e4a90e60434374caebb43b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-02 10:56:20 +00:00
TreeHugger Robot
b2a6f3b640 Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev am: 2f184b0ff4 am: e3bbadb7df am: 6fd7cf1993 am: 165c11c0da am: 2e68c87afc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18158869

Change-Id: Iea8346aa727c8ca1b9ccf7511e4c360c559c94c5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-02 08:40:00 +00:00
TreeHugger Robot
2e68c87afc Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev am: 2f184b0ff4 am: e3bbadb7df am: 6fd7cf1993 am: 165c11c0da
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18158869

Change-Id: I8d59841265494fc6b1e1b280c6c275c4103959be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-02 08:13:52 +00:00
TreeHugger Robot
165c11c0da Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev am: 2f184b0ff4 am: e3bbadb7df am: 6fd7cf1993
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18158869

Change-Id: I808a8ab16e700325ec93b028e22a58215fbdbbe8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-02 07:58:27 +00:00
TreeHugger Robot
6fd7cf1993 Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev am: 2f184b0ff4 am: e3bbadb7df
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18158869

Change-Id: I6c7835e9885cf02ba167a8f4ac1c564bad511e6d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-02 07:34:09 +00:00
TreeHugger Robot
e3bbadb7df Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev am: 2f184b0ff4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18158869

Change-Id: Ia3a38063419fccfc6e1be8135180a3a433ebbd23
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-02 07:15:36 +00:00
TreeHugger Robot
2f184b0ff4 Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev 2022-06-02 06:52:53 +00:00
Tsung-Mao Fang
90968c8437 [DO NOT MERGE] Fix can't change notification sound for work profile.
Use correct user id context to query the type,
so we won't get empty result unexpectedly.

If we get the null result, then we won't set sound sucessfully.

Bug: 233580016
Bug: 221041256
Test: Manual test and set work profile sound works.
Change-Id: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad
Merged-In: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad
2022-06-02 10:20:38 +08:00
Arc Wang
46e00dc6df [DO NOT MERGE] Fix Settings crash when setting a null ringtone
Ringtone picker may callback a null ringtone Uri
if users select None.

This change pass null ringtone Uri to RingtoneManager
and return.

Bug: 232502532
Bug: 221041256
Test: maunal
      Settings - Sound & Vibration -> Phone ringtone
      -> My Sounds -> None
Change-Id: I044b680871472a3c272f6264c4ef272df542112e
Merged-In: I044b680871472a3c272f6264c4ef272df542112e
2022-06-02 10:17:47 +08:00
Lin Yuan
a12fff673b RESTRICT AUTOMERGE Fix: policy enforcement for location wifi scanning
Make DISALLOW_CONFIG_LOCATION effectively disallow wifi scanning and
bluetooth scanning settings for location services.

screenshots: http://shortn/_EUOdqrOcnS, http://shortn/_j320QDm1Zo

Bug: 228315522
Bug: 228315529
Test: atest SettingsRoboTests, on device

Change-Id: I78291579a79e915a27ebdd051b3caf3fc04efc41
(cherry picked from commit fcae147f58)
2022-06-01 10:53:49 +00:00
Raphael Kim
c548f102e5 Extract app label from component name in notification access confirmation UI
Bug: 228178437
Test: Manually tested on POC
Change-Id: I8613d9b87a53d4641c0689bca9c961c66a2e9415
Merged-In: I8613d9b87a53d4641c0689bca9c961c66a2e9415
2022-05-31 17:21:36 +00:00
Hugh Chen
c2bb599eeb RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline am: 06139d3ffc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18330693

Change-Id: Ic3eecbf76413c2ceeff1f3a838cb7f6250e3a423
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-16 18:22:30 +00:00
Hugh Chen
06139d3ffc RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline
- Don't let device be discovered when the user launch "Connected Devices
  settings" through SliceDeepLinkTrampoline.

Bug: 228450811
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify the device is not discoversable when open "Connected settings"
through test apk.

Change-Id: I5490b58675b1fd9fc36305766867f65caa6ccb6c
(cherry picked from commit 205752dcf2)
2022-05-12 06:20:57 +00:00
Hugh Chen
c44b6fed73 RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline
- Don't let device be discovered when the user launch "Connected Devices
  settings" through SliceDeepLinkTrampoline.

Bug: 228450811
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify the device is not discoversable when open "Connected settings"
through test apk.

Change-Id: I5490b58675b1fd9fc36305766867f65caa6ccb6c
(cherry picked from commit 205752dcf2)
2022-05-12 06:18:59 +00:00
Hugh Chen
9399a699d7 RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline
- Don't let device be discovered when the user launch "Connected Devices
  settings" through SliceDeepLinkTrampoline.

Bug: 228450811
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify the device is not discoversable when open "Connected settings"
through test apk.

Change-Id: I5490b58675b1fd9fc36305766867f65caa6ccb6c
(cherry picked from commit 205752dcf2)
2022-05-12 06:16:53 +00:00
Hugh Chen
23ab123ba7 [automerge] RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline 2p: 1c4142e1ae
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18330690

Bug: 228450811
Change-Id: I8e1ee6a97b57934b553a962f8f459d3f6afd746e
2022-05-12 06:14:37 +00:00
Hugh Chen
1c4142e1ae RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline
- Don't let device be discovered when the user launch "Connected Devices
  settings" through SliceDeepLinkTrampoline.

Bug: 228450811
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify the device is not discoversable when open "Connected settings"
through test apk.

Change-Id: I5490b58675b1fd9fc36305766867f65caa6ccb6c
(cherry picked from commit 205752dcf2)
2022-05-12 06:14:27 +00:00
Hugh Chen
8bae222489 RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline
- Don't let device be discovered when the user launch "Connected Devices
  settings" through SliceDeepLinkTrampoline.

Bug: 228450811
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify the device is not discoversable when open "Connected settings"
through test apk.

Change-Id: I5490b58675b1fd9fc36305766867f65caa6ccb6c
(cherry picked from commit 205752dcf2)
2022-05-12 06:11:48 +00:00
Arc Wang
3d9bdda678 [DO NOT MERGE] Verify ringtone from ringtone picker is audio am: 640eab60f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18219307

Change-Id: Id9e9e4b50fc12780f71aad93666fbbf24f4d6429
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-11 00:24:04 +00:00
Arc Wang
640eab60f2 [DO NOT MERGE] Verify ringtone from ringtone picker is audio
To improve privacy.

Bug: 221041256
Test: atest com.android.settings.DefaultRingtonePreferenceTest
Change-Id: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
Merged-In: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
(cherry picked from commit e4c22580c9)
2022-05-10 01:43:16 +00:00
Arc Wang
4b02b7dc7d [DO NOT MERGE] Verify ringtone from ringtone picker is audio
To improve privacy.

Bug: 221041256
Test: atest com.android.settings.DefaultRingtonePreferenceTest
Change-Id: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
Merged-In: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
(cherry picked from commit e4c22580c9)
2022-05-10 01:42:41 +00:00
Arc Wang
1682354551 [DO NOT MERGE] Verify ringtone from ringtone picker is audio
To improve privacy.

Bug: 221041256
Test: atest com.android.settings.DefaultRingtonePreferenceTest
Change-Id: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
Merged-In: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
(cherry picked from commit e4c22580c9)
2022-05-10 01:42:05 +00:00
Arc Wang
f288d3a31b Verify ringtone from ringtone picker is audio
To improve privacy.

Bug: 221041256
Test: atest com.android.settings.DefaultRingtonePreferenceTest
Change-Id: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
Merged-In: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
(cherry picked from commit e4c22580c9)
2022-05-09 02:07:00 +00:00
Arc Wang
babe83e217 Verify ringtone from ringtone picker is audio
To improve privacy.

Bug: 221041256
Test: atest com.android.settings.DefaultRingtonePreferenceTest
Change-Id: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
Merged-In: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
(cherry picked from commit e4c22580c9)
2022-05-09 02:06:08 +00:00
Arc Wang
1b7fa6f8fc Verify ringtone from ringtone picker is audio
To improve privacy.

Bug: 221041256
Test: atest com.android.settings.DefaultRingtonePreferenceTest
Change-Id: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
Merged-In: I0a9ca163f5ae91b67c9f957fde4c6db326b8718d
(cherry picked from commit e4c22580c9)
2022-05-09 02:05:20 +00:00
Jack Yu
2290b0af8c Do not let guest user disable secuer nfc via SettingsSlice
Do not let guest user switch the secure nfc preferernce setting.

Bug: 228314987
Test: manual
Change-Id: I60a832e32d83bb57d968af2f8b92d94e2ac7c6a2
2022-05-04 18:06:04 +08:00
Edgar Wang
9562e2e011 Fix LaunchAnyWhere in AppRestrictionsFragment am: b3eecdd13d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17730674

Change-Id: Ib3c3ca64de6e099b2e2fde18abd35feb3412878c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 02:47:48 +00:00
Edgar Wang
019eb77224 Fix LaunchAnyWhere in AppRestrictionsFragment
If the intent's package equals to the app's package, this intent
will be allowed to startActivityForResult.
But this check is unsafe, because if the component of this intent
is set, the package field will just be ignored. So if we set the
component to any activity we like and set package to the app's
package, it will pass the assertSafeToStartCustomActivity check
and now we can launch anywhere.

Bug: 223578534
Test: robotest and manual verify
Change-Id: I40496105bae313fe5cff2a36dfe329c1e2b5bbe4
(cherry picked from commit 90e095dbe3)
2022-04-13 04:51:09 +00:00
Edgar Wang
f600c05a5a Fix LaunchAnyWhere in AppRestrictionsFragment
If the intent's package equals to the app's package, this intent
will be allowed to startActivityForResult.
But this check is unsafe, because if the component of this intent
is set, the package field will just be ignored. So if we set the
component to any activity we like and set package to the app's
package, it will pass the assertSafeToStartCustomActivity check
and now we can launch anywhere.

Bug: 223578534
Test: robotest and manual verify
Change-Id: I40496105bae313fe5cff2a36dfe329c1e2b5bbe4
(cherry picked from commit 90e095dbe3)
2022-04-13 04:50:33 +00:00
Edgar Wang
f8f45888e6 Fix LaunchAnyWhere in AppRestrictionsFragment
If the intent's package equals to the app's package, this intent
will be allowed to startActivityForResult.
But this check is unsafe, because if the component of this intent
is set, the package field will just be ignored. So if we set the
component to any activity we like and set package to the app's
package, it will pass the assertSafeToStartCustomActivity check
and now we can launch anywhere.

Bug: 223578534
Test: robotest and manual verify
Change-Id: I40496105bae313fe5cff2a36dfe329c1e2b5bbe4
(cherry picked from commit 90e095dbe3)
2022-04-13 04:50:03 +00:00
Edgar Wang
1b9da55a31 Fix LaunchAnyWhere in AppRestrictionsFragment
If the intent's package equals to the app's package, this intent
will be allowed to startActivityForResult.
But this check is unsafe, because if the component of this intent
is set, the package field will just be ignored. So if we set the
component to any activity we like and set package to the app's
package, it will pass the assertSafeToStartCustomActivity check
and now we can launch anywhere.

Bug: 223578534
Test: robotest and manual verify
Change-Id: I40496105bae313fe5cff2a36dfe329c1e2b5bbe4
(cherry picked from commit 90e095dbe3)
2022-04-13 04:49:26 +00:00
Edgar Wang
aeb36e5c28 Fix LaunchAnyWhere in AppRestrictionsFragment
If the intent's package equals to the app's package, this intent
will be allowed to startActivityForResult.
But this check is unsafe, because if the component of this intent
is set, the package field will just be ignored. So if we set the
component to any activity we like and set package to the app's
package, it will pass the assertSafeToStartCustomActivity check
and now we can launch anywhere.

Bug: 223578534
Test: robotest and manual verify
Change-Id: I40496105bae313fe5cff2a36dfe329c1e2b5bbe4
(cherry picked from commit 90e095dbe3)
2022-04-13 04:48:46 +00:00
Edgar Wang
b3eecdd13d Fix LaunchAnyWhere in AppRestrictionsFragment
If the intent's package equals to the app's package, this intent
will be allowed to startActivityForResult.
But this check is unsafe, because if the component of this intent
is set, the package field will just be ignored. So if we set the
component to any activity we like and set package to the app's
package, it will pass the assertSafeToStartCustomActivity check
and now we can launch anywhere.

Bug: 223578534
Test: robotest and manual verify
Change-Id: I40496105bae313fe5cff2a36dfe329c1e2b5bbe4
(cherry picked from commit 90e095dbe3)
2022-04-13 04:47:24 +00:00
Arc Wang
4f2a4c2036 Hide non-system overlay window on ActivityPicker am: c55b5b54d2 am: fcf0584f93
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17628098

Change-Id: I385f1718bdc0810db374edff607a5d088caffa52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-07 20:33:29 +00:00
Arc Wang
fcf0584f93 Hide non-system overlay window on ActivityPicker am: c55b5b54d2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17628098

Change-Id: I5404085011ef8f1120e0a8239e4049d617716690
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-07 19:59:23 +00:00
Arc Wang
e5e271bfed Hide non-system overlay window on ActivityPicker am: c4121c15e4 am: 21a0db9882
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17628100

Change-Id: Id6820351a67c2b2924a9a6ee3a06731519510ff7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-07 19:44:36 +00:00
Arc Wang
21a0db9882 Hide non-system overlay window on ActivityPicker am: c4121c15e4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17628100

Change-Id: I54645a67488b6c155218eca6c5fb5779daabd495
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-07 19:15:23 +00:00
TreeHugger Robot
df06dcecbe Merge "Hide non-system overlay window on ActivityPicker" into sc-v2-dev 2022-04-07 18:08:21 +00:00