Fix request permission
This commit is contained in:
parent
205090bdce
commit
d9612a733c
|
|
@ -51,22 +51,22 @@ public class App extends Application implements Application.ActivityLifecycleCal
|
|||
}
|
||||
}
|
||||
|
||||
public static boolean checkPermission(int code) {
|
||||
public static int checkPermission(int code) {
|
||||
try {
|
||||
if (!Shizuku.isPreV11() && Shizuku.getVersion() >= 11) {
|
||||
if (Shizuku.checkSelfPermission() == PERMISSION_GRANTED) {
|
||||
return true;
|
||||
return 0;
|
||||
} else if (Shizuku.shouldShowRequestPermissionRationale()) {
|
||||
return false;
|
||||
return -1;
|
||||
} else {
|
||||
Shizuku.requestPermission(code);
|
||||
return false;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
return -2;
|
||||
}
|
||||
|
||||
public static App getInstance() {
|
||||
|
|
|
|||
|
|
@ -126,7 +126,15 @@ public class CompileDialogFragment extends AppCompatDialogFragment {
|
|||
int type = arguments.getInt(KEY_TYPE);
|
||||
appInfo = arguments.getParcelable(KEY_APP_INFO);
|
||||
type = type * 10 + 1;
|
||||
onRequestPermissionsResult(type, App.checkPermission(type) ? PERMISSION_GRANTED : PERMISSION_DENIED);
|
||||
int result = App.checkPermission(type);
|
||||
switch (result){
|
||||
case 0:
|
||||
onRequestPermissionsResult(type, PERMISSION_GRANTED);
|
||||
break;
|
||||
case -2:
|
||||
onRequestPermissionsResult(type, PERMISSION_DENIED);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
dismissAllowingStateLoss();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,13 +126,29 @@ public class CompileUtil {
|
|||
public static void compileAllDexopt(Activity activity) {
|
||||
sActivity = activity;
|
||||
int type = CompileType.DEXOPT_ALL.ordinal() * 10 + 1;
|
||||
onRequestPermissionsResult(type, App.checkPermission(type) ? PERMISSION_GRANTED : PERMISSION_DENIED);
|
||||
int result = App.checkPermission(type);
|
||||
switch (result){
|
||||
case 0:
|
||||
onRequestPermissionsResult(type, PERMISSION_GRANTED);
|
||||
break;
|
||||
case -2:
|
||||
onRequestPermissionsResult(type, PERMISSION_DENIED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static void compileAllSpeed(Activity activity) {
|
||||
sActivity = activity;
|
||||
int type = CompileType.SPEED_ALL.ordinal() * 10 + 1;
|
||||
onRequestPermissionsResult(type, App.checkPermission(type) ? PERMISSION_GRANTED : PERMISSION_DENIED);
|
||||
int result = App.checkPermission(type);
|
||||
switch (result){
|
||||
case 0:
|
||||
onRequestPermissionsResult(type, PERMISSION_GRANTED);
|
||||
break;
|
||||
case -2:
|
||||
onRequestPermissionsResult(type, PERMISSION_DENIED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void compilePackageInBg(FragmentManager fragmentManager,
|
||||
|
|
|
|||
|
|
@ -61,8 +61,15 @@ public class RebootUtil {
|
|||
|
||||
|
||||
public static void reboot(RebootType mode) {
|
||||
onRequestPermissionsResult(mode.ordinal(), App.checkPermission(mode.ordinal()) ? PERMISSION_GRANTED : PERMISSION_DENIED);
|
||||
|
||||
int result = App.checkPermission(mode.ordinal());
|
||||
switch (result){
|
||||
case 0:
|
||||
onRequestPermissionsResult(mode.ordinal(), PERMISSION_GRANTED);
|
||||
break;
|
||||
case -2:
|
||||
onRequestPermissionsResult(mode.ordinal(), PERMISSION_DENIED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void rebootWithShell(RebootType mode) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue