- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
96 lines
3.5 KiB
Java
96 lines
3.5 KiB
Java
package androidx.core.app;
|
|
|
|
import android.app.AppOpsManager;
|
|
import android.content.Context;
|
|
import android.os.Binder;
|
|
import android.os.Build;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.RequiresApi;
|
|
|
|
/* loaded from: classes.dex */
|
|
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() {
|
|
}
|
|
|
|
@Nullable
|
|
public static String permissionToOp(@NonNull String str) {
|
|
return Api23Impl.permissionToOp(str);
|
|
}
|
|
|
|
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) {
|
|
return Api23Impl.noteProxyOp((AppOpsManager) Api23Impl.getSystemService(context, AppOpsManager.class), str, str2);
|
|
}
|
|
|
|
public static int noteProxyOpNoThrow(@NonNull Context context, @NonNull String str, @NonNull String str2) {
|
|
return Api23Impl.noteProxyOpNoThrow((AppOpsManager) Api23Impl.getSystemService(context, AppOpsManager.class), str, str2);
|
|
}
|
|
|
|
public static int checkOrNoteProxyOp(@NonNull Context context, int i, @NonNull String str, @NonNull String str2) {
|
|
if (Build.VERSION.SDK_INT >= 29) {
|
|
AppOpsManager systemService = Api29Impl.getSystemService(context);
|
|
int checkOpNoThrow = Api29Impl.checkOpNoThrow(systemService, str, Binder.getCallingUid(), str2);
|
|
return checkOpNoThrow != 0 ? checkOpNoThrow : Api29Impl.checkOpNoThrow(systemService, str, i, Api29Impl.getOpPackageName(context));
|
|
}
|
|
return noteProxyOpNoThrow(context, str, str2);
|
|
}
|
|
|
|
@RequiresApi(29)
|
|
public static class Api29Impl {
|
|
private Api29Impl() {
|
|
}
|
|
|
|
@Nullable
|
|
public static AppOpsManager getSystemService(@NonNull Context context) {
|
|
return (AppOpsManager) context.getSystemService(AppOpsManager.class);
|
|
}
|
|
|
|
public static int checkOpNoThrow(@Nullable AppOpsManager appOpsManager, @NonNull String str, int i, @NonNull String str2) {
|
|
if (appOpsManager == null) {
|
|
return 1;
|
|
}
|
|
return appOpsManager.checkOpNoThrow(str, i, str2);
|
|
}
|
|
|
|
@NonNull
|
|
public static String getOpPackageName(@NonNull Context context) {
|
|
return context.getOpPackageName();
|
|
}
|
|
}
|
|
|
|
@RequiresApi(23)
|
|
public static class Api23Impl {
|
|
private Api23Impl() {
|
|
}
|
|
|
|
public static String permissionToOp(String str) {
|
|
return AppOpsManager.permissionToOp(str);
|
|
}
|
|
|
|
public static <T> T getSystemService(Context context, Class<T> cls) {
|
|
return (T) context.getSystemService(cls);
|
|
}
|
|
|
|
public static int noteProxyOp(AppOpsManager appOpsManager, String str, String str2) {
|
|
return appOpsManager.noteProxyOp(str, str2);
|
|
}
|
|
|
|
public static int noteProxyOpNoThrow(AppOpsManager appOpsManager, String str, String str2) {
|
|
return appOpsManager.noteProxyOpNoThrow(str, str2);
|
|
}
|
|
}
|
|
}
|