diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java index aac5b8d6b2ebd..ff1c70ca740b4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java @@ -41,6 +41,7 @@ public class KeyguardCoordinator implements Coordinator { private final HighPriorityProvider mHighPriorityProvider; private final SectionHeaderVisibilityProvider mSectionHeaderVisibilityProvider; private final KeyguardNotificationVisibilityProvider mKeyguardNotificationVisibilityProvider; + private final SharedCoordinatorLogger mLogger; @Inject public KeyguardCoordinator( @@ -48,12 +49,14 @@ public class KeyguardCoordinator implements Coordinator { KeyguardUpdateMonitor keyguardUpdateMonitor, HighPriorityProvider highPriorityProvider, SectionHeaderVisibilityProvider sectionHeaderVisibilityProvider, - KeyguardNotificationVisibilityProvider keyguardNotificationVisibilityProvider) { + KeyguardNotificationVisibilityProvider keyguardNotificationVisibilityProvider, + SharedCoordinatorLogger logger) { mStatusBarStateController = statusBarStateController; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mHighPriorityProvider = highPriorityProvider; mSectionHeaderVisibilityProvider = sectionHeaderVisibilityProvider; mKeyguardNotificationVisibilityProvider = keyguardNotificationVisibilityProvider; + mLogger = logger; } @Override @@ -81,6 +84,7 @@ public class KeyguardCoordinator implements Coordinator { } private void invalidateListFromFilter(String reason) { + mLogger.logKeyguardCoordinatorInvalidated(reason); updateSectionHeadersVisibility(); mNotifFilter.invalidateList(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SharedCoordinatorLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SharedCoordinatorLogger.kt index c85fc1efee95d..25bc641f0a845 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SharedCoordinatorLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SharedCoordinatorLogger.kt @@ -35,4 +35,12 @@ class SharedCoordinatorLogger @Inject constructor( "Current user or profiles changed. Current user is $int1; profiles are $str1" }) } + + fun logKeyguardCoordinatorInvalidated(reason: String) { + buffer.log("KeyguardCoordinator", LogLevel.DEBUG, { + str1 = reason + }, { + "KeyguardCoordinator invalidated: $str1" + }) + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt index 6cd3a6a728654..0b6b929cd93c1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt @@ -25,12 +25,15 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.ListenerSet +import com.android.systemui.util.asIndenting import com.android.systemui.util.settings.GlobalSettings import com.android.systemui.util.settings.SecureSettings +import com.android.systemui.util.withIncreasedIndent import dagger.Binds import dagger.Module import dagger.multibindings.ClassKey import dagger.multibindings.IntoMap +import java.io.PrintWriter import java.util.function.Consumer import javax.inject.Inject @@ -209,6 +212,16 @@ private class KeyguardNotificationVisibilityProviderImpl @Inject constructor( } } + override fun dump(pw: PrintWriter, args: Array) = pw.asIndenting().run { + println("isLockedOrLocking=$isLockedOrLocking") + withIncreasedIndent { + println("keyguardStateController.isShowing=${keyguardStateController.isShowing}") + println("statusBarStateController.currentOrUpcomingState=" + + "${statusBarStateController.currentOrUpcomingState}") + } + println("hideSilentNotificationsOnLockscreen=$hideSilentNotificationsOnLockscreen") + } + private val isLockedOrLocking get() = keyguardStateController.isShowing || statusBarStateController.currentOrUpcomingState == StatusBarState.KEYGUARD diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.java index 52bacd2360b34..d082d74078dbf 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification.collection.coordinator; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -74,7 +75,7 @@ public class KeyguardCoordinatorTest extends SysuiTestCase { KeyguardCoordinator keyguardCoordinator = new KeyguardCoordinator( mStatusBarStateController, mKeyguardUpdateMonitor, mHighPriorityProvider, mSectionHeaderVisibilityProvider, - mKeyguardNotificationVisibilityProvider); + mKeyguardNotificationVisibilityProvider, mock(SharedCoordinatorLogger.class)); mEntry = new NotificationEntryBuilder() .setUser(new UserHandle(NOTIF_USER_ID))