From c6d1c345f41cf817bf2c07c97b97107d94296064 Mon Sep 17 00:00:00 2001 From: Svetoslav Date: Thu, 26 Feb 2015 14:44:43 -0800 Subject: Runtime permissions: per user permission tracking. Before all permissions were granted at install time at once, so the user was persented with an all or nothing choice. In the new runtime permissions model all dangarous permissions (nomal are always granted and signature one are granted if signatures match) are not granted at install time and the app can request them as necessary at runtime. Before, all granted permission to an app were identical for all users as granting is performed at install time. However, the new runtime model allows the same app running under two different users to have different runtime permission grants. This change refactors the permissions book keeping in the package manager to enable per user permission tracking. The change also adds the app facing APIs for requesting runtime permissions. Change-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5 --- test-runner/src/android/test/mock/MockContext.java | 5 +++++ test-runner/src/android/test/mock/MockPackageManager.java | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'test-runner/src') diff --git a/test-runner/src/android/test/mock/MockContext.java b/test-runner/src/android/test/mock/MockContext.java index cfbebba..b265d47 100644 --- a/test-runner/src/android/test/mock/MockContext.java +++ b/test-runner/src/android/test/mock/MockContext.java @@ -506,6 +506,11 @@ public class MockContext extends Context { } @Override + public int checkSelfPermission(String permission) { + throw new UnsupportedOperationException(); + } + + @Override public void enforcePermission( String permission, int pid, int uid, String message) { throw new UnsupportedOperationException(); diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java index 7531d7b..67a8c2b 100644 --- a/test-runner/src/android/test/mock/MockPackageManager.java +++ b/test-runner/src/android/test/mock/MockPackageManager.java @@ -191,13 +191,13 @@ public class MockPackageManager extends PackageManager { /** @hide */ @Override - public void grantPermission(String packageName, String permissionName) { + public void grantPermission(String packageName, String permissionName, UserHandle user) { throw new UnsupportedOperationException(); } /** @hide */ @Override - public void revokePermission(String packageName, String permissionName) { + public void revokePermission(String packageName, String permissionName, UserHandle user) { throw new UnsupportedOperationException(); } -- cgit v1.1