Commit Graph

31974 Commits

Author SHA1 Message Date
Tsung-Mao Fang
0eb3011fc2 [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:54:19 +08:00
Arc Wang
e3134c4a04 [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 09:51:05 +08: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
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
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
Arc Wang
c55b5b54d2 Hide non-system overlay window on ActivityPicker
To improve security.

Bug: 181962311
Test: manual
      Show an AlertDialog and observe if it will hide after below command.
      adb shell am start -a android.intent.action.PICK_ACTIVITY -n com.android.settings/.ActivityPicker
Change-Id: I800f0f39a469a95eb36eeaaeb2aa60a39fd916d3
Merged-In: I800f0f39a469a95eb36eeaaeb2aa60a39fd916d3
2022-04-07 03:42:02 +00:00
Bonian Chen
6279d80f93 Merge "[Settings] Move display of VPN version into summary text" into rvc-qpr-dev 2022-04-07 00:08:23 +00:00
TreeHugger Robot
0b507f0203 [conflict] Merge "Prevent exfiltration of system files via user image settings." into qt-dev am: 74ff164972 am: e6e739d8b0 am: ed29b05dcd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17540383

Change-Id: I03622a4803112de1f7b2f2fb3000b007444bc19b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 17:48:29 +00:00
TreeHugger Robot
ed29b05dcd [conflict] Merge "Prevent exfiltration of system files via user image settings." into qt-dev am: 74ff164972 am: e6e739d8b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17003629

Change-Id: I8bba0ed0611a7cef34b210e7e7553de70dbf9aa3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Merged-In: I15e15ad88b768a5b679de32c5429d921d850a3cb
2022-04-01 16:13:50 +00:00
TreeHugger Robot
e6e739d8b0 Merge "Prevent exfiltration of system files via user image settings." into qt-dev am: 74ff164972
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17003629

Change-Id: I5ebae8947d883130b93c9a82d087656dab41498a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 12:58:31 +00:00
TreeHugger Robot
74ff164972 Merge "Prevent exfiltration of system files via user image settings." into qt-dev 2022-04-01 12:42:31 +00:00
lucaslin
652527b496 Hide private DNS settings UI in Guest mode am: 52e863b5a2 am: 2c1c76cd35 am: 14e88ca2f9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17129063

Change-Id: I8d31577fb64d959949b1c2aed51e482cb54a57ac
2022-03-09 06:55:34 +00:00
lucaslin
14e88ca2f9 Hide private DNS settings UI in Guest mode am: 52e863b5a2 am: 2c1c76cd35
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17129063

Change-Id: I417c9687ae22749f428a902a01612c50cbf0e52c
2022-03-09 06:32:20 +00:00
lucaslin
2c1c76cd35 Hide private DNS settings UI in Guest mode am: 52e863b5a2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17129063

Change-Id: I5fc7b5001299b8831a1dd9440b6e25dfaf6d8a98
2022-03-09 06:08:16 +00:00
lucaslin
52e863b5a2 Hide private DNS settings UI in Guest mode
Hide private DNS settings UI in Guest mode to prevent guest
users modifying global private DNS settings.

Bug: 206987762
Test: 1. make RunSettingsRoboTests \
         ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest
      2. Switch to Guest user and check if the private DNS UI is
         hidden or not.
Change-Id: Iebfb8684da3be32110decd9e8447dd07b1c40387
2022-03-09 02:54:12 +00:00
Oli Lan
8950a90024 Prevent exfiltration of system files via user image settings.
This is a backport of ag/17005706.

This adds mitigations to prevent system files being exfiltrated
via the settings content provider when a content URI is provided
as a chosen user image.

The mitigations are:

1) Copy the image to a new URI rather than the existing takePictureUri
prior to cropping.

2) Only allow a system handler to respond to the CROP intent.

Bug: 187702830
Test: build and check functionality
Change-Id: Ia6314b6810afb5efa0329f3eeaee9ccfff791966
Merged-In: I15e15ad88b768a5b679de32c5429d921d850a3cb
2022-03-03 13:18:16 +00:00
Jack Yu
46bd9ba5a5 Do not let guest user disable secure nfc am: 4e543a38f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16691813

