167 lines
7.3 KiB
Java
167 lines
7.3 KiB
Java
package com.ubtech.permission;
|
|
|
|
import android.app.Activity;
|
|
import android.content.Context;
|
|
import android.content.DialogInterface;
|
|
import android.content.SharedPreferences;
|
|
import android.util.Log;
|
|
import com.ubtech.permission.dialog.PermissionDialog;
|
|
import com.ubtech.view.dialog.SimpleDialog;
|
|
import com.ubtrobot.log.ALog;
|
|
import com.yanzhenjie.permission.Action;
|
|
import com.yanzhenjie.permission.AndPermission;
|
|
import com.yanzhenjie.permission.Permission$Group;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class JimuPermissionRequest {
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public static synchronized void b(Context context, String[] strArr, boolean z) {
|
|
synchronized (JimuPermissionRequest.class) {
|
|
SharedPreferences a = a(context);
|
|
String a2 = a(strArr);
|
|
SharedPreferences.Editor edit = a.edit();
|
|
edit.putBoolean(a2, z);
|
|
if (!edit.commit()) {
|
|
Log.e("JimuPermissionRequest", "write sp fail!");
|
|
}
|
|
}
|
|
}
|
|
|
|
private static synchronized boolean c(Context context, String[] strArr) {
|
|
boolean z;
|
|
synchronized (JimuPermissionRequest.class) {
|
|
z = a(context).getBoolean(a(strArr), false);
|
|
}
|
|
return z;
|
|
}
|
|
|
|
private static SharedPreferences a(Context context) {
|
|
return context.getApplicationContext().getSharedPreferences("permission", 0);
|
|
}
|
|
|
|
public static void c(Context context, String[] strArr, PermissionRequestListener permissionRequestListener) {
|
|
a(context, a(context, strArr), strArr, permissionRequestListener);
|
|
}
|
|
|
|
private static String a(String[] strArr) {
|
|
if (Arrays.equals(Permission$Group.d, strArr)) {
|
|
return "PERMISSION_STORAGE_ALWAYS_DENIED";
|
|
}
|
|
if (Arrays.equals(Permission$Group.c, strArr)) {
|
|
return "PERMISSION_MIC_ALWAYS_DENIED";
|
|
}
|
|
if (Arrays.equals(Permission$Group.a, strArr)) {
|
|
return "PERMISSION_CAMERA_ALWAYS_DENIED";
|
|
}
|
|
if (Arrays.equals(Permission$Group.b, strArr)) {
|
|
return "PERMISSION_LOCATION_ALWAYS_DENIED";
|
|
}
|
|
Log.e("JimuPermissionRequest", "Permission key is null!");
|
|
return "";
|
|
}
|
|
|
|
public static void c(Context context, PermissionRequestListener permissionRequestListener) {
|
|
c(context, Permission$Group.d, permissionRequestListener);
|
|
}
|
|
|
|
public static boolean b(Context context, String... strArr) {
|
|
return AndPermission.b(context, strArr);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public static void b(final Context context, final String[] strArr, final PermissionRequestListener permissionRequestListener) {
|
|
ALog.a("JimuPermissionRequest").d("request location permission");
|
|
AndPermission.a(context).a().a(strArr).a(new Action<List<String>>() { // from class: com.ubtech.permission.JimuPermissionRequest.4
|
|
@Override // com.yanzhenjie.permission.Action
|
|
public void a(List<String> list) {
|
|
PermissionRequestListener permissionRequestListener2 = PermissionRequestListener.this;
|
|
if (permissionRequestListener2 != null) {
|
|
permissionRequestListener2.onGranted();
|
|
}
|
|
}
|
|
}).b(new Action<List<String>>() { // from class: com.ubtech.permission.JimuPermissionRequest.3
|
|
@Override // com.yanzhenjie.permission.Action
|
|
public void a(List<String> list) {
|
|
ALog.a("JimuPermissionRequest").d("on location permission denied");
|
|
if (AndPermission.a(context, strArr)) {
|
|
JimuPermissionRequest.b(context, strArr, true);
|
|
} else {
|
|
PermissionDialog.a(context, list);
|
|
}
|
|
PermissionRequestListener permissionRequestListener2 = permissionRequestListener;
|
|
if (permissionRequestListener2 != null) {
|
|
permissionRequestListener2.onDenied();
|
|
}
|
|
}
|
|
}).start();
|
|
}
|
|
|
|
private static void a(Context context, String str, final IDialogListener iDialogListener) {
|
|
new SimpleDialog.Builder(context).a(false).a((CharSequence) str).b(context.getString(R$string.permission_text_permission_rationale_positive_btn)).a(context.getString(R$string.permission_dialog_negative_btn_text), true).a(new DialogInterface.OnClickListener() { // from class: com.ubtech.permission.JimuPermissionRequest.2
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public void onClick(DialogInterface dialogInterface, int i) {
|
|
dialogInterface.dismiss();
|
|
IDialogListener.this.onCancle();
|
|
}
|
|
}).b(new DialogInterface.OnClickListener() { // from class: com.ubtech.permission.JimuPermissionRequest.1
|
|
@Override // android.content.DialogInterface.OnClickListener
|
|
public void onClick(DialogInterface dialogInterface, int i) {
|
|
dialogInterface.dismiss();
|
|
IDialogListener.this.onOk();
|
|
}
|
|
}).a().show();
|
|
}
|
|
|
|
public static void b(Context context, PermissionRequestListener permissionRequestListener) {
|
|
c(context, Permission$Group.b, permissionRequestListener);
|
|
}
|
|
|
|
public static String a(Context context, String[] strArr) {
|
|
if (Arrays.equals(Permission$Group.d, strArr)) {
|
|
return context.getString(R$string.rationale_permission_storage);
|
|
}
|
|
if (Arrays.equals(Permission$Group.c, strArr)) {
|
|
return context.getString(R$string.rationale_permission_mic);
|
|
}
|
|
if (Arrays.equals(Permission$Group.a, strArr)) {
|
|
return context.getString(R$string.rationale_permission_camera);
|
|
}
|
|
return Arrays.equals(Permission$Group.b, strArr) ? context.getString(R$string.rationale_permission_location) : "";
|
|
}
|
|
|
|
public static void a(final Context context, String str, final String[] strArr, final PermissionRequestListener permissionRequestListener) {
|
|
if (AndPermission.b(context, strArr)) {
|
|
if (permissionRequestListener != null) {
|
|
permissionRequestListener.onGranted();
|
|
}
|
|
} else if (c(context, strArr)) {
|
|
PermissionDialog.a(context, strArr);
|
|
} else {
|
|
a(context, str, new IDialogListener() { // from class: com.ubtech.permission.JimuPermissionRequest.5
|
|
@Override // com.ubtech.permission.IDialogListener
|
|
public void onCancle() {
|
|
}
|
|
|
|
@Override // com.ubtech.permission.IDialogListener
|
|
public void onOk() {
|
|
JimuPermissionRequest.b(context, strArr, permissionRequestListener);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void a(Context context, PermissionRequestListener permissionRequestListener, PermissionRationalListener permissionRationalListener) {
|
|
c(context, Permission$Group.a, permissionRequestListener);
|
|
}
|
|
|
|
public static void a(Context context, PermissionRequestListener permissionRequestListener) {
|
|
a(context, permissionRequestListener, (PermissionRationalListener) null);
|
|
}
|
|
|
|
public static void a(Activity activity, PermissionRequestListener permissionRequestListener) {
|
|
c(activity, Permission$Group.c, permissionRequestListener);
|
|
}
|
|
}
|