Allow UiAutomation to adopt the shell permission indentity
For testing we often need to run shell commands. This can be done today via running a shell command from an instrumentation test started from the shell. However, this requires adding shell commands which are not in the API contract, involve boilerplate code, require string parsing, etc. This change allows an instrumentation started from the shell to adopt the shell UID permission state. As a result one can call APIs protected by permissions normal apps cannot get by are granted to the shell. This enables adding dedicated test APIs protected by signatures permissions granted to the shell. Test: cts-tradefed run cts-dev -m CtsUiAutomationTestCases -t android.app.uiautomation.cts.UiAutomationTest#testAdoptShellPermissions bug:80415658 Merged-In: I4bfd4b475225125512abf80ea98cd8fcacb6a1be Change-Id: I4bfd4b475225125512abf80ea98cd8fcacb6a1be
Showing
- api/current.txt 2 additions, 0 deletionsapi/current.txt
- api/test-current.txt 2 additions, 0 deletionsapi/test-current.txt
- core/java/android/app/AppOpsManager.java 1 addition, 1 deletioncore/java/android/app/AppOpsManager.java
- core/java/android/app/AppOpsManagerInternal.java 43 additions, 0 deletionscore/java/android/app/AppOpsManagerInternal.java
- core/java/android/app/IActivityManager.aidl 15 additions, 0 deletionscore/java/android/app/IActivityManager.aidl
- core/java/android/app/IUiAutomationConnection.aidl 2 additions, 1 deletioncore/java/android/app/IUiAutomationConnection.aidl
- core/java/android/app/UiAutomation.java 44 additions, 16 deletionscore/java/android/app/UiAutomation.java
- core/java/android/app/UiAutomationConnection.java 34 additions, 1 deletioncore/java/android/app/UiAutomationConnection.java
- core/java/android/content/pm/PackageManager.java 2 additions, 0 deletionscore/java/android/content/pm/PackageManager.java
- core/java/android/content/pm/PackageManagerInternal.java 43 additions, 0 deletionscore/java/android/content/pm/PackageManagerInternal.java
- core/java/com/android/internal/app/IAppOpsService.aidl 1 addition, 1 deletioncore/java/com/android/internal/app/IAppOpsService.aidl
- services/core/java/com/android/server/AppOpsService.java 71 additions, 19 deletionsservices/core/java/com/android/server/AppOpsService.java
- services/core/java/com/android/server/am/ActivityManagerService.java 146 additions, 0 deletions...re/java/com/android/server/am/ActivityManagerService.java
- services/core/java/com/android/server/pm/PackageManagerService.java 55 additions, 0 deletions...ore/java/com/android/server/pm/PackageManagerService.java
- services/core/java/com/android/server/pm/permission/PermissionManagerInternal.java 0 additions, 8 deletions...droid/server/pm/permission/PermissionManagerInternal.java
- test-mock/api/test-current.txt 2 additions, 0 deletionstest-mock/api/test-current.txt
Loading
Please register or sign in to comment