Permission check for ability to schedule exact timers
This commit is contained in:
@@ -2,6 +2,7 @@ package com.jens.automation2;
|
|||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.AlarmManager;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
@@ -27,6 +28,8 @@ import android.view.View;
|
|||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.jens.automation2.receivers.NotificationListener;
|
import com.jens.automation2.receivers.NotificationListener;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -316,9 +319,20 @@ public class ActivityPermissions extends Activity
|
|||||||
{
|
{
|
||||||
return haveAccessibilityAccess(Miscellaneous.getAnyContext());
|
return haveAccessibilityAccess(Miscellaneous.getAnyContext());
|
||||||
}
|
}
|
||||||
|
else if(s.equals(Manifest.permission.SCHEDULE_EXACT_ALARM) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
It appears like as long as targetSdk has not been raised, this check
|
||||||
|
will return true even if the slider in the settings for that
|
||||||
|
permission is not enabled.
|
||||||
|
*/
|
||||||
|
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
|
||||||
|
return alarmManager.canScheduleExactAlarms();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int res = context.checkCallingOrSelfPermission(s);
|
// int res = context.checkCallingOrSelfPermission(s);
|
||||||
|
int res = ContextCompat.checkSelfPermission(context, s);
|
||||||
return (res == PackageManager.PERMISSION_GRANTED);
|
return (res == PackageManager.PERMISSION_GRANTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -573,8 +587,8 @@ public class ActivityPermissions extends Activity
|
|||||||
break;
|
break;
|
||||||
case timeFrame:
|
case timeFrame:
|
||||||
if(Build.VERSION.SDK_INT >= 31 && Miscellaneous.getTargetSDK(Miscellaneous.getAnyContext()) >= 31
|
if(Build.VERSION.SDK_INT >= 31 && Miscellaneous.getTargetSDK(Miscellaneous.getAnyContext()) >= 31
|
||||||
// ||
|
||
|
||||||
// Build.VERSION.SDK_INT >= 33
|
Build.VERSION.SDK_INT >= 34 //https://developer.android.com/about/versions/14/changes/schedule-exact-alarms
|
||||||
)
|
)
|
||||||
addToArrayListUnique(Manifest.permission.SCHEDULE_EXACT_ALARM, requiredPermissions);
|
addToArrayListUnique(Manifest.permission.SCHEDULE_EXACT_ALARM, requiredPermissions);
|
||||||
break;
|
break;
|
||||||
@@ -1040,7 +1054,7 @@ public class ActivityPermissions extends Activity
|
|||||||
required permissions have been granted.
|
required permissions have been granted.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
// super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,4 +5,5 @@
|
|||||||
* Fixed: Permission BLUETOOTH_CONNECT requested for Bluetooth trigger editor in Google Play version
|
* Fixed: Permission BLUETOOTH_CONNECT requested for Bluetooth trigger editor in Google Play version
|
||||||
* Fixed: Airplane mode trigger didn't work if no locations where defined.
|
* Fixed: Airplane mode trigger didn't work if no locations where defined.
|
||||||
* Fixed: Vibrate action didn't work on some devices
|
* Fixed: Vibrate action didn't work on some devices
|
||||||
|
* Fixed: Permission check for ability to schedule exact timers
|
||||||
* Added Possibility to select UI theme, hence enabling modern UI designs
|
* Added Possibility to select UI theme, hence enabling modern UI designs
|
||||||
Reference in New Issue
Block a user