Merge "Add logging to KeyguardNotifVisProvider"

This commit is contained in:
Steve Elliott
2022-06-14 13:39:58 +00:00
committed by Android (Google) Code Review
4 changed files with 39 additions and 18 deletions

View File

@@ -16,14 +16,14 @@
package com.android.systemui.statusbar.notification.collection.coordinator;
import com.android.keyguard.KeyguardUpdateMonitor;
import androidx.annotation.NonNull;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider;
import com.android.systemui.statusbar.notification.collection.provider.SectionHeaderVisibilityProvider;
import com.android.systemui.statusbar.notification.interruption.KeyguardNotificationVisibilityProvider;
@@ -36,24 +36,21 @@ import javax.inject.Inject;
@CoordinatorScope
public class KeyguardCoordinator implements Coordinator {
private static final String TAG = "KeyguardCoordinator";
private final StatusBarStateController mStatusBarStateController;
private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
private final HighPriorityProvider mHighPriorityProvider;
private final SectionHeaderVisibilityProvider mSectionHeaderVisibilityProvider;
private final KeyguardNotificationVisibilityProvider mKeyguardNotificationVisibilityProvider;
private final SectionHeaderVisibilityProvider mSectionHeaderVisibilityProvider;
private final SharedCoordinatorLogger mLogger;
private final StatusBarStateController mStatusBarStateController;
@Inject
public KeyguardCoordinator(
StatusBarStateController statusBarStateController,
KeyguardUpdateMonitor keyguardUpdateMonitor,
HighPriorityProvider highPriorityProvider,
KeyguardNotificationVisibilityProvider keyguardNotificationVisibilityProvider,
SectionHeaderVisibilityProvider sectionHeaderVisibilityProvider,
KeyguardNotificationVisibilityProvider keyguardNotificationVisibilityProvider) {
mStatusBarStateController = statusBarStateController;
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
mHighPriorityProvider = highPriorityProvider;
mSectionHeaderVisibilityProvider = sectionHeaderVisibilityProvider;
SharedCoordinatorLogger logger,
StatusBarStateController statusBarStateController) {
mKeyguardNotificationVisibilityProvider = keyguardNotificationVisibilityProvider;
mSectionHeaderVisibilityProvider = sectionHeaderVisibilityProvider;
mLogger = logger;
mStatusBarStateController = statusBarStateController;
}
@Override
@@ -69,7 +66,7 @@ public class KeyguardCoordinator implements Coordinator {
private final NotifFilter mNotifFilter = new NotifFilter(TAG) {
@Override
public boolean shouldFilterOut(NotificationEntry entry, long now) {
public boolean shouldFilterOut(@NonNull NotificationEntry entry, long now) {
return mKeyguardNotificationVisibilityProvider.shouldHideNotification(entry);
}
};
@@ -81,6 +78,7 @@ public class KeyguardCoordinator implements Coordinator {
}
private void invalidateListFromFilter(String reason) {
mLogger.logKeyguardCoordinatorInvalidated(reason);
updateSectionHeadersVisibility();
mNotifFilter.invalidateList();
}

View File

@@ -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"
})
}
}

View File

@@ -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<out String>) = 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

View File

@@ -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;
@@ -72,9 +73,10 @@ public class KeyguardCoordinatorTest extends SysuiTestCase {
public void setup() {
MockitoAnnotations.initMocks(this);
KeyguardCoordinator keyguardCoordinator = new KeyguardCoordinator(
mStatusBarStateController,
mKeyguardUpdateMonitor, mHighPriorityProvider, mSectionHeaderVisibilityProvider,
mKeyguardNotificationVisibilityProvider);
mKeyguardNotificationVisibilityProvider,
mSectionHeaderVisibilityProvider,
mock(SharedCoordinatorLogger.class),
mStatusBarStateController);
mEntry = new NotificationEntryBuilder()
.setUser(new UserHandle(NOTIF_USER_ID))