summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java40
-rw-r--r--packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt27
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
}