Commit Graph

37807 Commits

Author SHA1 Message Date
Guojing Yuan
268575fb3a [CDM][NLS] Check if the NLS service has an intent-filter am: 59cdc3e20c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/29711247

Change-Id: I26b92140443f28084cb514da60e1febcf599dfc8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-10-15 18:25:14 +00:00
Guojing Yuan
59cdc3e20c [CDM][NLS] Check if the NLS service has an intent-filter
Bug: 363248394
Test: CTS
Flag: EXEMPT bugfix
Change-Id: Ib79c219cde8d73a218ceb7911f4552d43e384d8e
Merged-In: Ib79c219cde8d73a218ceb7911f4552d43e384d8e
(cherry picked from commit 7ae59a42eb)
2024-10-15 17:14:05 +00:00
Chris Antol
fabc3ec631 Merge "RESTRICT AUTOMERGE Checks cross user permission before handling intent" into sc-dev 2024-09-05 03:07:30 +00:00
Chris Antol
ac3b33c26d Merge "RESTRICT AUTOMERGE Checks cross user permission before handling intent" into sc-qpr1-dev 2024-09-05 03:07:30 +00:00
Treehugger Robot
72e4718e69 Merge "startActivityForResult with new Intent" into sc-dev am: 5e94bcbb1d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/28761671

Change-Id: Ife0d68f9156a3ff6ffd1f08b2d58bf9741a734f8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 16:29:04 +00:00
Treehugger Robot
5e94bcbb1d Merge "startActivityForResult with new Intent" into sc-dev 2024-09-04 16:26:10 +00:00
Fan Wu
7d2552bf93 RESTRICT AUTOMERGE Checks cross user permission before handling intent
Bug: 326057017

Test: atest

Flag: EXEMPT bug fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d3b3edd45167515579ab156533754e56ac813f35)
Merged-In: I3444e55b22b7487f96b0e3e9deb3f844c4c4723a
Change-Id: I3444e55b22b7487f96b0e3e9deb3f844c4c4723a
2024-08-29 17:35:06 +00:00
Fan Wu
0c72cfad1e RESTRICT AUTOMERGE Checks cross user permission before handling intent
Bug: 326057017

Test: atest

Flag: EXEMPT bug fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d3b3edd45167515579ab156533754e56ac813f35)
Merged-In: I3444e55b22b7487f96b0e3e9deb3f844c4c4723a
Change-Id: I3444e55b22b7487f96b0e3e9deb3f844c4c4723a
2024-08-29 17:34:22 +00:00
Daniel Norman
41efccc461 RESTRICT AUTOMERGE Stops hiding a11y services with the same package+label as an activity. am: c4963a73f0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/28782741

Change-Id: Ibd262d1e500113d0b29fae776cc950610dcc02db
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-22 00:16:47 +00:00
Treehugger Robot
5d2e307f6e Merge "RESTRICT AUTOMERGE Stops hiding a11y services with the same package+label as an activity." into sc-dev 2024-08-22 00:03:59 +00:00
Daniel Norman
c4963a73f0 RESTRICT AUTOMERGE Stops hiding a11y services with the same package+label as an activity.
Bug: 353700779
Test: Install poc APKs from the bug, observe issue not reproducible
Test: (automated tests on 'main' branch)
Flag: NONE security fix
Change-Id: Ia8d43229d277dd4442173166ae0402f05096da4b
2024-08-14 21:16:34 +00:00
Adam Bookatz
2f53e6ab61 startActivityForResult with new Intent
Rather than use the raw Intent, we make a copy of it. See bug.

Bug: 330722900
Flag: EXEMPT bugfix
Test: manual
Test: atest com.android.settings.users.UserSettingsTest
            com.android.settings.users.UserDetailsSettingsTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1189e24e47571eae86634aeaa7dc60b8fe7f4820)
Merged-In: Id74e4b7ae261f2916eedaef04a679f83409a4b67
Change-Id: Id74e4b7ae261f2916eedaef04a679f83409a4b67
2024-08-12 17:19:29 +00:00
Yiling Chuang
3c2a216bbb RESTRICT AUTOMERGE FRP bypass defense in App battery usage page
Before the setup flow completion, don't allow the app info page in App battery usage to be launched.

