Commit Graph

610 Commits

Author SHA1 Message Date
Jing Ji
2d49689f32 Add health connect permissions to FGS type "health"
Bug: 246792057
Bug: 254662338
Test: atest CtsAppFgsTestCases
Change-Id: I95be5f3f69c35299bb0edc998b40b103f3963d17
2022-11-22 20:13:58 -08:00
Eghosa Ewansiha-Vlachavas
634989cd5f Add app exemptions APIs for managing platform restriction exemptions
Add DPM.setApplicationExemptions API along with exemption constants.
Add DPM.getApplicationExemptions API
Add corresponding methods in DPMS along with map of DPM exemptions
constants to app-ops.
Add permission to AndroidManifest to expose to CTS tests.

Bug: 246330879
Test: atest ApplicationExemptionsTest
Change-Id: I1271db694af4091ead951d0167edac55ace92f47
2022-11-16 11:11:35 +00:00
Jing Ji
4826749a10 Implement the foreground service type enforcement
Currently it's warning only.

To test with it:
adb shell am compat enable FGS_TYPE_PERMISSION_CHANGE_ID \
    com.my.package.name
adb shell am compat enable FGS_TYPE_DATA_SYNC_DISABLED_CHANGE_ID \
    com.my.package.name

Bug: 246792057
Bug: 254662046
Test: atest CtsAppFgsTestCases
Change-Id: I87a112dc9f254e5ea3231bddaf7f542a19cb7604
2022-11-15 05:18:27 -08:00
Aishwarya Mallampati
5568769a3b Merge "Add setUserHandle and getUserHandle apis." 2022-10-23 14:56:45 +00:00
Jing Ji
38cde61727 Merge "ActivityManager#killBackgroundProcesses can kill caller's own app only" 2022-10-22 19:35:18 +00:00
Amos Bianchi
62e8cf3a70 Add Device Lock service to system server.
Bug: b/241442337
Bug: b/228907574
Test: service successfully starts
Test: atest DeviceLockUnitTests
Test: cts-tradefed run cts -m CtsDeviceLockTestCases

Change-Id: I928d697c4040168955090712547c973a9e7ff61c
2022-10-20 22:50:42 -07:00
Aishwarya Mallampati
4f83895959 Add setUserHandle and getUserHandle apis.
Bug: 247166170
Test: Basic testing, unittests
Change-Id: I4b9ab5f56a3ddac25ab8c335a84d86b5ba0fe932
2022-10-20 22:55:44 +00:00
Jing Ji
e8979d4c43 ActivityManager#killBackgroundProcesses can kill caller's own app only
unless it has the privileged permission KILL_ALL_BACKGROUND_PROCESSES.

Bug: 239423414
Test: atest CtsAppTestCases:ActivityManagerTest
Change-Id: I35d20539ffac055a6d61260445620f45584bd9c5
2022-10-17 17:20:06 -07:00
Jay Sullivan
c81b5c685e Merge "Enforce ADJUST_RUNTIME_PERMISSIONS_POLICY" 2022-10-17 20:25:33 +00:00
Jay Thomas Sullivan
fd6643e366 Enforce ADJUST_RUNTIME_PERMISSIONS_POLICY
In updatePermissionFlags, we're calling clearCallingIdentity. And,
just after doing so, we're calling
enforceCallingOrSelfPermission(ADJUST_RUNTIME_PERMISSIONS_POLICY).
But, these two things don't really make sense together, because the
former nullifies the latter.

We could either:

1. Remove clearCallingIdentity but keep enforceCallingOrSelfPermission,
   or
2. Remove both

For security, this CL goes with the first option. But, doing so means
updatePermissionFlags now enforces ADJUST_RUNTIME_PERMISSIONS_POLICY.
And this breaks some CTS tests. To address this, we have to add
ADJUST_RUNTIME_PERMISSIONS_POLICY to the shell identity.

Bug: 190694761
Test: atest ActivityPermissionRationaleTest
Change-Id: I7031aebf69d9ec919334573b99eb6b7cb8be31d0
2022-10-13 14:12:46 -07:00
Grace Cheng
f724f5c0fe Merge "Adds LOCATION_BYPASS permission to Shell" 2022-10-13 20:08:53 +00:00
Grace Cheng
4d15a49e7c Adds LOCATION_BYPASS permission to Shell
Test: none

