feat: move subscriptions to new notification method
This commit is contained in:
parent
a39db5ea93
commit
808d4e6bf5
32 changed files with 491 additions and 620 deletions
|
@ -3,9 +3,10 @@ package ani.dantotsu.notifications
|
|||
import android.content.Context
|
||||
import androidx.work.Constraints
|
||||
import androidx.work.PeriodicWorkRequest
|
||||
import ani.dantotsu.notifications.TaskScheduler.TaskType
|
||||
import ani.dantotsu.notifications.anilist.AnilistNotificationWorker
|
||||
import ani.dantotsu.notifications.comment.CommentNotificationWorker
|
||||
import ani.dantotsu.notifications.TaskScheduler.TaskType
|
||||
import ani.dantotsu.notifications.subscription.SubscriptionNotificationWorker
|
||||
|
||||
class WorkManagerScheduler(private val context: Context) : TaskScheduler {
|
||||
override fun scheduleRepeatingTask(taskType: TaskType, interval: Long) {
|
||||
|
@ -17,8 +18,10 @@ class WorkManagerScheduler(private val context: Context) : TaskScheduler {
|
|||
TaskType.COMMENT_NOTIFICATION -> {
|
||||
val recurringWork = PeriodicWorkRequest.Builder(
|
||||
CommentNotificationWorker::class.java,
|
||||
interval, java.util.concurrent.TimeUnit.MINUTES,
|
||||
PeriodicWorkRequest.MIN_PERIODIC_FLEX_MILLIS, java.util.concurrent.TimeUnit.MINUTES
|
||||
interval,
|
||||
java.util.concurrent.TimeUnit.MINUTES,
|
||||
PeriodicWorkRequest.MIN_PERIODIC_FLEX_MILLIS,
|
||||
java.util.concurrent.TimeUnit.MINUTES
|
||||
)
|
||||
.setConstraints(constraints)
|
||||
.build()
|
||||
|
@ -32,8 +35,10 @@ class WorkManagerScheduler(private val context: Context) : TaskScheduler {
|
|||
TaskType.ANILIST_NOTIFICATION -> {
|
||||
val recurringWork = PeriodicWorkRequest.Builder(
|
||||
AnilistNotificationWorker::class.java,
|
||||
interval, java.util.concurrent.TimeUnit.MINUTES,
|
||||
PeriodicWorkRequest.MIN_PERIODIC_FLEX_MILLIS, java.util.concurrent.TimeUnit.MINUTES
|
||||
interval,
|
||||
java.util.concurrent.TimeUnit.MINUTES,
|
||||
PeriodicWorkRequest.MIN_PERIODIC_FLEX_MILLIS,
|
||||
java.util.concurrent.TimeUnit.MINUTES
|
||||
)
|
||||
.setConstraints(constraints)
|
||||
.build()
|
||||
|
@ -43,6 +48,23 @@ class WorkManagerScheduler(private val context: Context) : TaskScheduler {
|
|||
recurringWork
|
||||
)
|
||||
}
|
||||
|
||||
TaskType.SUBSCRIPTION_NOTIFICATION -> {
|
||||
val recurringWork = PeriodicWorkRequest.Builder(
|
||||
SubscriptionNotificationWorker::class.java,
|
||||
interval,
|
||||
java.util.concurrent.TimeUnit.MINUTES,
|
||||
PeriodicWorkRequest.MIN_PERIODIC_FLEX_MILLIS,
|
||||
java.util.concurrent.TimeUnit.MINUTES
|
||||
)
|
||||
.setConstraints(constraints)
|
||||
.build()
|
||||
androidx.work.WorkManager.getInstance(context).enqueueUniquePeriodicWork(
|
||||
SubscriptionNotificationWorker.WORK_NAME,
|
||||
androidx.work.ExistingPeriodicWorkPolicy.UPDATE,
|
||||
recurringWork
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -57,6 +79,11 @@ class WorkManagerScheduler(private val context: Context) : TaskScheduler {
|
|||
androidx.work.WorkManager.getInstance(context)
|
||||
.cancelUniqueWork(AnilistNotificationWorker.WORK_NAME)
|
||||
}
|
||||
|
||||
TaskType.SUBSCRIPTION_NOTIFICATION -> {
|
||||
androidx.work.WorkManager.getInstance(context)
|
||||
.cancelUniqueWork(SubscriptionNotificationWorker.WORK_NAME)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue