Add notification permission to PermissionsManager

This commit is contained in:
MM20
2022-01-04 22:43:18 +01:00
parent 2c07b97e01
commit 51e9370dd5
7 changed files with 39 additions and 16 deletions
+1
View File
@@ -47,5 +47,6 @@ dependencies {
implementation(project(":music"))
implementation(project(":preferences"))
implementation(project(":badges"))
implementation(project(":permissions"))
}
@@ -8,10 +8,12 @@ import android.media.session.MediaSession
import android.service.notification.NotificationListenerService
import android.service.notification.StatusBarNotification
import android.support.v4.media.session.MediaSessionCompat
import android.util.Log
import androidx.core.app.NotificationCompat
import de.mm20.launcher2.badges.Badge
import de.mm20.launcher2.badges.BadgeProvider
import de.mm20.launcher2.music.MusicRepository
import de.mm20.launcher2.permissions.PermissionsManager
import de.mm20.launcher2.preferences.LauncherPreferences
import org.koin.android.ext.android.inject
import java.lang.ref.WeakReference
@@ -21,6 +23,7 @@ class NotificationService : NotificationListenerService() {
private val musicRepository: MusicRepository by inject()
private val badgeProvider: BadgeProvider by inject()
private val permissionsManager: PermissionsManager by inject()
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
return Service.START_STICKY
@@ -28,6 +31,8 @@ class NotificationService : NotificationListenerService() {
override fun onListenerConnected() {
super.onListenerConnected()
Log.d("MM20", "Notification listener connected")
permissionsManager.reportNotificationListenerState(true)
instance = WeakReference(this)
val notifications = getNotifications().sortedByDescending { it.postTime }
for (n in notifications) {
@@ -110,6 +115,8 @@ class NotificationService : NotificationListenerService() {
override fun onListenerDisconnected() {
super.onListenerDisconnected()
badgeProvider.removeNotificationBadges()
permissionsManager.reportNotificationListenerState(false)
Log.d("MM20", "Notification listener disconnected")
}
companion object {