Bug: 327748846
Test: atest SettingsRoboTests + manual test
- factory reset + launch app battery usage app info via ADB during Setup -> verify app closes
Flag : EXEMPT bugfix

Change-Id: I486820ca2afecc02729a56a3c531fb931c1907d0
Merged-In: I486820ca2afecc02729a56a3c531fb931c1907d0
(cherry picked from commit 419a6a9079)
2024-07-31 07:04:20 +00:00
Yiling Chuang
0c097d5c0d RESTRICT AUTOMERGE FRP bypass defense in App battery usage page
Before the setup flow completion, don't allow the app info page in App battery usage to be launched.

Bug: 327748846
Test: atest SettingsRoboTests + manual test
- factory reset + launch app battery usage app info via ADB during Setup -> verify app closes
Flag : EXEMPT bugfix

Change-Id: I486820ca2afecc02729a56a3c531fb931c1907d0
Merged-In: I486820ca2afecc02729a56a3c531fb931c1907d0
(cherry picked from commit 419a6a9079)
2024-07-31 04:04:47 +00:00
Chris Antol
09f1d4c06b RESTRICT AUTOMERGE Restrict Settings Homepage prior to provisioning am: 7f1c4df02d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/26737530

Change-Id: I269189a46b4c311bb8ff34e45d8d341bec54d7ff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-24 18:44:11 +00:00
Chris Antol
768eef96cf Merge "RESTRICT AUTOMERGE Restrict Settings Homepage prior to provisioning" into sc-dev 2024-06-24 18:24:09 +00:00
Chris Antol
b6e9e08ae3 Merge "Ignore fragment attr from ext authenticator resource" into sc-dev am: c5031de185
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27676295

Change-Id: I2a62051844b3296e49fb6941b36af02c93a95803
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-21 00:35:21 +00:00
Chris Antol
c5031de185 Merge "Ignore fragment attr from ext authenticator resource" into sc-dev 2024-06-21 00:14:16 +00:00
Chris Antol
7f1c4df02d RESTRICT AUTOMERGE Restrict Settings Homepage prior to provisioning
Bug: 327749022
Test: manual test
1. factory reset + launch Settings via ADB during Setup -> verify app closes
2. factory reset + bypass Setup + tap Settings icon in launcher -> verify app closes
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:70a5a0fd353cc6203d2926627de93786155ae5bc)
Merged-In: I8cbe38109ebf88a0f68f3917e95468a81c6463c1
Change-Id: I8cbe38109ebf88a0f68f3917e95468a81c6463c1
2024-06-18 17:32:03 +00:00
Jason Chiu
d0a4db88bb [RESTRICT AUTOMERGE] Replace getCallingActivity() with getLaunchedFromPackage() am: b86569b274
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/27096218

Change-Id: Iffc1b1f41b5cd22cec1bcfa530ad879f25b9073c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-06 07:42:10 +00:00
Chris Antol
7e0b376b11 Ignore fragment attr from ext authenticator resource
Bug: 341886134
Test: Unit Test
Test: Manual - see ticket for steps
Flag: EXEMPT <security>
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2cb9b10ed97b1b9b29661115789605a762f3c2ef)
Merged-In: Id91c2b3b6d16ba3702ee2cd6723365a4db52863b
Change-Id: Id91c2b3b6d16ba3702ee2cd6723365a4db52863b
2024-06-04 20:16:42 +00:00
Jason Chiu
b86569b274 [RESTRICT AUTOMERGE] Replace getCallingActivity() with getLaunchedFromPackage()
getLaunchedFromPackage() reports who launched this Activity or built
PendingIntent used to launch it, whereas getCallingActivity() reports
who will get result of Activity.

Bug: 316891059
Bug: 333364513
Test: robotest, manual
Change-Id: If97018c2741caef622f0596bbfeaa42ef1788b78
(cherry picked from commit ddc11bc03a)
2024-05-29 01:31:38 +00:00
Valentin Iftime
a4a9b9f0e7 Validate ringtone URIs before setting am: 7ba175eaeb am: 236f1a0f17 am: 623d966fac
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24956689