Change-Id: Iffe578c58bf2dcebda45b0b71dd901bd3e08be41
2022-02-08 02:15:55 +00:00
Jack Yu
4e543a38f6 Do not let guest user disable secure nfc
Bug: 209446496
Test: manual
Merged-In: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
Change-Id: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
(cherry picked from commit d9e3e6e4b1)
2022-02-02 17:44:55 +00:00
Jack Yu
1009054124 Do not let guest user disable secure nfc am: a579ca7554
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16691815

Change-Id: Ic68c6849bb65875aea6286d415c66ae8a9f57dfa
2022-01-28 22:19:10 +00:00
Jack Yu
a579ca7554 Do not let guest user disable secure nfc
Bug: 209446496
Test: manual
Merged-In: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
Change-Id: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
(cherry picked from commit d9e3e6e4b1)
2022-01-22 07:56:25 +00:00
TreeHugger Robot
d902f8c7d6 Merge "Add caller check to com.android.credentials.RESET" into qt-dev am: 50b65a168a am: 1ef5f42b54 am: f43f129dc0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16577205

Change-Id: I7080ca5b236b6dd34cfe66789ef1a141d3b735cb
2022-01-13 19:35:50 +00:00
TreeHugger Robot
f43f129dc0 Merge "Add caller check to com.android.credentials.RESET" into qt-dev am: 50b65a168a am: 1ef5f42b54
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16577205

Change-Id: Ibc94e102fc69e4e2052526e1ee000684c5d7724f
2022-01-13 19:18:08 +00:00
TreeHugger Robot
1ef5f42b54 Merge "Add caller check to com.android.credentials.RESET" into qt-dev am: 50b65a168a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16577205

Change-Id: I8dae6a8a3fd0ed7cde335ead1e4b760bb5a8d195
2022-01-13 19:04:05 +00:00
TreeHugger Robot
50b65a168a Merge "Add caller check to com.android.credentials.RESET" into qt-dev 2022-01-13 18:50:36 +00:00
Edgar Wang
c0d6987e06 Fix bypass CALL_PRIVILEGED permission in AppRestrictionsFragment am: f57d75f127
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16579585

Change-Id: Icd26ee5a31e0cc7e11edaf6c542b045ab3a7ff01
2022-01-13 06:50:30 +00:00
Edgar Wang
8e7cc8fa4d Fix bypass CALL_PRIVILEGED permission in AppRestrictionsFragment
In onReceive of AppRestrictionsFragment.java, there is a possible way to
start a phone call without permissions due to a confused deputy.
This could lead to local escalation of privilege with no additional
execution privileges needed.

We should not allow the restrictionsIntent to startActivity simply
because it resolves to multiple activities.
Instead, we should call resolveActivity and check the result's package
name is same as current package name, then it is safe to startActivity.

Bug: 200688991
Test: manual verify
Change-Id: Iaa2d3a9497c3266babe0789961befc9776a4db7a
Merged-In: Iaa2d3a9497c3266babe0789961befc9776a4db7a
(cherry picked from commit 359512cd95)
2022-01-07 04:24:28 +00:00
Edgar Wang
dc44d01a16 Fix bypass CALL_PRIVILEGED permission in AppRestrictionsFragment
In onReceive of AppRestrictionsFragment.java, there is a possible way to
start a phone call without permissions due to a confused deputy.
This could lead to local escalation of privilege with no additional
execution privileges needed.

We should not allow the restrictionsIntent to startActivity simply
because it resolves to multiple activities.
Instead, we should call resolveActivity and check the result's package
name is same as current package name, then it is safe to startActivity.

Bug: 200688991
Test: manual verify
Change-Id: Iaa2d3a9497c3266babe0789961befc9776a4db7a
Merged-In: Iaa2d3a9497c3266babe0789961befc9776a4db7a
(cherry picked from commit 359512cd95)
2022-01-07 04:24:11 +00:00
Edgar Wang
f57d75f127 Fix bypass CALL_PRIVILEGED permission in AppRestrictionsFragment
In onReceive of AppRestrictionsFragment.java, there is a possible way to
start a phone call without permissions due to a confused deputy.
This could lead to local escalation of privilege with no additional
execution privileges needed.

We should not allow the restrictionsIntent to startActivity simply
because it resolves to multiple activities.
Instead, we should call resolveActivity and check the result's package
name is same as current package name, then it is safe to startActivity.

Bug: 200688991
Test: manual verify
Change-Id: Iaa2d3a9497c3266babe0789961befc9776a4db7a
Merged-In: Iaa2d3a9497c3266babe0789961befc9776a4db7a
(cherry picked from commit 359512cd95)
2022-01-07 04:23:50 +00:00
Alex Johnston
35e3d0c1b0 Add caller check to com.android.credentials.RESET
* Only the Settings app can reset credentials
  via com.android.credentials.RESET.
* com.android.credentials.INSTALL should still be
  callable by CertInstaller.

Manual testing steps:
* Install certificate via Settings
* Verify unable to reset certificates via test app
  provided in the bug (app-debug.apk)
* Verify able to reset certificates via Settings
* Verify com.android.credentials.INSTALL isn't changed

Bug: 200164168
Test: manual
Change-Id: I9dfde586616d004befbee529f2ae842d22795065
(cherry picked from commit 4c1272a921)
Merged-In: I9dfde586616d004befbee529f2ae842d22795065
2022-01-06 22:17:17 +00:00
Alex Johnston
88b7d05d76 Add non system overlay flag to InstallCaCertificateWarning am: fca5cb3748
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16405873

Change-Id: I6b616fa81ce4c5c53e553f8e692fdc059bb894fe
2021-12-09 12:03:22 +00:00
Alex Johnston
fca5cb3748 Add non system overlay flag to InstallCaCertificateWarning
Bug: 196969991
Test: Manual testing with Settings
Change-Id: Ia9dc251c853526b2ce66c9f8ff595d496b7f1bc4
Merged-In: Ia9dc251c853526b2ce66c9f8ff595d496b7f1bc4
(cherry picked from commit 2f193c8157)
2021-12-08 21:18:30 +00:00
Bonian Chen
5fc0e6614d [Settings] Move display of VPN version into summary text
Move the display of version text within VPN into summary part of the
display, and limit the height of summary area.

Bug: 205460459
Test: install apk from b/205460459#comment3 and verify
Change-Id: I666b9db356feeebf04e3be688897c2d9110a5275
(cherry picked from commit 144f295d7a)
Merged-In: I666b9db356feeebf04e3be688897c2d9110a5275
2021-12-06 09:48:50 +00:00
Hugh Chen
d1ee2f41e8 RESTRICT AUTOMERGE Fix make Bluetooth discoverable without additional permission am: d4e0ed2284
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16145003

Change-Id: If228864e833e512870a9d60ef457e4aa2c7820a9
2021-11-09 07:24:45 +00:00
Hugh Chen
d4e0ed2284 RESTRICT AUTOMERGE Fix make Bluetooth discoverable without additional permission
- Only enable device can be discoverable when the user launch
  "Connected Devices settings" through settings and systemui

Bug: 194695497
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: Ia04ab759b737acf30b782f5c5831dd59f25fb257
(cherry picked from commit d3abbb9821)
2021-11-01 07:37:33 +00:00
Hugh Chen
528d40e4d1 RESTRICT AUTOMERGE Fix make Bluetooth discoverable without additional permission
- Only enable device can be discoverable when the user launch
  "Connected Devices settings" through settings and systemui

Bug: 194695497
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: Ia04ab759b737acf30b782f5c5831dd59f25fb257
(cherry picked from commit d3abbb9821)
2021-11-01 07:01:34 +00:00
Hugh Chen
249f9e2696 RESTRICT AUTOMERGE Fix make Bluetooth discoverable without additional permission
- Only enable device can be discoverable when the user launch
  "Connected Devices settings" through settings and systemui

Bug: 194695497
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: Ia04ab759b737acf30b782f5c5831dd59f25fb257
(cherry picked from commit d3abbb9821)
2021-11-01 07:00:33 +00:00
Weng Su
cbd0883356 [RESTRICT AUTOMERGE] Revert "Add permission checking to WifiDialogActivity" am: 6a2624e500
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15958163

Change-Id: I74316633648d6a5002433440358b9a0a443b3cf8
2021-10-06 19:04:58 +00:00
Weng Su
457a63ce84 [RESTRICT AUTOMERGE] Revert "Add SafetyNet logging" am: d05686b431
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15958162

Change-Id: I90af118b9033a7ee53b35aa2b435d2ba95281181
2021-10-06 19:04:56 +00:00
Weng Su
18043562c1 [RESTRICT AUTOMERGE] Revert "[DO NOT MERGE] Add permission checking to WifiDialogActivity"
Revert submission 15207347-add_permission_wifidialog

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
If7ca069c8:[DO NOT MERGE] Add permission checking to WifiDial...
I1535f6f2d:[DO NOT MERGE] Add SafetyNet logging

