summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2018-04-16 09:50:22 -0600
committerJeff Sharkey <jsharkey@android.com>2018-04-16 12:44:32 -0600
commit6b649257377b4ba2dd8a2a02b8dd692a72a2cc1e (patch)
treef06149447b480ee548d00896ec5847adee3896a8 /tests
parent167032ab002714d26a14735bbcdc072c5fa693b7 (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')
-rw-r--r--tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java7
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];
}