Android 10 permission
This commit is contained in:
parent
b5a64f4d85
commit
db47cd6fe9
|
@ -147,6 +147,7 @@ public class MainActivity extends NoSplashAppCompatActivity {
|
||||||
if (Config.PUMPDRIVERS) {
|
if (Config.PUMPDRIVERS) {
|
||||||
AndroidPermission.notifyForLocationPermissions(this);
|
AndroidPermission.notifyForLocationPermissions(this);
|
||||||
AndroidPermission.notifyForSMSPermissions(this);
|
AndroidPermission.notifyForSMSPermissions(this);
|
||||||
|
AndroidPermission.notifyForSystemWindowPermissions(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,6 +246,7 @@ public class MainActivity extends NoSplashAppCompatActivity {
|
||||||
case AndroidPermission.CASE_SMS:
|
case AndroidPermission.CASE_SMS:
|
||||||
case AndroidPermission.CASE_BATTERY:
|
case AndroidPermission.CASE_BATTERY:
|
||||||
case AndroidPermission.CASE_PHONE_STATE:
|
case AndroidPermission.CASE_PHONE_STATE:
|
||||||
|
case AndroidPermission.CASE_SYSTEM_WINDOW:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,6 +78,7 @@ public class Notification {
|
||||||
public static final int USERMESSAGE = 53;
|
public static final int USERMESSAGE = 53;
|
||||||
public static final int OVER_24H_TIME_CHANGE_REQUESTED = 54;
|
public static final int OVER_24H_TIME_CHANGE_REQUESTED = 54;
|
||||||
public static final int INVALID_VERSION = 55;
|
public static final int INVALID_VERSION = 55;
|
||||||
|
public static final int PERMISSION_SYSTEM_WINDOW = 56;
|
||||||
|
|
||||||
|
|
||||||
public int id;
|
public int id;
|
||||||
|
|
|
@ -32,6 +32,7 @@ public class AndroidPermission {
|
||||||
public static final int CASE_LOCATION = 0x3;
|
public static final int CASE_LOCATION = 0x3;
|
||||||
public static final int CASE_BATTERY = 0x4;
|
public static final int CASE_BATTERY = 0x4;
|
||||||
public static final int CASE_PHONE_STATE = 0x5;
|
public static final int CASE_PHONE_STATE = 0x5;
|
||||||
|
public static final int CASE_SYSTEM_WINDOW = 0x6;
|
||||||
|
|
||||||
private static boolean permission_battery_optimization_failed = false;
|
private static boolean permission_battery_optimization_failed = false;
|
||||||
|
|
||||||
|
@ -130,4 +131,22 @@ public class AndroidPermission {
|
||||||
} else
|
} else
|
||||||
RxBus.INSTANCE.send(new EventDismissNotification(Notification.PERMISSION_LOCATION));
|
RxBus.INSTANCE.send(new EventDismissNotification(Notification.PERMISSION_LOCATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static synchronized void notifyForSystemWindowPermissions(Activity activity) {
|
||||||
|
if (!Settings.canDrawOverlays(activity)) {
|
||||||
|
NotificationWithAction notification = new NotificationWithAction(Notification.PERMISSION_SYSTEM_WINDOW, MainApp.gs(R.string.needsystemwindowpermission), Notification.URGENT);
|
||||||
|
notification.action(R.string.request, () -> {
|
||||||
|
// Check if Android Q or higher
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
|
||||||
|
// Show alert dialog to the user saying a separate permission is needed
|
||||||
|
// Launch the settings activity if the user prefers
|
||||||
|
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
|
||||||
|
Uri.parse("package:" + activity.getPackageName()));
|
||||||
|
activity.startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
RxBus.INSTANCE.send(new EventNewNotification(notification));
|
||||||
|
} else
|
||||||
|
RxBus.INSTANCE.send(new EventDismissNotification(Notification.PERMISSION_SYSTEM_WINDOW));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1102,6 +1102,7 @@
|
||||||
<string name="startobjective">Start your first objective</string>
|
<string name="startobjective">Start your first objective</string>
|
||||||
<string name="permission">Permission</string>
|
<string name="permission">Permission</string>
|
||||||
<string name="askforpermission">Ask for permission</string>
|
<string name="askforpermission">Ask for permission</string>
|
||||||
|
<string name="needsystemwindowpermission">Application needs system window permission for notifications</string>
|
||||||
<string name="needlocationpermission">Application needs location permission for BT scan</string>
|
<string name="needlocationpermission">Application needs location permission for BT scan</string>
|
||||||
<string name="needstoragepermission">Application needs storage permission to be able store log files</string>
|
<string name="needstoragepermission">Application needs storage permission to be able store log files</string>
|
||||||
<string name="request">Request</string>
|
<string name="request">Request</string>
|
||||||
|
|
Loading…
Reference in a new issue