Search in sources :

Example 31 with PackageOps

use of android.app.AppOpsManager.PackageOps in project robolectric by robolectric.

the class ShadowAppOpsManager method getOpsForPackage.

@Implementation(minSdk = KITKAT)
@HiddenApi
public List<PackageOps> getOpsForPackage(int uid, String packageName, int[] ops) {
    Set<Integer> opFilter = new HashSet<>();
    if (ops != null) {
        for (int op : ops) {
            opFilter.add(op);
        }
    }
    List<OpEntry> opEntries = new ArrayList<>();
    for (Integer op : storedOps.get(Key.create(uid, packageName, null))) {
        if (opFilter.isEmpty() || opFilter.contains(op)) {
            opEntries.add(toOpEntry(op, AppOpsManager.MODE_ALLOWED));
        }
    }
    return ImmutableList.of(new PackageOps(packageName, uid, opEntries));
}
Also used : ArrayList(java.util.ArrayList) AttributedOpEntry(android.app.AppOpsManager.AttributedOpEntry) OpEntry(android.app.AppOpsManager.OpEntry) PackageOps(android.app.AppOpsManager.PackageOps) HashSet(java.util.HashSet) HiddenApi(org.robolectric.annotation.HiddenApi) Implementation(org.robolectric.annotation.Implementation)

Aggregations

PackageOps (android.app.AppOpsManager.PackageOps)31 AppOpsManager (android.app.AppOpsManager)21 ApplicationInfo (android.content.pm.ApplicationInfo)14 NameNotFoundException (android.content.pm.PackageManager.NameNotFoundException)14 PackageManager (android.content.pm.PackageManager)7 RemoteException (android.os.RemoteException)7 UserHandle (android.os.UserHandle)7 OpEntry (android.app.AppOpsManager.OpEntry)3 AttributedOpEntry (android.app.AppOpsManager.AttributedOpEntry)2 ArrayList (java.util.ArrayList)2 HashSet (java.util.HashSet)2 HiddenApi (org.robolectric.annotation.HiddenApi)2 Implementation (org.robolectric.annotation.Implementation)2 ArrayMap (android.util.ArrayMap)1 Collection (java.util.Collection)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1