47 lines
1.7 KiB
Java
47 lines
1.7 KiB
Java
package androidx.core.app;
|
|
|
|
import android.app.AppOpsManager;
|
|
import android.content.Context;
|
|
import android.os.Build;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
public final class AppOpsManagerCompat {
|
|
public static final int MODE_ALLOWED = 0;
|
|
public static final int MODE_DEFAULT = 3;
|
|
public static final int MODE_ERRORED = 2;
|
|
public static final int MODE_IGNORED = 1;
|
|
|
|
private AppOpsManagerCompat() {
|
|
}
|
|
|
|
public static int noteOp(@NonNull Context context, @NonNull String str, int i, @NonNull String str2) {
|
|
return ((AppOpsManager) context.getSystemService("appops")).noteOp(str, i, str2);
|
|
}
|
|
|
|
public static int noteOpNoThrow(@NonNull Context context, @NonNull String str, int i, @NonNull String str2) {
|
|
return ((AppOpsManager) context.getSystemService("appops")).noteOpNoThrow(str, i, str2);
|
|
}
|
|
|
|
public static int noteProxyOp(@NonNull Context context, @NonNull String str, @NonNull String str2) {
|
|
if (Build.VERSION.SDK_INT >= 23) {
|
|
return ((AppOpsManager) context.getSystemService(AppOpsManager.class)).noteProxyOp(str, str2);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
public static int noteProxyOpNoThrow(@NonNull Context context, @NonNull String str, @NonNull String str2) {
|
|
if (Build.VERSION.SDK_INT >= 23) {
|
|
return ((AppOpsManager) context.getSystemService(AppOpsManager.class)).noteProxyOpNoThrow(str, str2);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
@Nullable
|
|
public static String permissionToOp(@NonNull String str) {
|
|
if (Build.VERSION.SDK_INT >= 23) {
|
|
return AppOpsManager.permissionToOp(str);
|
|
}
|
|
return null;
|
|
}
|
|
}
|