40 lines
1.3 KiB
Java
40 lines
1.3 KiB
Java
package com.yanzhenjie.permission.checker;
|
|
|
|
import android.app.AppOpsManager;
|
|
import android.content.Context;
|
|
import android.os.Build;
|
|
import android.os.Process;
|
|
import android.text.TextUtils;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class StandardChecker implements PermissionChecker {
|
|
@Override // com.yanzhenjie.permission.checker.PermissionChecker
|
|
public boolean a(Context context, String... strArr) {
|
|
return a(context, Arrays.asList(strArr));
|
|
}
|
|
|
|
public boolean a(Context context, List<String> list) {
|
|
if (Build.VERSION.SDK_INT < 23) {
|
|
return true;
|
|
}
|
|
AppOpsManager appOpsManager = null;
|
|
for (String str : list) {
|
|
if (context.checkPermission(str, Process.myPid(), Process.myUid()) == -1) {
|
|
return false;
|
|
}
|
|
String permissionToOp = AppOpsManager.permissionToOp(str);
|
|
if (!TextUtils.isEmpty(permissionToOp)) {
|
|
if (appOpsManager == null) {
|
|
appOpsManager = (AppOpsManager) context.getSystemService("appops");
|
|
}
|
|
if (appOpsManager.checkOpNoThrow(permissionToOp, Process.myUid(), context.getPackageName()) != 0) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}
|