Loading packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java +15 −25 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading Loading @@ -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 -> { getSysUIUnfoldComponent() .ifPresent( c -> { c.getUnfoldLightRevealOverlayAnimation().init(); c.getUnfoldTransitionWallpaperController().init(); c.getUnfoldHapticsPlayer(); c.getNaturalRotationUnfoldProgressProvider().init(); c.getUnfoldLatencyTracker().init(); }); getNaturalRotationUnfoldProgressProvider().ifPresent(o -> o.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)); } /** Loading @@ -168,12 +169,6 @@ public interface SysUIComponent { @SysUISingleton ContextComponentHelper getContextComponentHelper(); /** * Creates a UnfoldLatencyTracker. */ @SysUISingleton UnfoldLatencyTracker getUnfoldLatencyTracker(); /** * Creates a UnfoldTransitionProgressProvider. */ Loading Loading @@ -219,11 +214,6 @@ public interface SysUIComponent { */ Optional<SysUIUnfoldComponent> getSysUIUnfoldComponent(); /** * For devices with a hinge: the rotation animation */ Optional<NaturalRotationUnfoldProgressProvider> getNaturalRotationUnfoldProgressProvider(); /** */ MediaMuteAwaitConnectionCli getMediaMuteAwaitConnectionCli(); Loading packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt +17 −10 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -56,7 +57,9 @@ class SysUIUnfoldModule { fun provideSysUIUnfoldComponent( provider: Optional<UnfoldTransitionProgressProvider>, rotationProvider: Optional<NaturalRotationUnfoldProgressProvider>, @Named(UNFOLD_STATUS_BAR) scopedProvider: Optional<ScopedUnfoldTransitionProgressProvider>, @Named(UNFOLD_STATUS_BAR) scopedProvider: Optional<ScopedUnfoldTransitionProgressProvider>, unfoldLatencyTracker: Lazy<UnfoldLatencyTracker>, factory: SysUIUnfoldComponent.Factory ): Optional<SysUIUnfoldComponent> { val p1 = provider.getOrNull() Loading @@ -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())) } } } Loading @@ -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 p3: ScopedUnfoldTransitionProgressProvider, @BindsInstance p4: UnfoldLatencyTracker, ): SysUIUnfoldComponent } Loading @@ -98,4 +101,8 @@ interface SysUIUnfoldComponent { fun getUnfoldLightRevealOverlayAnimation(): UnfoldLightRevealOverlayAnimation fun getUnfoldKeyguardVisibilityManager(): UnfoldKeyguardVisibilityManager fun getUnfoldLatencyTracker(): UnfoldLatencyTracker fun getNaturalRotationUnfoldProgressProvider(): NaturalRotationUnfoldProgressProvider } Loading
packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java +15 −25 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading Loading @@ -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 -> { getSysUIUnfoldComponent() .ifPresent( c -> { c.getUnfoldLightRevealOverlayAnimation().init(); c.getUnfoldTransitionWallpaperController().init(); c.getUnfoldHapticsPlayer(); c.getNaturalRotationUnfoldProgressProvider().init(); c.getUnfoldLatencyTracker().init(); }); getNaturalRotationUnfoldProgressProvider().ifPresent(o -> o.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)); } /** Loading @@ -168,12 +169,6 @@ public interface SysUIComponent { @SysUISingleton ContextComponentHelper getContextComponentHelper(); /** * Creates a UnfoldLatencyTracker. */ @SysUISingleton UnfoldLatencyTracker getUnfoldLatencyTracker(); /** * Creates a UnfoldTransitionProgressProvider. */ Loading Loading @@ -219,11 +214,6 @@ public interface SysUIComponent { */ Optional<SysUIUnfoldComponent> getSysUIUnfoldComponent(); /** * For devices with a hinge: the rotation animation */ Optional<NaturalRotationUnfoldProgressProvider> getNaturalRotationUnfoldProgressProvider(); /** */ MediaMuteAwaitConnectionCli getMediaMuteAwaitConnectionCli(); Loading
packages/SystemUI/src/com/android/systemui/unfold/SysUIUnfoldModule.kt +17 −10 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -56,7 +57,9 @@ class SysUIUnfoldModule { fun provideSysUIUnfoldComponent( provider: Optional<UnfoldTransitionProgressProvider>, rotationProvider: Optional<NaturalRotationUnfoldProgressProvider>, @Named(UNFOLD_STATUS_BAR) scopedProvider: Optional<ScopedUnfoldTransitionProgressProvider>, @Named(UNFOLD_STATUS_BAR) scopedProvider: Optional<ScopedUnfoldTransitionProgressProvider>, unfoldLatencyTracker: Lazy<UnfoldLatencyTracker>, factory: SysUIUnfoldComponent.Factory ): Optional<SysUIUnfoldComponent> { val p1 = provider.getOrNull() Loading @@ -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())) } } } Loading @@ -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 p3: ScopedUnfoldTransitionProgressProvider, @BindsInstance p4: UnfoldLatencyTracker, ): SysUIUnfoldComponent } Loading @@ -98,4 +101,8 @@ interface SysUIUnfoldComponent { fun getUnfoldLightRevealOverlayAnimation(): UnfoldLightRevealOverlayAnimation fun getUnfoldKeyguardVisibilityManager(): UnfoldKeyguardVisibilityManager fun getUnfoldLatencyTracker(): UnfoldLatencyTracker fun getNaturalRotationUnfoldProgressProvider(): NaturalRotationUnfoldProgressProvider }