Change-Id: Iaa926f8a61ba0c6e4d6511750b3e1dfe83627037
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-08 21:32:36 +00:00
Valentin Iftime
623d966fac Validate ringtone URIs before setting am: 7ba175eaeb am: 236f1a0f17
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24956689

Change-Id: Ifcec90852c0369ee58dabfd2fb9cf4f45fc2e2c4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-08 20:13:12 +00:00
Valentin Iftime
236f1a0f17 Validate ringtone URIs before setting am: 7ba175eaeb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24956689

Change-Id: Id2d5f2423cacd7e4bb06fe46e1773b512a79fc29
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-08 19:22:51 +00:00
Valentin Iftime
7ba175eaeb Validate ringtone URIs before setting
Add checks URIs for content from other users.
 Fail for users that are not profiles of the current user.

Test: atest DefaultRingtonePreferenceTest
Bug: 299614635
Change-Id: Ib266b285a3a1c6c5265ae2321159e61e08e349f6
Merged-In: Ib266b285a3a1c6c5265ae2321159e61e08e349f6
2023-10-09 12:55:39 +00:00
Eric Biggers
5f07aba150 RESTRICT AUTOMERGE: Catch exceptions from setLockCredential()
When LockPatternUtils#setLockCredential() fails, it can either return
false or throw an exception.  Catch the exception and treat it the same
way as a false return value, to prevent crashing com.android.settings.

Bug: 253043065
Test: Tried setting lockscreen credential while in secure FRP mode using
      smartlock setup activity launched by intent via adb.  Verified
      that com.android.settings no longer crashes due to the exception
      from LockPatternUtils#setLockCredential().
Change-Id: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
(cherry picked from commit 05f1eff1c9)
(moved change into ChooseLockPassword.java and ChooseLockPattern.java,
 which are merged into SaveAndFinishWorker.java on udc-qpr-dev and main)
Merged-In: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
2023-08-02 23:44:37 +00:00
Eric Biggers
b30cf4e8cb RESTRICT AUTOMERGE: Catch exceptions from setLockCredential()
When LockPatternUtils#setLockCredential() fails, it can either return
false or throw an exception.  Catch the exception and treat it the same
way as a false return value, to prevent crashing com.android.settings.

Bug: 253043065
Test: Tried setting lockscreen credential while in secure FRP mode using
      smartlock setup activity launched by intent via adb.  Verified
      that com.android.settings no longer crashes due to the exception
      from LockPatternUtils#setLockCredential().
Change-Id: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
(cherry picked from commit 05f1eff1c9)
(moved change into ChooseLockPassword.java and ChooseLockPattern.java,
 which are merged into SaveAndFinishWorker.java on udc-qpr-dev and main)
Merged-In: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
2023-08-02 23:44:09 +00:00
Eric Biggers
50cb0a35c9 RESTRICT AUTOMERGE: Catch exceptions from setLockCredential()
When LockPatternUtils#setLockCredential() fails, it can either return
false or throw an exception.  Catch the exception and treat it the same
way as a false return value, to prevent crashing com.android.settings.

Bug: 253043065
Test: Tried setting lockscreen credential while in secure FRP mode using
      smartlock setup activity launched by intent via adb.  Verified
      that com.android.settings no longer crashes due to the exception
      from LockPatternUtils#setLockCredential().
Change-Id: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
(cherry picked from commit 05f1eff1c9)
(moved change into ChooseLockPassword.java and ChooseLockPattern.java,
 which are merged into SaveAndFinishWorker.java on udc-qpr-dev and main)
Merged-In: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
2023-08-02 23:43:54 +00:00
Eric Biggers
99be30f895 RESTRICT AUTOMERGE: Catch exceptions from setLockCredential()
When LockPatternUtils#setLockCredential() fails, it can either return
false or throw an exception.  Catch the exception and treat it the same
way as a false return value, to prevent crashing com.android.settings.

Bug: 253043065
Test: Tried setting lockscreen credential while in secure FRP mode using
      smartlock setup activity launched by intent via adb.  Verified
      that com.android.settings no longer crashes due to the exception
      from LockPatternUtils#setLockCredential().
