Skip to content

Commit 6bc223d

Browse files
committed
Use inexact alarm for AOD schedule on Android 12+
1 parent 2cb52c3 commit 6bc223d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

app/src/main/java/eu/chainfire/holeylight/misc/AODControl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import android.content.Intent;
2727
import android.content.pm.PackageInfo;
2828
import android.content.pm.PackageManager;
29+
import android.os.Build;
2930
import android.os.Bundle;
3031
import android.os.Handler;
3132
import android.os.HandlerThread;
@@ -326,7 +327,11 @@ public static void setAODAlarm(Context context) {
326327

327328
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE);
328329
alarmManager.cancel(pendingIntent);
329-
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, when.getTime(), pendingIntent);
330+
if (Build.VERSION.SDK_INT >= 31) {
331+
alarmManager.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, when.getTime(), pendingIntent);
332+
} else {
333+
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, when.getTime(), pendingIntent);
334+
}
330335

331336
lastAlarm = when;
332337
}

0 commit comments

Comments
 (0)