diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java | 40 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt | 27 |
2 files changed, 32 insertions, 35 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java b/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java index dcacd090fa27..d9e06296e460 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java @@ -34,10 +34,8 @@ import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.unfold.FoldStateLogger; import com.android.systemui.unfold.FoldStateLoggingProvider; import com.android.systemui.unfold.SysUIUnfoldComponent; -import com.android.systemui.unfold.UnfoldLatencyTracker; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; import com.android.systemui.unfold.progress.UnfoldTransitionProgressForwarder; -import com.android.systemui.unfold.util.NaturalRotationUnfoldProgressProvider; import com.android.wm.shell.back.BackAnimation; import com.android.wm.shell.bubbles.Bubbles; import com.android.wm.shell.desktopmode.DesktopMode; @@ -62,7 +60,7 @@ import javax.inject.Provider; /** * An example Dagger Subcomponent for Core SysUI. - * + * <p> * See {@link ReferenceSysUIComponent} for the one actually used by AOSP. */ @SysUISingleton @@ -131,23 +129,26 @@ public interface SysUIComponent { default void init() { // Initialize components that have no direct tie to the dagger dependency graph, // but are critical to this component's operation - getSysUIUnfoldComponent().ifPresent(c -> { - c.getUnfoldLightRevealOverlayAnimation().init(); - c.getUnfoldTransitionWallpaperController().init(); - c.getUnfoldHapticsPlayer(); - }); - getNaturalRotationUnfoldProgressProvider().ifPresent(o -> o.init()); + getSysUIUnfoldComponent() + .ifPresent( + c -> { + c.getUnfoldLightRevealOverlayAnimation().init(); + c.getUnfoldTransitionWallpaperController().init(); + c.getUnfoldHapticsPlayer(); + c.getNaturalRotationUnfoldProgressProvider().init(); + c.getUnfoldLatencyTracker().init(); + }); // No init method needed, just needs to be gotten so that it's created. getMediaMuteAwaitConnectionCli(); getNearbyMediaDevicesManager(); - getUnfoldLatencyTracker().init(); getConnectingDisplayViewModel().init(); getFoldStateLoggingProvider().ifPresent(FoldStateLoggingProvider::init); getFoldStateLogger().ifPresent(FoldStateLogger::init); - getUnfoldTransitionProgressProvider().ifPresent((progressProvider) -> - getUnfoldTransitionProgressForwarder().ifPresent((forwarder) -> - progressProvider.addCallback(forwarder) - )); + getUnfoldTransitionProgressProvider() + .ifPresent( + (progressProvider) -> + getUnfoldTransitionProgressForwarder() + .ifPresent(progressProvider::addCallback)); } /** @@ -169,12 +170,6 @@ public interface SysUIComponent { ContextComponentHelper getContextComponentHelper(); /** - * Creates a UnfoldLatencyTracker. - */ - @SysUISingleton - UnfoldLatencyTracker getUnfoldLatencyTracker(); - - /** * Creates a UnfoldTransitionProgressProvider. */ @SysUISingleton @@ -219,11 +214,6 @@ public interface SysUIComponent { */ Optional<SysUIUnfoldComponent> getSysUIUnfoldComponent(); - /** - * For devices with a hinge: the rotation animation - */ - Optional<NaturalRotationUnfoldProgressProvider> getNaturalRotationUnfoldProgressProvider(); - /** */ MediaMuteAwaitConnectionCli getMediaMuteAwaitConnectionCli(); diff --git a/packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt b/packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt index 1482cfccdfc6..8ae093a531c2 100644 --- a/packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt +++ b/packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt @@ -20,11 +20,12 @@ import com.android.keyguard.KeyguardUnfoldTransition import com.android.systemui.dagger.SysUISingleton import com.android.systemui.shade.NotificationPanelUnfoldAnimationController import com.android.systemui.statusbar.phone.StatusBarMoveFromCenterAnimationController -import com.android.systemui.unfold.util.UnfoldKeyguardVisibilityManager import com.android.systemui.unfold.util.NaturalRotationUnfoldProgressProvider import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider +import com.android.systemui.unfold.util.UnfoldKeyguardVisibilityManager import com.android.systemui.util.kotlin.getOrNull import dagger.BindsInstance +import dagger.Lazy import dagger.Module import dagger.Provides import dagger.Subcomponent @@ -54,10 +55,12 @@ class SysUIUnfoldModule { @Provides @SysUISingleton fun provideSysUIUnfoldComponent( - provider: Optional<UnfoldTransitionProgressProvider>, - rotationProvider: Optional<NaturalRotationUnfoldProgressProvider>, - @Named(UNFOLD_STATUS_BAR) scopedProvider: Optional<ScopedUnfoldTransitionProgressProvider>, - factory: SysUIUnfoldComponent.Factory + provider: Optional<UnfoldTransitionProgressProvider>, + rotationProvider: Optional<NaturalRotationUnfoldProgressProvider>, + @Named(UNFOLD_STATUS_BAR) scopedProvider: + Optional<ScopedUnfoldTransitionProgressProvider>, + unfoldLatencyTracker: Lazy<UnfoldLatencyTracker>, + factory: SysUIUnfoldComponent.Factory ): Optional<SysUIUnfoldComponent> { val p1 = provider.getOrNull() val p2 = rotationProvider.getOrNull() @@ -65,7 +68,7 @@ class SysUIUnfoldModule { return if (p1 == null || p2 == null || p3 == null) { Optional.empty() } else { - Optional.of(factory.create(p1, p2, p3)) + Optional.of(factory.create(p1, p2, p3, unfoldLatencyTracker.get())) } } } @@ -73,13 +76,13 @@ class SysUIUnfoldModule { @SysUIUnfoldScope @Subcomponent interface SysUIUnfoldComponent { - @Subcomponent.Factory interface Factory { fun create( - @BindsInstance p1: UnfoldTransitionProgressProvider, - @BindsInstance p2: NaturalRotationUnfoldProgressProvider, - @BindsInstance p3: ScopedUnfoldTransitionProgressProvider + @BindsInstance p1: UnfoldTransitionProgressProvider, + @BindsInstance p2: NaturalRotationUnfoldProgressProvider, + @BindsInstance p3: ScopedUnfoldTransitionProgressProvider, + @BindsInstance p4: UnfoldLatencyTracker, ): SysUIUnfoldComponent } @@ -98,4 +101,8 @@ interface SysUIUnfoldComponent { fun getUnfoldLightRevealOverlayAnimation(): UnfoldLightRevealOverlayAnimation fun getUnfoldKeyguardVisibilityManager(): UnfoldKeyguardVisibilityManager + + fun getUnfoldLatencyTracker(): UnfoldLatencyTracker + + fun getNaturalRotationUnfoldProgressProvider(): NaturalRotationUnfoldProgressProvider } |