Change-Id: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
(cherry picked from commit 05f1eff1c9)
(moved change into ChooseLockPassword.java and ChooseLockPattern.java,
 which are merged into SaveAndFinishWorker.java on udc-qpr-dev and main)
Merged-In: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
2023-08-02 23:43:41 +00:00
Weng Su
f869bfa55f [RESTRICT AUTOMERGE] Restrict ApnEditor settings am: 5c2d727b8f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24025008

Change-Id: Ia2f6bfa237d211be6b884c56d831c84d0c437210
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-27 00:13:52 +00:00
Weng Su
cb3ebcb4e3 [RESTRICT AUTOMERGE] Restrict ApnEditor settings am: e3b554b296
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23982017

Change-Id: I9a94483eaa6693a50ee2d01264ad202721b80986
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-25 21:45:45 +00:00
Weng Su
5c2d727b8f [RESTRICT AUTOMERGE] Restrict ApnEditor settings
- Finish ApnEditor settings if user is not an admin

- Finish ApnEditor settings if user has DISALLOW_CONFIG_MOBILE_NETWORKS restriction

Bug: 279902472
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=ApnEditorTest

Change-Id: Iecdbbff7e21dfb11e3ba385858747a220cfd3e04
2023-07-12 11:30:45 +00:00
Weng Su
e3b554b296 [RESTRICT AUTOMERGE] Restrict ApnEditor settings
- Finish ApnEditor settings if user is not an admin

- Finish ApnEditor settings if user has DISALLOW_CONFIG_MOBILE_NETWORKS restriction

Bug: 279902472
Test: manual test
atest -c ApnEditorTest

Change-Id: Iecdbbff7e21dfb11e3ba385858747a220cfd3e04
2023-07-11 08:35:17 +00:00
Treehugger Robot
6976a3137c Merge "DO NOT MERGE: Prevent non-system IME from becoming device admin" into rvc-dev 2023-07-06 21:55:15 +00:00
Treehugger Robot
9fa4b1e0a6 Merge "DO NOT MERGE: Prevent non-system IME from becoming device admin" into sc-dev 2023-07-06 21:18:12 +00:00
Treehugger Robot
6cf9c58fa5 Merge "DO NOT MERGE: Prevent non-system IME from becoming device admin" into rvc-qpr-dev 2023-07-06 21:15:44 +00:00
Treehugger Robot
e5f9ab14ce Merge "DO NOT MERGE: Prevent non-system IME from becoming device admin" into sc-qpr1-dev 2023-07-06 19:53:12 +00:00
Matías Hernández
42bd4d88c2 Settings: don't try to allow NLSes with too-long component names am: f1af8c5292
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23726246

Change-Id: Iaf37229e9570c29792e801446e8db162ebb3dbda
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 16:25:28 +00:00
Matías Hernández
5985612633 Settings: don't try to allow NLSes with too-long component names am: f0367c98d0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23712724

Change-Id: I51744909a3ef6fcb1406dcc24d857d9b9eb88057
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 09:29:06 +00:00
Matías Hernández
f0367c98d0 Settings: don't try to allow NLSes with too-long component names
* NotificationAccessConfirmationActivity (triggered through CompanionDeviceManager) -> Don't show the dialog, bail out early similarly to other invalid inputs.
* NotificationAccessSettings (from Special App Access) -> No changes, but use the canonical constant now.
* ApprovalPreferenceController (used in NotificationAccessDetails) -> Disable the toggle, unless the NLS was previously approved (in which case it can still be removed).

Fixes: 260570119
Fixes: 286043036
Test: atest + manually
Change-Id: Ifc048311746c027e3683cdcf65f1079d04cf7c56
Merged-In: Ifc048311746c027e3683cdcf65f1079d04cf7c56
2023-06-19 09:58:28 +00:00
Matías Hernández
f1af8c5292 Settings: don't try to allow NLSes with too-long component names
* NotificationAccessConfirmationActivity (triggered through CompanionDeviceManager) -> Don't show the dialog, bail out early similarly to other invalid inputs.
* NotificationAccessSettings (from Special App Access) -> No changes, but use the canonical constant now.
* NotificationAccessDetails -> Disable the toggle, unless the NLS was previously approved (in which case it can still be removed).

