aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/services
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2020-02-29 19:29:09 -0800
committerAllan Wang <me@allanwang.ca>2020-02-29 19:29:09 -0800
commitc5d38e5122bcb452b1e61ea6526434cf62e9da8c (patch)
tree3b31b15cd40fc81738592b8cb8af15fe23450d65 /app/src/main/kotlin/com/pitchedapps/frost/services
parenta93cdf52cc3b7eff1e2d4cf436b8f8dbc3cf14a2 (diff)
downloadfrost-c5d38e5122bcb452b1e61ea6526434cf62e9da8c.tar.gz
frost-c5d38e5122bcb452b1e61ea6526434cf62e9da8c.tar.bz2
frost-c5d38e5122bcb452b1e61ea6526434cf62e9da8c.zip
Update koin usage
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/services')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/services/FrostNotifications.kt10
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt7
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/services/NotificationUtils.kt5
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