File tree Expand file tree Collapse file tree
work_timer/android/app/src/main
kotlin/com/utsapoddar/sift Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44 <uses-permission android : name =" android.permission.FOREGROUND_SERVICE" />
55 <uses-permission android : name =" android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
66 <uses-permission android : name =" android.permission.WAKE_LOCK" />
7+ <uses-permission android : name =" android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
78 <uses-permission android : name =" android.permission.SCHEDULE_EXACT_ALARM" android : maxSdkVersion =" 32" />
89 <uses-permission android : name =" android.permission.USE_EXACT_ALARM" />
910 <application
Original file line number Diff line number Diff line change @@ -6,8 +6,11 @@ import android.content.Context
66import android.content.Intent
77import android.content.IntentFilter
88import android.content.pm.PackageManager
9+ import android.net.Uri
910import android.os.Build
1011import android.os.Bundle
12+ import android.os.PowerManager
13+ import android.provider.Settings
1114import androidx.core.app.ActivityCompat
1215import androidx.core.content.ContextCompat
1316import io.flutter.embedding.android.FlutterActivity
@@ -79,6 +82,15 @@ class MainActivity : FlutterActivity() {
7982 ActivityCompat .requestPermissions(
8083 this , arrayOf(Manifest .permission.POST_NOTIFICATIONS ), 1001 )
8184 }
85+ // Request battery optimization exemption so the timer survives on aggressive OEMs
86+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .M ) {
87+ val pm = getSystemService(Context .POWER_SERVICE ) as PowerManager
88+ if (! pm.isIgnoringBatteryOptimizations(packageName)) {
89+ startActivity(Intent (Settings .ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS ).apply {
90+ data = Uri .parse(" package:$packageName " )
91+ })
92+ }
93+ }
8294 val filter = IntentFilter ().apply {
8395 addAction(TimerService .ACTION_STOP )
8496 addAction(TimerService .ACTION_SILENCE )
You can’t perform that action at this time.
0 commit comments