Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89e763a4 authored by Lyn's avatar Lyn
Browse files

Collect and log isCooldownEnabled flow

Fixes: 364914732
Bug: 356768397
Test: adb shell cmd statusbar echo -b NotifInterruptLog:verbose
      adb reboot
      adb logcat | grep VisualInterruptionDecisionProvider
Flag: com.android.systemui.notification_avalanche_suppression
Change-Id: I8e72a41ceb064be9e7ea826049a3eda846239a26
parent aa541bdb
Loading
Loading
Loading
Loading
+21 −2
Original line number Diff line number Diff line
@@ -16,17 +16,23 @@

package com.android.systemui.statusbar.notification.data

import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.settings.SecureSettingsRepositoryModule
import com.android.systemui.settings.SystemSettingsRepositoryModule
import com.android.systemui.shared.notifications.data.repository.NotificationSettingsRepository
import com.android.systemui.shared.settings.data.repository.SecureSettingsRepository
import com.android.systemui.shared.settings.data.repository.SystemSettingsRepository
import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionLogger
import dagger.Module
import dagger.Provides
import dagger.multibindings.ClassKey
import dagger.multibindings.IntoMap
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch

@Module(includes = [SecureSettingsRepositoryModule::class, SystemSettingsRepositoryModule::class])
object NotificationSettingsRepositoryModule {
@@ -42,6 +48,19 @@ object NotificationSettingsRepositoryModule {
            backgroundScope,
            backgroundDispatcher,
            secureSettingsRepository,
            systemSettingsRepository
        )
            systemSettingsRepository)

    @Provides
    @IntoMap
    @ClassKey(NotificationSettingsRepository::class)
    @SysUISingleton
    fun provideCoreStartable(
        @Application applicationScope: CoroutineScope,
        repository: NotificationSettingsRepository,
        logger: VisualInterruptionDecisionLogger
    ) = CoreStartable {
        applicationScope.launch {
            repository.isCooldownEnabled.collect { value -> logger.logCooldownSetting(value) }
        }
    }
}
+9 −0
Original line number Diff line number Diff line
@@ -102,6 +102,15 @@ constructor(@NotificationInterruptLog val buffer: LogBuffer) {
            { "AvalancheSuppressor: $str1" }
        )
    }

    fun logCooldownSetting(isEnabled: Boolean) {
        buffer.log(
            TAG,
            INFO,
            { bool1 = isEnabled },
            { "Cooldown enabled: $isEnabled" }
        )
    }
}

private const val TAG = "VisualInterruptionDecisionProvider"