Add VisualInterruptionDecisionProvider to SystemUIModule

This is in preparation for moving callers from the old
NotificationInterruptStateProvider interface to the new
VisualInterruptionDecisionProvider interface.

Bug: 261728888
Test: none
Change-Id: I9facde570d9cbd2a16d25f55f5bf34c8865c2b76
This commit is contained in:
Julia Tuttle
2023-03-27 15:35:17 -04:00
parent 6e0acefdde
commit 04477663e6
2 changed files with 16 additions and 5 deletions

View File

@@ -85,6 +85,8 @@ import com.android.systemui.statusbar.notification.collection.inflation.Notifica
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProviderWrapper;
import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionProvider;
import com.android.systemui.statusbar.notification.people.PeopleHubModule;
import com.android.systemui.statusbar.notification.row.dagger.ExpandableNotificationRowComponent;
import com.android.systemui.statusbar.notification.row.dagger.NotificationRowComponent;
@@ -116,16 +118,16 @@ import com.android.systemui.wallet.dagger.WalletModule;
import com.android.systemui.wmshell.BubblesManager;
import com.android.wm.shell.bubbles.Bubbles;
import java.util.Optional;
import java.util.concurrent.Executor;
import javax.inject.Named;
import dagger.Binds;
import dagger.BindsOptionalOf;
import dagger.Module;
import dagger.Provides;
import java.util.Optional;
import java.util.concurrent.Executor;
import javax.inject.Named;
/**
* A dagger module for injecting components of System UI that are required by System UI.
*
@@ -315,4 +317,11 @@ public abstract class SystemUIModule {
@Binds
abstract LargeScreenShadeInterpolator largeScreensShadeInterpolator(
LargeScreenShadeInterpolatorImpl impl);
@SysUISingleton
@Provides
static VisualInterruptionDecisionProvider provideVisualInterruptionDecisionProvider(
NotificationInterruptStateProvider innerProvider) {
return new NotificationInterruptStateProviderWrapper(innerProvider);
}
}

View File

@@ -16,6 +16,7 @@
package com.android.systemui.statusbar.notification.interruption
import com.android.internal.annotations.VisibleForTesting
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider.FullScreenIntentDecision.NO_FSI_SUPPRESSED_ONLY_BY_DND
import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionProvider.Decision
@@ -25,6 +26,7 @@ import com.android.systemui.statusbar.notification.interruption.VisualInterrupti
* Wraps a [NotificationInterruptStateProvider] to convert it to the new
* [VisualInterruptionDecisionProvider] interface.
*/
@SysUISingleton
class NotificationInterruptStateProviderWrapper(
private val wrapped: NotificationInterruptStateProvider
) : VisualInterruptionDecisionProvider {