mirror of
https://github.com/thunderbird/thunderbird-android.git
synced 2024-09-19 19:52:14 +02:00
Bump AndroidX Core 1.12.0 -> 1.13.1 and remove AlarmManagerCompat
This commit is contained in:
parent
23f0d1438a
commit
5441b2b6a3
@ -54,9 +54,9 @@ androidx.concurrent:concurrent-futures:1.1.0
|
||||
androidx.constraintlayout:constraintlayout-core:1.0.4
|
||||
androidx.constraintlayout:constraintlayout:2.1.4
|
||||
androidx.coordinatorlayout:coordinatorlayout:1.2.0
|
||||
androidx.core:core-ktx:1.12.0
|
||||
androidx.core:core-ktx:1.13.1
|
||||
androidx.core:core-splashscreen:1.0.1
|
||||
androidx.core:core:1.12.0
|
||||
androidx.core:core:1.13.1
|
||||
androidx.cursoradapter:cursoradapter:1.0.0
|
||||
androidx.customview:customview-poolingcontainer:1.0.0
|
||||
androidx.customview:customview:1.1.0
|
||||
|
@ -54,9 +54,9 @@ androidx.concurrent:concurrent-futures:1.1.0
|
||||
androidx.constraintlayout:constraintlayout-core:1.0.4
|
||||
androidx.constraintlayout:constraintlayout:2.1.4
|
||||
androidx.coordinatorlayout:coordinatorlayout:1.2.0
|
||||
androidx.core:core-ktx:1.12.0
|
||||
androidx.core:core-ktx:1.13.1
|
||||
androidx.core:core-splashscreen:1.0.1
|
||||
androidx.core:core:1.12.0
|
||||
androidx.core:core:1.13.1
|
||||
androidx.cursoradapter:cursoradapter:1.0.0
|
||||
androidx.customview:customview-poolingcontainer:1.0.0
|
||||
androidx.customview:customview:1.1.0
|
||||
|
@ -1,15 +1,16 @@
|
||||
package com.fsck.k9.backends
|
||||
|
||||
import android.app.AlarmManager
|
||||
import android.app.PendingIntent
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.os.SystemClock
|
||||
import androidx.core.app.AlarmManagerCompat
|
||||
import androidx.core.app.PendingIntentCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.fsck.k9.backend.imap.SystemAlarmManager
|
||||
import com.fsck.k9.helper.AlarmManagerCompat
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@ -24,7 +25,7 @@ private typealias Callback = () -> Unit
|
||||
|
||||
class AndroidAlarmManager(
|
||||
private val context: Context,
|
||||
private val alarmManager: AlarmManagerCompat,
|
||||
private val alarmManager: AlarmManager,
|
||||
backgroundDispatcher: CoroutineDispatcher = Dispatchers.IO,
|
||||
) : SystemAlarmManager {
|
||||
private val coroutineScope = CoroutineScope(backgroundDispatcher)
|
||||
@ -62,12 +63,18 @@ class AndroidAlarmManager(
|
||||
|
||||
override fun setAlarm(triggerTime: Long, callback: Callback) {
|
||||
this.callback.set(callback)
|
||||
alarmManager.scheduleAlarm(triggerTime, pendingIntent)
|
||||
|
||||
AlarmManagerCompat.setExactAndAllowWhileIdle(
|
||||
alarmManager,
|
||||
AlarmManager.ELAPSED_REALTIME_WAKEUP,
|
||||
triggerTime,
|
||||
pendingIntent,
|
||||
)
|
||||
}
|
||||
|
||||
override fun cancelAlarm() {
|
||||
callback.set(null)
|
||||
alarmManager.cancelAlarm(pendingIntent)
|
||||
alarmManager.cancel(pendingIntent)
|
||||
}
|
||||
|
||||
override fun now(): Long = SystemClock.elapsedRealtime()
|
||||
|
@ -1,9 +1,9 @@
|
||||
package com.fsck.k9.controller.push
|
||||
|
||||
import android.app.AlarmManager
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import com.fsck.k9.helper.AlarmManagerCompat
|
||||
|
||||
/**
|
||||
* Checks whether the app can schedule exact alarms.
|
||||
@ -31,9 +31,9 @@ internal interface AlarmPermissionManager {
|
||||
/**
|
||||
* Factory method to create an Android API-specific instance of [AlarmPermissionManager].
|
||||
*/
|
||||
internal fun AlarmPermissionManager(context: Context, alarmManagerCompat: AlarmManagerCompat): AlarmPermissionManager {
|
||||
internal fun AlarmPermissionManager(context: Context, alarmManager: AlarmManager): AlarmPermissionManager {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
AlarmPermissionManagerApi31(context, alarmManagerCompat)
|
||||
AlarmPermissionManagerApi31(context, alarmManager)
|
||||
} else {
|
||||
AlarmPermissionManagerApi21()
|
||||
}
|
||||
|
@ -7,8 +7,8 @@ import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.os.Build
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.app.AlarmManagerCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.fsck.k9.helper.AlarmManagerCompat
|
||||
import timber.log.Timber
|
||||
|
||||
/**
|
||||
@ -17,7 +17,7 @@ import timber.log.Timber
|
||||
@RequiresApi(Build.VERSION_CODES.S)
|
||||
internal class AlarmPermissionManagerApi31(
|
||||
private val context: Context,
|
||||
private val alarmManagerCompat: AlarmManagerCompat,
|
||||
private val alarmManager: AlarmManager,
|
||||
) : AlarmPermissionManager {
|
||||
private var isRegistered = false
|
||||
private var listener: AlarmPermissionListener? = null
|
||||
@ -34,7 +34,7 @@ internal class AlarmPermissionManagerApi31(
|
||||
}
|
||||
|
||||
override fun canScheduleExactAlarms(): Boolean {
|
||||
return alarmManagerCompat.canScheduleExactAlarms()
|
||||
return AlarmManagerCompat.canScheduleExactAlarms(alarmManager)
|
||||
}
|
||||
|
||||
@Synchronized
|
||||
|
@ -29,5 +29,5 @@ internal val controllerPushModule = module {
|
||||
)
|
||||
}
|
||||
|
||||
single<AlarmPermissionManager> { AlarmPermissionManager(context = get(), alarmManagerCompat = get()) }
|
||||
single<AlarmPermissionManager> { AlarmPermissionManager(context = get(), alarmManager = get()) }
|
||||
}
|
||||
|
@ -1,27 +0,0 @@
|
||||
package com.fsck.k9.helper
|
||||
|
||||
import android.app.AlarmManager
|
||||
import android.app.PendingIntent
|
||||
import android.os.Build
|
||||
|
||||
class AlarmManagerCompat(private val alarmManager: AlarmManager) {
|
||||
fun canScheduleExactAlarms(): Boolean {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
alarmManager.canScheduleExactAlarms()
|
||||
} else {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
fun scheduleAlarm(triggerAtMillis: Long, operation: PendingIntent) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtMillis, operation)
|
||||
} else {
|
||||
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtMillis, operation)
|
||||
}
|
||||
}
|
||||
|
||||
fun cancelAlarm(operation: PendingIntent) {
|
||||
alarmManager.cancel(operation)
|
||||
}
|
||||
}
|
@ -10,6 +10,5 @@ val helperModule = module {
|
||||
single { MessageHelper(resourceProvider = get(), contactRepository = get()) }
|
||||
factory<KeyStoreDirectoryProvider> { AndroidKeyStoreDirectoryProvider(context = get()) }
|
||||
factory { get<Context>().getSystemService(Context.ALARM_SERVICE) as AlarmManager }
|
||||
single { AlarmManagerCompat(alarmManager = get()) }
|
||||
factory<ContactNameProvider> { RealContactNameProvider(contactRepository = get()) }
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ androidxComposeBom = "2024.04.00"
|
||||
androidxComposeCompiler = "1.5.11"
|
||||
androidxConstraintLayout = "2.1.4"
|
||||
androidxCoordinatorLayout = "1.2.0"
|
||||
androidxCore = "1.12.0"
|
||||
androidxCore = "1.13.1"
|
||||
androidxCoreSplashscreen = "1.0.1"
|
||||
androidxDrawerLayout = "1.1.1"
|
||||
androidxFragment = "1.6.2"
|
||||
|
Loading…
Reference in New Issue
Block a user