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 {
|
try {
|
||||||
if (!Shizuku.isPreV11() && Shizuku.getVersion() >= 11) {
|
if (!Shizuku.isPreV11() && Shizuku.getVersion() >= 11) {
|
||||||
if (Shizuku.checkSelfPermission() == PERMISSION_GRANTED) {
|
if (Shizuku.checkSelfPermission() == PERMISSION_GRANTED) {
|
||||||
return true;
|
return 0;
|
||||||
} else if (Shizuku.shouldShowRequestPermissionRationale()) {
|
} else if (Shizuku.shouldShowRequestPermissionRationale()) {
|
||||||
return false;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
Shizuku.requestPermission(code);
|
Shizuku.requestPermission(code);
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return false;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static App getInstance() {
|
public static App getInstance() {
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,15 @@ public class CompileDialogFragment extends AppCompatDialogFragment {
|
||||||
int type = arguments.getInt(KEY_TYPE);
|
int type = arguments.getInt(KEY_TYPE);
|
||||||
appInfo = arguments.getParcelable(KEY_APP_INFO);
|
appInfo = arguments.getParcelable(KEY_APP_INFO);
|
||||||
type = type * 10 + 1;
|
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 {
|
} else {
|
||||||
dismissAllowingStateLoss();
|
dismissAllowingStateLoss();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,13 +126,29 @@ public class CompileUtil {
|
||||||
public static void compileAllDexopt(Activity activity) {
|
public static void compileAllDexopt(Activity activity) {
|
||||||
sActivity = activity;
|
sActivity = activity;
|
||||||
int type = CompileType.DEXOPT_ALL.ordinal() * 10 + 1;
|
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) {
|
public static void compileAllSpeed(Activity activity) {
|
||||||
sActivity = activity;
|
sActivity = activity;
|
||||||
int type = CompileType.SPEED_ALL.ordinal() * 10 + 1;
|
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,
|
private static void compilePackageInBg(FragmentManager fragmentManager,
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,15 @@ public class RebootUtil {
|
||||||
|
|
||||||
|
|
||||||
public static void reboot(RebootType mode) {
|
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) {
|
private static void rebootWithShell(RebootType mode) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue