diff --git a/app/src/fdroidFlavor/AndroidManifest.xml b/app/src/fdroidFlavor/AndroidManifest.xml
index f875a0d..ce17837 100644
--- a/app/src/fdroidFlavor/AndroidManifest.xml
+++ b/app/src/fdroidFlavor/AndroidManifest.xml
@@ -260,6 +260,14 @@
android:exported="true"
/>
+
+
diff --git a/app/src/googlePlayFlavor/AndroidManifest.xml b/app/src/googlePlayFlavor/AndroidManifest.xml
index 1e5f305..4f6fae2 100644
--- a/app/src/googlePlayFlavor/AndroidManifest.xml
+++ b/app/src/googlePlayFlavor/AndroidManifest.xml
@@ -253,13 +253,20 @@
android:value="@integer/google_play_services_version" />
-
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/jens/automation2/ActivityPermissions.java b/app/src/main/java/com/jens/automation2/ActivityPermissions.java
index 2fc13cc..a3febb7 100644
--- a/app/src/main/java/com/jens/automation2/ActivityPermissions.java
+++ b/app/src/main/java/com/jens/automation2/ActivityPermissions.java
@@ -39,6 +39,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import rikka.shizuku.Shizuku;
+
public class ActivityPermissions extends Activity
{
static Map mapGeneralPermissions = null;
@@ -58,6 +60,7 @@ public class ActivityPermissions extends Activity
private static final int requestCodeForPermissionsManageOverlay = 12050;
private static final int requestCodeForPermissionsAccessibility = 12051;
private static final int requestCodeForPermissionsScheduleExactAlarms = 12052;
+ private static final int requestCodeForPermissionsShizuku = 12053;
protected String[] specificPermissionsToRequest = null;
public static String intentExtraName = "permissionsToBeRequested";
@@ -70,6 +73,7 @@ public class ActivityPermissions extends Activity
public final static String permissionNameGoogleActivityDetection = "com.google.android.gms.permission.ACTIVITY_RECOGNITION";
public final static String permissionNameSuperuser = "android.permission.ACCESS_SUPERUSER";
public final static String permissionNameProximity = "android.hardware.sensor.proximity";
+ public final static String permissionNameShizuku = "android_permission_shizuku";
public static ActivityPermissions getInstance()
{
@@ -444,6 +448,8 @@ public class ActivityPermissions extends Activity
addToArrayListUnique("android.permission.RECEIVE_BOOT_COMPLETED", requiredPermissions);
*/
+ addToArrayListUnique(permissionNameShizuku, requiredPermissions);
+
if(!havePermission(Manifest.permission.WRITE_SETTINGS, workingContext))
{
for (Profile profile : Profile.getProfileCollection())
@@ -1390,6 +1396,10 @@ public class ActivityPermissions extends Activity
Linkify.addLinks((TextView) diaglog.findViewById(android.R.id.message), Linkify.ALL);
// return;
}
+ else if(s.equals(permissionNameShizuku))
+ {
+ ShizukuAccess.requestAuthorization();
+ }
}
}
@@ -1909,4 +1919,34 @@ public class ActivityPermissions extends Activity
// have all
setHaveAllPermissions();
}
+
+ public final static class ShizukuAccess
+ {
+ private ShizukuAccess()
+ {
+ }
+
+ public static boolean isAvailable()
+ {
+ return !Shizuku.isPreV11() && Shizuku.pingBinder();
+ }
+
+ public static boolean isAuthorized()
+ {
+ return isAvailable() && Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED;
+ }
+
+ public static void requestAuthorization()
+ {
+ if (!isAvailable())
+ {
+ return;
+ }
+
+ if (Shizuku.checkSelfPermission() != PackageManager.PERMISSION_GRANTED)
+ {
+ Shizuku.requestPermission(requestCodeForPermissionsShizuku);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 372a40b..f1681ef 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -979,4 +979,5 @@
I do not keep a list of possible settings. Please find those settings on your own. See here for some (incomplete) examples.
If any parameter name starts with %1$s while method is POST, it will not be transmitted like the other parameters (with key=value), but transferred as main data. If the parameter ends with %2$s, no encoding will be performed.
Target
+ Shizuku
\ No newline at end of file