aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt20
1 files changed, 11 insertions, 9 deletions
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 95726974..73c97b5e 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/services/NotificationService.kt
@@ -34,6 +34,7 @@ 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.
@@ -45,7 +46,8 @@ import org.koin.android.ext.android.inject
*/
class NotificationService : BaseJobService() {
- val cookieDao: CookieDao by inject()
+ private val prefs: Prefs by inject()
+ private val cookieDao: CookieDao by inject()
override fun onStopJob(params: JobParameters?): Boolean {
super.onStopJob(params)
@@ -64,7 +66,7 @@ class NotificationService : BaseJobService() {
frostEvent(
"NotificationTime",
"Type" to (if (abrupt) "Service force stop" else "Service"),
- "IM Included" to Prefs.notificationsInstantMessages,
+ "IM Included" to prefs.notificationsInstantMessages,
"Duration" to time
)
}
@@ -86,7 +88,7 @@ class NotificationService : BaseJobService() {
private suspend fun sendNotifications(params: JobParameters?): Unit =
withContext(Dispatchers.Default) {
- val currentId = Prefs.userId
+ val currentId = prefs.userId
val cookies = cookieDao.selectAll()
yield()
val jobId = params?.extras?.getInt(NOTIFICATION_PARAM_ID, -1) ?: -1
@@ -94,12 +96,12 @@ class NotificationService : BaseJobService() {
for (cookie in cookies) {
yield()
val current = cookie.id == currentId
- if (Prefs.notificationsGeneral &&
- (current || Prefs.notificationAllAccounts)
+ if (prefs.notificationsGeneral &&
+ (current || prefs.notificationAllAccounts)
)
notifCount += fetch(jobId, NotificationType.GENERAL, cookie)
- if (Prefs.notificationsInstantMessages &&
- (current || Prefs.notificationsImAllAccounts)
+ if (prefs.notificationsInstantMessages &&
+ (current || prefs.notificationsImAllAccounts)
)
notifCount += fetch(jobId, NotificationType.MESSAGE, cookie)
}
@@ -117,7 +119,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)
+ val count = type.fetch(this, cookie, prefs)
if (count < 0) {
if (jobId == NOTIFICATION_JOB_NOW)
generalNotification(666, R.string.error_notification, BuildConfig.DEBUG)
@@ -133,7 +135,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)
.setContentTitle(string(R.string.frost_name))
.setContentText(string(textRes))
NotificationManagerCompat.from(this).notify(id, notifBuilder.build())