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.app.Activity;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
@@ -27,6 +28,8 @@ import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.jens.automation2.receivers.NotificationListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -316,9 +319,20 @@ public class ActivityPermissions extends Activity
|
||||
{
|
||||
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
|
||||
{
|
||||
int res = context.checkCallingOrSelfPermission(s);
|
||||
// int res = context.checkCallingOrSelfPermission(s);
|
||||
int res = ContextCompat.checkSelfPermission(context, s);
|
||||
return (res == PackageManager.PERMISSION_GRANTED);
|
||||
}
|
||||
}
|
||||
@@ -573,8 +587,8 @@ public class ActivityPermissions extends Activity
|
||||
break;
|
||||
case timeFrame:
|
||||
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);
|
||||
break;
|
||||
@@ -1040,7 +1054,7 @@ public class ActivityPermissions extends Activity
|
||||
required permissions have been granted.
|
||||
*/
|
||||
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
// super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
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: Airplane mode trigger didn't work if no locations where defined.
|
||||
* 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
|
||||
Reference in New Issue
Block a user