Bug: 185126813
Change-Id: Ifc3b53dc91fc8d5aa31c1a10d4eb033bbe54c47d
2021-10-05 06:47:46 +00:00
Weng Su
6a2624e500 [RESTRICT AUTOMERGE] Revert "Add permission checking to WifiDialogActivity"
Revert submission 15220072-add_permission_wifidialog-qt-dev

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
I1535f6f2d:Add SafetyNet logging
If7ca069c8:Add permission checking to WifiDialogActivity

Bug: 185126813
Change-Id: I3f75adf5bf0eea037dc0c5dfbeeb22b35b2856b6
2021-10-05 03:37:51 +00:00
Weng Su
12dcd5034a [RESTRICT AUTOMERGE] Revert "[DO NOT MERGE] Add SafetyNet logging"
Revert submission 15207347-add_permission_wifidialog

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
If7ca069c8:[DO NOT MERGE] Add permission checking to WifiDial...
I1535f6f2d:[DO NOT MERGE] Add SafetyNet logging

Bug: 185126813
Change-Id: I41721dbb34612144d00dba7885944d834bf93c7d
2021-10-05 03:24:34 +00:00
Weng Su
d05686b431 [RESTRICT AUTOMERGE] Revert "Add SafetyNet logging"
Revert submission 15220072-add_permission_wifidialog-qt-dev

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
I1535f6f2d:Add SafetyNet logging
If7ca069c8:Add permission checking to WifiDialogActivity

Bug: 185126813
Change-Id: I42b77ac420d9438c741b28ce33bcadf1c74b19eb
2021-10-05 03:23:45 +00:00
Weng Su
b9b493d39d [DO NOT MERGE] Add SafetyNet logging
- Add SafetyNet log if the calling package is no the permission for
result

Test: checked eventlog in the bugreport
Bug: 185126813

Merged-In: I1535f6f2ded2445702df0d723518b773cd094164
Change-Id: I1535f6f2ded2445702df0d723518b773cd094164
(cherry picked from commit 199528d460)
2021-08-09 12:28:31 +00:00
Weng Su
f973f2ac69 [DO NOT MERGE] Add permission checking to WifiDialogActivity
- Use getCallingPackage() to get calling package.

- Check if the calling package has ACCESS_COARSE_LOCATION or
ACCESS_COARSE_LOCATION permission.

- Only set result data to permission granted callers

Bug: 185126813
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiDialogActivityTest

Merged-In: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
Change-Id: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
(cherry picked from commit 71e728e934)
2021-08-08 13:21:52 +00:00
Weng Su
8df9b236f8 Add SafetyNet logging am: 62041d683b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15220072

Change-Id: I5a821a0c9bd39e0267635ebfb7ce4a2234f14696
2021-08-07 15:02:15 +00:00
Weng Su
fa62e69c1d Add permission checking to WifiDialogActivity am: 8800cdf527
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15212404

Change-Id: Iaa937ab9fe9b071fa27dd9306e9f28ddbd8a00b0
2021-08-07 15:02:13 +00:00
Weng Su
62041d683b Add SafetyNet logging
- Add SafetyNet log if the calling package is no the permission for
result

Test: checked eventlog in the bugreport
Bug: 185126813

Merged-In: I1535f6f2ded2445702df0d723518b773cd094164
Change-Id: I1535f6f2ded2445702df0d723518b773cd094164
(cherry picked from commit 199528d460)
2021-07-07 08:22:17 +00:00
Weng Su
8800cdf527 Add permission checking to WifiDialogActivity
- Use getCallingPackage() to get calling package.

- Check if the calling package has ACCESS_COARSE_LOCATION or
ACCESS_COARSE_LOCATION permission.

- Only set result data to permission granted callers

Bug: 185126813
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiDialogActivityTest

Merged-In: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
Change-Id: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
(cherry picked from commit 71e728e934)
2021-07-07 08:06:29 +00:00
Hugh Chen
d351303e36 RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message am: fa504b8e01
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15021917

Change-Id: I311472b1f9d27cc4a7da875150741f0eb51e573f
2021-06-28 06:06:01 +00:00
Hugh Chen
3f493a3078 RESTRICT AUTOMERGE Update string am: 7ce80425ee
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15016137

Change-Id: I9c8fabb01ea2cf69b2714523b361f50a5a597561
2021-06-28 06:05:58 +00:00