Change-Id: I4106647789b15793d04f81283954b06f6377cd54
2022-10-11 23:28:19 +00:00
Hyein Yu
4a61900115 Merge "Add FULL_ACCESS_CELL_BROADCAST_HISTORY permission to shell for CellBroadcast MTS test." am: 70d864fbf1 am: a7e087d1c8 am: 602d511bac
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2228942

Change-Id: If50745a2b18aef596ec55a8d14dcf506941eb5dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-07 03:40:47 +00:00
TreeHugger Robot
677d18848e Merge "Add updateLockTaskPackages API to ActivityTaskManager" 2022-09-29 20:39:30 +00:00
Hyein Yu
7f0ea0a6ad Add FULL_ACCESS_CELL_BROADCAST_HISTORY permission to shell for CellBroadcast MTS test.
Grant FULL_ACCESS_CELL_BROADCAST_HISTORY permissions to the shell identity for use within CellBroadcast MTS tests.

Bug: 236217191
Bug: 227422973
Test: atest com.android.cellbroadcastreceiver.compliancetests.CellBroadcastConfigTest
Change-Id: Ief5a4c168968b4dc8c9cf7cc071618d41c23d220
2022-09-26 06:18:26 +00:00
Chavi Weingarten
612711c345 Introduce SystemAPI MediaProjectionGlobal
This API can be used from calls outside applications to create a virtual
display for mirroring. The permission checks in system server are still
in place so the caller must have CAPTURE_VIDEO_OUTPUT permission. This
class is intented to be used by systems that to stream device content,
but not from an application. In most cases, this will be called from
Shell or a system application.

Test: MediaProjectGlobalTest
Bug: 237664947
Change-Id: I43f79c83db7c82c0b682ef174fb1a5ab83795489
2022-09-16 13:13:04 +00:00
Yanli Wan
e95e91730e Add updateLockTaskPackages API to ActivityTaskManager
The API will be available in CTS so that we can use it directly instead
of calling it from other system components.

Bug: 240602359
Test: Build & call the API from CTS
Change-Id: I8aa6ee85adb62cda67479c7213d2bc022acd0eec
2022-09-08 17:50:11 +00:00
Yohei Yukawa
b869c78380 Protect isInputMethodPickerShown() with TEST_INPUT_METHOD permission
IInputMethodManager#isInputMethodPickerShownForTest() was introduced
in Android P (API 28) to verify IME picker visibility in CTS [1].

To make it clear that that IPC method must be available only for
special testing purpose, this CL introduces an @hide permission

   android.permission.TEST_INPUT_METHOD

and requires it in

   InputMethodManagerService#isInputMethodPickerShownForTest().

This CL grants that permission to the shell process hence CTS tests
can still access to the corresponding test API by using
UiAutomation#adoptShellPermissionIdentity().

 [1]: I4e21625c32a0ca1abc740229efb3c7fcd97141cc
      eb5706183f

Bug: 237317525
Test: atest CtsInputMethodTestCases
Test: Manually verified as follows.
 1. adb logcat -b events | grep 237317525
 2. atest CtsInputMethodTestCases:InputMethodManagerTest#testIsInputMethodPickerShownProtection
Ignore-AOSP-First: For a security fix
Change-Id: Ie79a3e9d41ce22605ae083594d639c37d08b7def
2022-07-12 19:03:26 -07:00
Jimmy Chen
318410fe93 Merge "p2p: add CONFIGURE_WIFI_DISPLAY permssion for P2P test" am: 1bf4072c78 am: a29505af31 am: a6b28ca5eb am: f1223c1738 am: 5a6c0e7802
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2115076

Change-Id: Icd950eb147b5b0828dbed889cdf3b4f91a0df85d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-16 02:08:54 +00:00
Jimmy Chen
a6b28ca5eb Merge "p2p: add CONFIGURE_WIFI_DISPLAY permssion for P2P test" am: 1bf4072c78 am: a29505af31
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2115076