Fixes: 260570119
Fixes: 286043036
Test: atest + manually
Change-Id: Ifc048311746c027e3683cdcf65f1079d04cf7c56
Merged-In: Ifc048311746c027e3683cdcf65f1079d04cf7c56
2023-06-19 11:49:11 +02:00
Matías Hernández
50df60c93c Don't hide approved NLSes in Settings am: ff255c6eda
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23563580

Change-Id: I42099e38ef7b479b9339b545fe8d12d3bbe95112
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 12:57:15 +00:00
Matías Hernández
d7608c84b4 DO NOT MERGE Don't hide approved NLSes in Settings am: 173cc267e0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23563581

Change-Id: I11ee7cc3bfd291f32e602eff65ce93ba57bcc407
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 12:52:41 +00:00
Taran Singh
27a97f4583 DO NOT MERGE: Prevent non-system IME from becoming device admin
Currently selected IME can inject KeyEvent on DeviceAdminAdd screen to
activate itself as device admin and cause various DoS attacks.

This CL ensures KeyEvent on "Activate" button can only come from system
apps.

Bug: 280793427
Test: atest DeviceAdminActivationTest
Change-Id: I6470d1684d707f4b1e86f8b456be0b4e0af5f188
(cherry picked from commit 70a501d02e)
2023-06-07 21:12:08 +00:00
Taran Singh
0564ec25bb DO NOT MERGE: Prevent non-system IME from becoming device admin
Currently selected IME can inject KeyEvent on DeviceAdminAdd screen to
activate itself as device admin and cause various DoS attacks.

This CL ensures KeyEvent on "Activate" button can only come from system
apps.

Bug: 280793427
Test: atest DeviceAdminActivationTest
Change-Id: I6470d1684d707f4b1e86f8b456be0b4e0af5f188
(cherry picked from commit 70a501d02e)
2023-06-07 18:29:05 +00:00
Matías Hernández
ff255c6eda Don't hide approved NLSes in Settings
Note that an NLS that shouldn't be approvable (because its name is too long) but was already approved (either before the max length check was introduced, or through other means) will disappear from the list if the user revokes its access. This might be somewhat confusing, but since this is a very-edge case already it's fine.

Bug: 282932362
Test: manual
Change-Id: I4c9faea68e6d16b1a4ec7f472b5433cac1704c06
2023-06-06 19:07:58 +02:00
Matías Hernández
173cc267e0 DO NOT MERGE Don't hide approved NLSes in Settings
Note that an NLS that shouldn't be approvable (because its name is too long) but was already approved (either before the max length check was introduced, or through other means) will disappear from the list if the user revokes its access. This might be somewhat confusing, but since this is a very-edge case already it's fine.

Bug: 282932362
Test: manual
Change-Id: Iccfe7b53d643d6c9f9516f91d3cee3309b11551e
2023-06-05 17:16:48 +00:00
Taran Singh
cb2b753094 DO NOT MERGE: Prevent non-system IME from becoming device admin
Currently selected IME can inject KeyEvent on DeviceAdminAdd screen to
activate itself as device admin and cause various DoS attacks.

This CL ensures KeyEvent on "Activate" button can only come from system
apps.

Bug: 280793427
Test: atest DeviceAdminActivationTest
Change-Id: I6470d1684d707f4b1e86f8b456be0b4e0af5f188
(cherry picked from commit 70a501d02e)
2023-06-02 22:37:11 +00:00
Taran Singh
0ee3b96e59 DO NOT MERGE: Prevent non-system IME from becoming device admin
Currently selected IME can inject KeyEvent on DeviceAdminAdd screen to
activate itself as device admin and cause various DoS attacks.

This CL ensures KeyEvent on "Activate" button can only come from system
apps.

Bug: 280793427
Test: atest DeviceAdminActivationTest
Change-Id: I6470d1684d707f4b1e86f8b456be0b4e0af5f188
(cherry picked from commit 70a501d02e)
2023-06-02 21:58:54 +00:00