diff options
author | Jeff Sharkey <jsharkey@android.com> | 2018-04-16 09:50:22 -0600 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2018-04-16 12:44:32 -0600 |
commit | 6b649257377b4ba2dd8a2a02b8dd692a72a2cc1e (patch) | |
tree | f06149447b480ee548d00896ec5847adee3896a8 /tests/permission | |
parent | 167032ab002714d26a14735bbcdc072c5fa693b7 (diff) |
Protect usage data with OP_GET_USAGE_STATS.
APIs that return package usage data (such as the new StatsManager)
must ensure that callers hold both the PACKAGE_USAGE_STATS permission
and the OP_GET_USAGE_STATS app-op.
Add noteOp() method that can be called from native code.
Also add missing security checks on command interface.
Bug: 77662908, 78121728
Test: builds, boots
Change-Id: Ie0d51e4baaacd9d7d36ba0c587ec91a870b9df17
Diffstat (limited to 'tests/permission')
-rw-r--r-- | tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java b/tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java index 0504c79c55bd..dcbbdbbcd320 100644 --- a/tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java +++ b/tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java @@ -18,6 +18,7 @@ package com.android.framework.permission.tests; import com.android.internal.os.BinderInternal; +import android.app.AppOpsManager; import android.os.Binder; import android.os.IPermissionController; import android.os.RemoteException; @@ -49,11 +50,17 @@ public class ServiceManagerPermissionTests extends TestCase { public void testSetPermissionController() { try { IPermissionController pc = new IPermissionController.Stub() { + @Override public boolean checkPermission(java.lang.String permission, int pid, int uid) { return true; } @Override + public int noteOp(String op, int uid, String packageName) { + return AppOpsManager.MODE_ALLOWED; + } + + @Override public String[] getPackagesForUid(int uid) { return new String[0]; } |