Change-Id: Id14c36a6cdfc6b01e97846c38238f14fc231cfe0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-16 01:44:21 +00:00
Jimmy Chen
f46b780f16 p2p: add CONFIGURE_WIFI_DISPLAY permssion for P2P test
Bug: 230699791
Test: atest android.net.wifi.cts.ConcurrencyTest#testP2pSetWfdInfo
Change-Id: Ic25dc6d7b18bad38863acfd32d839155da28141b
2022-06-08 15:38:18 +08:00
Neil Fuller
808b9f1b73 Merge "Add a Y2038 check into the time_detector" 2022-05-10 11:44:09 +00:00
Neil Fuller
2ff5ec1aad Add a Y2038 check into the time_detector
Add a Y2038 check into the time_detector and add infrastructure to allow
command-line testing to confirm it works.

This is before removing a Y2038 check from NITZ parsing code in the
telephony process. After this change, Androdi will consistently block
>= Y2038 suggestions, not just time signals that come in via telephony.

The initial checks attempt to limit the restriction to devices with
32-bit ABIs, since the main issue we're aware of is that time_t is a
32-bit signed int under bionic, hence there could be issues with that
type in 32-bit processes on 32-bit / mixed 32/64-bit devices.

Bug: 204193177
Test: adb shell cmd time_detector suggest_network_time --reference_time 2480587 --unix_epoch_time 1646473966056
Test: Run with 32-bit + 64-bit only builds, inspect adb shell dumpsys time_detector
Merged-In: Ib9d6472f5ca7a62d59b3224f1845846f99a0b52d
Change-Id: Ib9d6472f5ca7a62d59b3224f1845846f99a0b52d
2022-05-10 10:01:58 +00:00
Neil Fuller
68d98c0673 Merge "Add a Y2038 check into the time_detector" into tm-dev-plus-aosp am: 4b8d4c830c am: c37cbfd6c4 am: 9ee897724d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18142264

Change-Id: I5e816029c9978d1a313ddba9a2904d8ac9dc79ba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-07 01:26:53 +00:00
Neil Fuller
4b8d4c830c Merge "Add a Y2038 check into the time_detector" into tm-dev-plus-aosp 2022-05-06 16:53:29 +00:00
Treehugger Robot
95671fc41a Merge "Add USE_CUSTOM_VIRTUAL_MACHINE permission to Shell" am: 87e124332d am: ea4f257004 am: e0ceb9de72 am: 9fa6409399 am: d28e148bd9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2081684

Change-Id: I2c3d0fe1279cf740ab6e85afeed1df1325472d9c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 03:31:58 +00:00
Treehugger Robot
e0ceb9de72 Merge "Add USE_CUSTOM_VIRTUAL_MACHINE permission to Shell" am: 87e124332d am: ea4f257004
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2081684

Change-Id: I5f93d5daaaf09eb1d1a257df44bb2781828b734d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 02:19:17 +00:00
Neil Fuller
b1f132b5e6 Add a Y2038 check into the time_detector
Add a Y2038 check into the time_detector and add infrastructure to allow
command-line testing to confirm it works.

This is before removing a Y2038 check from NITZ parsing code in the
telephony process. After this change, Androdi will consistently block
>= Y2038 suggestions, not just time signals that come in via telephony.

The initial checks attempt to limit the restriction to devices with
32-bit ABIs, since the main issue we're aware of is that time_t is a
32-bit signed int under bionic, hence there could be issues with that
type in 32-bit processes on 32-bit / mixed 32/64-bit devices.

Bug: 204193177
Test: adb shell cmd time_detector suggest_network_time --reference_time 2480587 --unix_epoch_time 1646473966056
Test: Run with 32-bit + 64-bit only builds, inspect adb shell dumpsys time_detector
Ignore-AOSP-First: The change will be cherry-picked upstream
Change-Id: Ib9d6472f5ca7a62d59b3224f1845846f99a0b52d
2022-05-03 19:19:53 +00:00
Inseob Kim
0052c6c370 Add USE_CUSTOM_VIRTUAL_MACHINE permission to Shell
The permission allows a package to create a protected VM with custom
config. It's used by MicrodroidHostTestCases.

Bug: 207769805
Test: atest MicrodroidHostTestCases
Change-Id: If049d26c0ef97695098979c4a36fe1f7f607af5a
2022-05-02 18:05:26 +09:00
Seth Moore
bcc8929a4c Add new privileged permission for unique id attestation
This permission will eventually replace the sepolicy that we have now,
making it possible to test unique id attestation, which is no longer
possible due to the deprecation of shared uids.

