feat: anilist notifications (real)
This commit is contained in:
parent
19697f4f39
commit
4d2a08c258
12 changed files with 390 additions and 95 deletions
|
@ -7,12 +7,14 @@ import android.os.Bundle
|
|||
import androidx.multidex.MultiDex
|
||||
import androidx.multidex.MultiDexApplication
|
||||
import androidx.work.Constraints
|
||||
import androidx.work.OneTimeWorkRequest
|
||||
import androidx.work.PeriodicWorkRequest
|
||||
import ani.dantotsu.aniyomi.anime.custom.AppModule
|
||||
import ani.dantotsu.aniyomi.anime.custom.PreferenceModule
|
||||
import ani.dantotsu.connections.comments.CommentsAPI
|
||||
import ani.dantotsu.connections.crashlytics.CrashlyticsInterface
|
||||
import ani.dantotsu.notifications.NotificationWorker
|
||||
import ani.dantotsu.notifications.CommentNotificationWorker
|
||||
import ani.dantotsu.notifications.anilist.AnilistNotificationWorker
|
||||
import ani.dantotsu.others.DisabledReports
|
||||
import ani.dantotsu.parsers.AnimeSources
|
||||
import ani.dantotsu.parsers.MangaSources
|
||||
|
@ -34,7 +36,6 @@ import kotlinx.coroutines.launch
|
|||
import logcat.AndroidLogcatLogger
|
||||
import logcat.LogPriority
|
||||
import logcat.LogcatLogger
|
||||
import tachiyomi.core.util.system.logcat
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
|
||||
|
@ -122,18 +123,51 @@ class App : MultiDexApplication() {
|
|||
CommentsAPI.fetchAuthToken()
|
||||
}
|
||||
|
||||
startWorkers()
|
||||
}
|
||||
|
||||
private fun startWorkers() {
|
||||
val constraints = Constraints.Builder()
|
||||
.setRequiredNetworkType(androidx.work.NetworkType.CONNECTED)
|
||||
.build()
|
||||
val recurringWork = PeriodicWorkRequest.Builder(NotificationWorker::class.java,
|
||||
15, java.util.concurrent.TimeUnit.MINUTES)
|
||||
.setConstraints(constraints)
|
||||
.build()
|
||||
androidx.work.WorkManager.getInstance(this).enqueueUniquePeriodicWork(
|
||||
NotificationWorker.WORK_NAME,
|
||||
androidx.work.ExistingPeriodicWorkPolicy.CANCEL_AND_REENQUEUE,
|
||||
recurringWork
|
||||
)
|
||||
|
||||
// CommentNotificationWorker
|
||||
val commentInterval = CommentNotificationWorker.checkIntervals[PrefManager.getVal(PrefName.CommentNotificationInterval)]
|
||||
if (commentInterval.toInt() != 0) {
|
||||
val recurringWork = PeriodicWorkRequest.Builder(CommentNotificationWorker::class.java,
|
||||
commentInterval, java.util.concurrent.TimeUnit.MINUTES)
|
||||
.setConstraints(constraints)
|
||||
.build()
|
||||
androidx.work.WorkManager.getInstance(this).enqueueUniquePeriodicWork(
|
||||
CommentNotificationWorker.WORK_NAME,
|
||||
androidx.work.ExistingPeriodicWorkPolicy.CANCEL_AND_REENQUEUE,
|
||||
recurringWork
|
||||
)
|
||||
} else {
|
||||
androidx.work.WorkManager.getInstance(this).cancelUniqueWork(CommentNotificationWorker.WORK_NAME)
|
||||
//run once
|
||||
androidx.work.WorkManager.getInstance(this).enqueue(OneTimeWorkRequest.Companion.from(CommentNotificationWorker::class.java))
|
||||
}
|
||||
|
||||
// AnilistNotificationWorker
|
||||
val anilistInterval = AnilistNotificationWorker.checkIntervals[PrefManager.getVal(PrefName.AnilistNotificationInterval)]
|
||||
if (anilistInterval.toInt() != 0) {
|
||||
val recurringWork = PeriodicWorkRequest.Builder(
|
||||
AnilistNotificationWorker::class.java,
|
||||
anilistInterval, java.util.concurrent.TimeUnit.MINUTES)
|
||||
.setConstraints(constraints)
|
||||
.build()
|
||||
androidx.work.WorkManager.getInstance(this).enqueueUniquePeriodicWork(
|
||||
AnilistNotificationWorker.WORK_NAME,
|
||||
androidx.work.ExistingPeriodicWorkPolicy.CANCEL_AND_REENQUEUE,
|
||||
recurringWork
|
||||
)
|
||||
} else {
|
||||
androidx.work.WorkManager.getInstance(this).cancelUniqueWork(AnilistNotificationWorker.WORK_NAME)
|
||||
//run once
|
||||
androidx.work.WorkManager.getInstance(this).enqueue(OneTimeWorkRequest.Companion.from(AnilistNotificationWorker::class.java))
|
||||
}
|
||||
androidx.work.WorkManager.getInstance(this).cancelUniqueWork("ani.dantotsu.notifications.NotificationWorker")
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue