From c5d38e5122bcb452b1e61ea6526434cf62e9da8c Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sat, 29 Feb 2020 19:29:09 -0800 Subject: Update koin usage --- .../com/pitchedapps/frost/services/FrostNotifications.kt | 10 +++++----- .../com/pitchedapps/frost/services/NotificationService.kt | 7 ++++--- .../kotlin/com/pitchedapps/frost/services/NotificationUtils.kt | 5 ++--- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/services') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/services/FrostNotifications.kt b/app/src/main/kotlin/com/pitchedapps/frost/services/FrostNotifications.kt index 7b20e07c..5b62a4ed 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/services/FrostNotifications.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/services/FrostNotifications.kt @@ -33,6 +33,7 @@ import com.pitchedapps.frost.R import com.pitchedapps.frost.activities.FrostWebActivity import com.pitchedapps.frost.db.CookieEntity import com.pitchedapps.frost.db.FrostDatabase +import com.pitchedapps.frost.db.NotificationDao import com.pitchedapps.frost.db.latestEpoch import com.pitchedapps.frost.db.saveNotifications import com.pitchedapps.frost.enums.OverlayContext @@ -112,8 +113,7 @@ enum class NotificationType( * Returns the number of notifications generated, * or -1 if an error occurred */ - suspend fun fetch(context: Context, data: CookieEntity, prefs: Prefs): Int { - val notifDao = FrostDatabase.get().notifDao() + suspend fun fetch(context: Context, data: CookieEntity, prefs: Prefs, notifDao: NotificationDao): Int { val response = try { parser.parse(data.cookie) } catch (ignored: Exception) { @@ -170,7 +170,7 @@ enum class NotificationType( val ringtone = ringtoneProvider(prefs) notifs.forEachIndexed { i, notif -> // Ring at most twice - notif.withAlert(context, i < 2, ringtone).notify(context) + notif.withAlert(context, i < 2, ringtone, prefs).notify(context) } return notifs.size } @@ -307,8 +307,8 @@ data class FrostNotification( val notif: NotificationCompat.Builder ) { - fun withAlert(context: Context, enable: Boolean, ringtone: String): FrostNotification { - notif.setFrostAlert(context, enable, ringtone) + fun withAlert(context: Context, enable: Boolean, ringtone: String, prefs: Prefs): FrostNotification { + notif.setFrostAlert(context, enable, ringtone, prefs) return this } diff --git a/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt b/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt index 73c97b5e..4c80f63d 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt @@ -23,6 +23,7 @@ import com.pitchedapps.frost.BuildConfig import com.pitchedapps.frost.R import com.pitchedapps.frost.db.CookieDao import com.pitchedapps.frost.db.CookieEntity +import com.pitchedapps.frost.db.NotificationDao import com.pitchedapps.frost.db.selectAll import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.Prefs @@ -34,7 +35,6 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import kotlinx.coroutines.yield import org.koin.android.ext.android.inject -import org.koin.core.inject /** * Created by Allan Wang on 2017-06-14. @@ -47,6 +47,7 @@ import org.koin.core.inject class NotificationService : BaseJobService() { private val prefs: Prefs by inject() + private val notifDao: NotificationDao by inject() private val cookieDao: CookieDao by inject() override fun onStopJob(params: JobParameters?): Boolean { @@ -119,7 +120,7 @@ class NotificationService : BaseJobService() { * Also normalized the output to return the number of notifications received */ private suspend fun fetch(jobId: Int, type: NotificationType, cookie: CookieEntity): Int { - val count = type.fetch(this, cookie, prefs) + val count = type.fetch(this, cookie, prefs, notifDao) if (count < 0) { if (jobId == NOTIFICATION_JOB_NOW) generalNotification(666, R.string.error_notification, BuildConfig.DEBUG) @@ -135,7 +136,7 @@ class NotificationService : BaseJobService() { private fun generalNotification(id: Int, textRes: Int, withDefaults: Boolean) { val notifBuilder = frostNotification(NOTIF_CHANNEL_GENERAL) - .setFrostAlert(this, withDefaults, prefs.notificationRingtone) + .setFrostAlert(this, withDefaults, prefs.notificationRingtone, prefs) .setContentTitle(string(R.string.frost_name)) .setContentText(string(textRes)) NotificationManagerCompat.from(this).notify(id, notifBuilder.build()) diff --git a/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationUtils.kt b/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationUtils.kt index 5f01dfd2..60cf874f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationUtils.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationUtils.kt @@ -92,10 +92,9 @@ fun Context.frostNotification(id: String) = fun NotificationCompat.Builder.setFrostAlert( context: Context, enable: Boolean, - ringtone: String + ringtone: String, + prefs: Prefs ): NotificationCompat.Builder { - val prefs = Prefs.get() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { setGroupAlertBehavior( if (enable) NotificationCompat.GROUP_ALERT_CHILDREN -- cgit v1.2.3