Skipping automerger because the framework manifest has diverged too
much across aosp and tm-dev to allow for clean auto merges, and
presubmits block.

Test: KeyAttestationTest
Bug: 216778747
Ignore-AOSP-First: "do not merge" blocked automerging -- pick to master
Merged-In: Iecde35b9a79456b293118d8089dd2a3b0905f5f3
Change-Id: Iecde35b9a79456b293118d8089dd2a3b0905f5f3
2022-04-18 09:09:45 -07:00
TreeHugger Robot
9dac2d8576 Merge "Make READ_NEARBY_STREAMING_POLICY adoptable by shell for CTS tests" into tm-dev am: c0fc0ae2c7 am: cbfd0d3f77
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17729989

Change-Id: Ifcecaf6223dde8bb0d0feecc199a495e2d5bd140
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 16:44:48 +00:00
Iris Yang
d24c070acb Make READ_NEARBY_STREAMING_POLICY adoptable by shell for CTS tests
Bug: 217224856
Test: atest android.devicepolicy.cts.NearbyAppStreamingPolicyTest && atest android.devicepolicy.cts.NearbyNotificationStreamingPolicyTest
Ignore-AOSP-First: This new permission is part of a T-targeting feature
Change-Id: I303549d4f9fcf639da3d4981a8887c3ba55434fc
2022-04-14 21:52:23 +08:00
Seth Moore
d690893b54 Merge "Add new privileged permission for unique id attestation" 2022-04-06 12:40:27 +00:00
Seth Moore
d18fe9e3ce Add new privileged permission for unique id attestation
This permission will eventually replace the sepolicy that we have now,
making it possible to test unique id attestation, which is no longer
possible due to the deprecation of shared uids.

Skipping automerger because the framework manifest has diverged too
much across aosp and tm-dev to allow for clean auto merges, and
presubmits block.

Test: KeyAttestationTest
Bug: 216778747
Merged-In: Iecde35b9a79456b293118d8089dd2a3b0905f5f3
Change-Id: Iecde35b9a79456b293118d8089dd2a3b0905f5f3
2022-04-05 13:56:27 -07:00
Peiyong Lin
67263ff42c Merge "Allow Shell to have permission for CTS." into tm-dev am: a2df99e5eb am: 41013feae6
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17508836

Change-Id: I9f4c39e6c56dd16de728306758db6e0050142b4d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-05 02:49:53 +00:00
Peiyong Lin
a2df99e5eb Merge "Allow Shell to have permission for CTS." into tm-dev 2022-04-05 02:23:55 +00:00
TreeHugger Robot
98a91b9feb Merge "Add Shell permission to support manual testing" into tm-dev am: 8bc8d1b1fc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17505025

Change-Id: I739c01cbd5343e407953169500e5653d77abe011
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 21:56:01 +00:00
Peiyong Lin
7479cbc372 Allow Shell to have permission for CTS.
Add ACCESS_FPS_COUNTER to Shell in order to run CTS properly.

Ignore-AOSP-First: permission doesn't exist in AOSP yet.
Bug: b/220029298
Test: atest TaskFpsCallbackCtsTest
Test: atest TaskFpsCallbackCtsTest --instant
Change-Id: Ica37bafff368f4a0027f9549de6a31ce3254c986
2022-03-30 17:17:50 +00:00
Neil Fuller
fddc4e2741 Add Shell permission to support manual testing
Add android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE to the shell
process to enable command-line injection of time zone suggestions to the
time_zone_detector service.

Shell already has permissions like SET_TIME_ZONE that allow the time
zone to be set directly, so this is not a security regression.

Bug: 227337462
Test: adb shell cmd time_zone_detector suggest_telephony_time_zone --slot_index 0 --zone_id Europe/London --quality single --match_type country
Merged-In: I377cab85a1b39ef2887b452d1ffcdc5b00a8d5ab
Change-Id: I377cab85a1b39ef2887b452d1ffcdc5b00a8d5ab
2022-03-30 13:28:57 +00:00
Neil Fuller
c55590c810 Add Shell permission to support manual testing
Add android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE to the shell
process to enable command-line injection of time zone suggestions to the
time_zone_detector service.

Shell already has permissions like SET_TIME_ZONE that allow the time
zone to be set directly, so this is not a security regression.

Bug: 227337462
Test: adb shell cmd time_zone_detector suggest_telephony_time_zone --slot_index 0 --zone_id Europe/London --quality single --match_type country
Ignore-AOSP-First: Merge conflict, AOSP cherry-pick will land after
Change-Id: I377cab85a1b39ef2887b452d1ffcdc5b00a8d5ab
2022-03-30 13:28:01 +00:00
Antoan Angelov
3537456763 Merge "Add ACCESS_PDB_STATE to shell permissions" into tm-dev am: 1fdf546865
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17473103

Change-Id: I7718a8f64aca2a4678d49ef0f944446081e62b41
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 13:22:09 +00:00
arangelov
556bc1a363 Add ACCESS_PDB_STATE to shell permissions
This is needed for CtsPersistentDataBlockManagerTestCases

Bug: 220030410
Test: none
Change-Id: I8d3e75caa1eece052d5495fc06c8beb3ca76b480
2022-03-29 18:17:11 +00:00
Seth Moore
14e9f41072 Merge "DO NOT MERGE Add new privileged permission for unique id attestation" into tm-dev 2022-03-29 15:04:06 +00:00
Seth Moore
4d8825e4da DO NOT MERGE Add new privileged permission for unique id attestation
This permission will eventually replace the sepolicy that we have now,
making it possible to test unique id attestation, which is no longer
possible due to the deprecation of shared uids.

Skipping automerger because the framework manifest has diverged too
much across aosp and tm-dev to allow for clean auto merges, and
presubmits block.

Test: KeyAttestationTest
Bug: 216778747
Change-Id: Iecde35b9a79456b293118d8089dd2a3b0905f5f3
2022-03-25 10:21:40 -07:00
Alex Johnston
f7a1a20815 Require TRIGGER_LOST_MODE permission for sendLostModeLocationUpdate
Changes:
* Use TRIGGER_LOST_MODE permission to gate the
  DevicePolicyManager API sendLostModeLocationUpdate

Bug: 223148704
Test: atest android.devicepolicy.cts.LostModeLocationTest
Change-Id: If15388a377c75b7581c9c2a35b3d9828f78e13fc
Merged-In: If15388a377c75b7581c9c2a35b3d9828f78e13fc
2022-03-24 12:29:28 +00:00
Arthur Hung
7298692865 Expose input association to be testable
- Expose api via TestApi
- Add ASSOCIATE_INPUT_DEVICE_TO_DISPLAY permission to Shell
- Add port for uinput command

Bug: 215631144
Test: atest CtsInputTestCases
Ignore-AOSP-First: Permission that should be kept internal until T releases
Change-Id: I55f2141aabceb71475f5e7f7d590b2f95e05c5aa
2022-03-21 13:05:08 +08:00
Jack He
8164e677af Merge "Shell: Grant BLUETOOTH_PRIVILEGED permission to Shell" am: 69e560995c am: eada5871f4 am: 384882aada am: 9d8b6c7b32
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2031463

Change-Id: Icc2703da9278250dffd6d594389f0d4fdc7fdb76
2022-03-19 01:01:56 +00:00
Jack He
9d8b6c7b32 Merge "Shell: Grant BLUETOOTH_PRIVILEGED permission to Shell" am: 69e560995c am: eada5871f4 am: 384882aada
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2031463

Change-Id: Id694d0b7240a3ffb757b9ba0f87469b97aca0dd8
2022-03-19 00:55:12 +00:00
Jack He
fedd79c9d7 Shell: Grant BLUETOOTH_PRIVILEGED permission to Shell
* So that we can run CTS test with Shell permission

Bug: 225250442
Test: make
Change-Id: I9bf52d9325732c8ea1fef102591da1198b8c4fae
2022-03-18 00:33:22 -07:00
Etan Cohen
05c20a91f1 Merge "Add MANAGE_WIFI_INTERFACES to the shell permission" am: dc2f8bfaee am: 8dcf52fdd9 am: ab6b6abfcd am: 19b2879e24
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2021397

Change-Id: I97f73829e18971abb41000b869274d4d10edccb2
2022-03-15 00:56:22 +00:00