diff options
author | Allan Wang <me@allanwang.ca> | 2020-02-29 19:29:09 -0800 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2020-02-29 19:29:09 -0800 |
commit | c5d38e5122bcb452b1e61ea6526434cf62e9da8c (patch) | |
tree | 3b31b15cd40fc81738592b8cb8af15fe23450d65 /app/src/main/kotlin/com/pitchedapps/frost/services | |
parent | a93cdf52cc3b7eff1e2d4cf436b8f8dbc3cf14a2 (diff) | |
download | frost-c5d38e5122bcb452b1e61ea6526434cf62e9da8c.tar.gz frost-c5d38e5122bcb452b1e61ea6526434cf62e9da8c.tar.bz2 frost-c5d38e5122bcb452b1e61ea6526434cf62e9da8c.zip |
Update koin usage
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/services')
3 files changed, 11 insertions, 11 deletions
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 |