Loading packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java +17 −3 Original line number Diff line number Diff line Loading @@ -45,7 +45,10 @@ import com.android.systemui.dreams.complication.Complication; import com.android.systemui.dreams.complication.dagger.ComplicationComponent; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import com.android.systemui.dreams.touch.DreamOverlayTouchMonitor; import com.android.systemui.touch.TouchInsetManager; import java.util.Arrays; import java.util.HashSet; import java.util.concurrent.Executor; import javax.inject.Inject; Loading Loading @@ -84,6 +87,9 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ private final ComplicationComponent mComplicationComponent; private final com.android.systemui.dreams.dreamcomplication.dagger.ComplicationComponent mDreamComplicationComponent; private final DreamOverlayComponent mDreamOverlayComponent; private final DreamOverlayLifecycleOwner mLifecycleOwner; Loading Loading @@ -135,10 +141,13 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ DreamOverlayLifecycleOwner lifecycleOwner, WindowManager windowManager, ComplicationComponent.Factory complicationComponentFactory, com.android.systemui.dreams.dreamcomplication.dagger.ComplicationComponent.Factory dreamComplicationComponentFactory, DreamOverlayComponent.Factory dreamOverlayComponentFactory, DreamOverlayStateController stateController, KeyguardUpdateMonitor keyguardUpdateMonitor, UiEventLogger uiEventLogger, TouchInsetManager touchInsetManager, @Nullable @Named(LowLightDreamModule.LOW_LIGHT_DREAM_COMPONENT) ComponentName lowLightDreamComponent) { mContext = context; Loading @@ -154,9 +163,14 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ final Complication.Host host = () -> mExecutor.execute(DreamOverlayService.this::requestExit); mComplicationComponent = complicationComponentFactory.create(); mDreamOverlayComponent = dreamOverlayComponentFactory.create(lifecycleOwner, viewModelStore, host, null); mComplicationComponent = complicationComponentFactory.create(lifecycleOwner, host, viewModelStore, touchInsetManager); mDreamComplicationComponent = dreamComplicationComponentFactory.create( mComplicationComponent.getVisibilityController(), touchInsetManager); mDreamOverlayComponent = dreamOverlayComponentFactory.create(lifecycleOwner, mComplicationComponent.getComplicationHostViewController(), touchInsetManager, new HashSet<>(Arrays.asList( mDreamComplicationComponent.getHideComplicationTouchHandler()))); mLifecycleOwner = lifecycleOwner; mLifecycleRegistry = mLifecycleOwner.getRegistry(); Loading packages/SystemUI/src/com/android/systemui/dreams/complication/ComplicationLayoutEngine.java +2 −2 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import androidx.constraintlayout.widget.Constraints; import com.android.systemui.R; import com.android.systemui.dreams.complication.ComplicationLayoutParams.Position; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import com.android.systemui.dreams.complication.dagger.ComplicationModule; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.touch.TouchInsetManager; Loading @@ -50,7 +50,7 @@ import javax.inject.Named; * their layout parameters and attributes. The management of this set is done by * {@link ComplicationHostViewController}. */ @DreamOverlayComponent.DreamOverlayScope @ComplicationModule.ComplicationScope public class ComplicationLayoutEngine implements Complication.VisibilityController { public static final String TAG = "ComplicationLayoutEng"; Loading packages/SystemUI/src/com/android/systemui/dreams/complication/dagger/ComplicationComponent.kt +19 −2 Original line number Diff line number Diff line package com.android.systemui.dreams.complication.dagger import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ViewModelStore import com.android.systemui.dreams.complication.Complication import com.android.systemui.dreams.complication.ComplicationHostViewController import com.android.systemui.dreams.complication.ComplicationLayoutEngine import com.android.systemui.touch.TouchInsetManager import dagger.BindsInstance import dagger.Subcomponent @Subcomponent @Subcomponent(modules = [ComplicationModule::class]) @ComplicationModule.ComplicationScope interface ComplicationComponent { /** Factory for generating [ComplicationComponent]. */ @Subcomponent.Factory interface Factory { fun create(): ComplicationComponent fun create( @BindsInstance lifecycleOwner: LifecycleOwner, @BindsInstance host: Complication.Host, @BindsInstance viewModelStore: ViewModelStore, @BindsInstance touchInsetManager: TouchInsetManager ): ComplicationComponent } fun getComplicationHostViewController(): ComplicationHostViewController fun getVisibilityController(): ComplicationLayoutEngine } packages/SystemUI/src/com/android/systemui/dreams/complication/dagger/ComplicationHostViewModule.java +3 −9 Original line number Diff line number Diff line Loading @@ -24,13 +24,12 @@ import androidx.constraintlayout.widget.ConstraintLayout; import com.android.internal.util.Preconditions; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import javax.inject.Named; import dagger.Module; import dagger.Provides; import javax.inject.Named; /** * Module for providing a scoped host view. */ Loading @@ -49,7 +48,7 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(SCOPED_COMPLICATIONS_LAYOUT) @DreamOverlayComponent.DreamOverlayScope @ComplicationModule.ComplicationScope static ConstraintLayout providesComplicationHostView( LayoutInflater layoutInflater) { return Preconditions.checkNotNull((ConstraintLayout) Loading @@ -60,7 +59,6 @@ public abstract class ComplicationHostViewModule { @Provides @Named(COMPLICATION_MARGIN_DEFAULT) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationPadding(@Main Resources resources) { return resources.getDimensionPixelSize(R.dimen.dream_overlay_complication_margin); } Loading @@ -70,7 +68,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_FADE_OUT_DURATION) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsFadeOutDuration(@Main Resources resources) { return resources.getInteger(R.integer.complicationFadeOutMs); } Loading @@ -80,7 +77,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_FADE_OUT_DELAY) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsFadeOutDelay(@Main Resources resources) { return resources.getInteger(R.integer.complicationFadeOutDelayMs); } Loading @@ -90,7 +86,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_FADE_IN_DURATION) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsFadeInDuration(@Main Resources resources) { return resources.getInteger(R.integer.complicationFadeInMs); } Loading @@ -100,7 +95,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_RESTORE_TIMEOUT) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsRestoreTimeout(@Main Resources resources) { return resources.getInteger(R.integer.complicationRestoreMs); } Loading packages/SystemUI/src/com/android/systemui/dreams/complication/dagger/ComplicationModule.java +13 −4 Original line number Diff line number Diff line Loading @@ -24,16 +24,16 @@ import androidx.lifecycle.ViewModelStore; import com.android.systemui.dreams.complication.Complication; import com.android.systemui.dreams.complication.ComplicationCollectionViewModel; import com.android.systemui.dreams.complication.ComplicationLayoutEngine; import com.android.systemui.touch.TouchInsetManager; import dagger.Module; import dagger.Provides; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import javax.inject.Named; import javax.inject.Scope; import dagger.Module; import dagger.Provides; /** * Module for housing components related to rendering complications. */ Loading Loading @@ -73,4 +73,13 @@ public interface ComplicationModule { ComplicationLayoutEngine engine) { return engine; } /** * Provides a new touch inset session instance for complication logic. */ @Provides static TouchInsetManager.TouchInsetSession providesTouchInsetSession( TouchInsetManager manager) { return manager.createSession(); } } Loading
packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java +17 −3 Original line number Diff line number Diff line Loading @@ -45,7 +45,10 @@ import com.android.systemui.dreams.complication.Complication; import com.android.systemui.dreams.complication.dagger.ComplicationComponent; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import com.android.systemui.dreams.touch.DreamOverlayTouchMonitor; import com.android.systemui.touch.TouchInsetManager; import java.util.Arrays; import java.util.HashSet; import java.util.concurrent.Executor; import javax.inject.Inject; Loading Loading @@ -84,6 +87,9 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ private final ComplicationComponent mComplicationComponent; private final com.android.systemui.dreams.dreamcomplication.dagger.ComplicationComponent mDreamComplicationComponent; private final DreamOverlayComponent mDreamOverlayComponent; private final DreamOverlayLifecycleOwner mLifecycleOwner; Loading Loading @@ -135,10 +141,13 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ DreamOverlayLifecycleOwner lifecycleOwner, WindowManager windowManager, ComplicationComponent.Factory complicationComponentFactory, com.android.systemui.dreams.dreamcomplication.dagger.ComplicationComponent.Factory dreamComplicationComponentFactory, DreamOverlayComponent.Factory dreamOverlayComponentFactory, DreamOverlayStateController stateController, KeyguardUpdateMonitor keyguardUpdateMonitor, UiEventLogger uiEventLogger, TouchInsetManager touchInsetManager, @Nullable @Named(LowLightDreamModule.LOW_LIGHT_DREAM_COMPONENT) ComponentName lowLightDreamComponent) { mContext = context; Loading @@ -154,9 +163,14 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ final Complication.Host host = () -> mExecutor.execute(DreamOverlayService.this::requestExit); mComplicationComponent = complicationComponentFactory.create(); mDreamOverlayComponent = dreamOverlayComponentFactory.create(lifecycleOwner, viewModelStore, host, null); mComplicationComponent = complicationComponentFactory.create(lifecycleOwner, host, viewModelStore, touchInsetManager); mDreamComplicationComponent = dreamComplicationComponentFactory.create( mComplicationComponent.getVisibilityController(), touchInsetManager); mDreamOverlayComponent = dreamOverlayComponentFactory.create(lifecycleOwner, mComplicationComponent.getComplicationHostViewController(), touchInsetManager, new HashSet<>(Arrays.asList( mDreamComplicationComponent.getHideComplicationTouchHandler()))); mLifecycleOwner = lifecycleOwner; mLifecycleRegistry = mLifecycleOwner.getRegistry(); Loading
packages/SystemUI/src/com/android/systemui/dreams/complication/ComplicationLayoutEngine.java +2 −2 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import androidx.constraintlayout.widget.Constraints; import com.android.systemui.R; import com.android.systemui.dreams.complication.ComplicationLayoutParams.Position; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import com.android.systemui.dreams.complication.dagger.ComplicationModule; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.touch.TouchInsetManager; Loading @@ -50,7 +50,7 @@ import javax.inject.Named; * their layout parameters and attributes. The management of this set is done by * {@link ComplicationHostViewController}. */ @DreamOverlayComponent.DreamOverlayScope @ComplicationModule.ComplicationScope public class ComplicationLayoutEngine implements Complication.VisibilityController { public static final String TAG = "ComplicationLayoutEng"; Loading
packages/SystemUI/src/com/android/systemui/dreams/complication/dagger/ComplicationComponent.kt +19 −2 Original line number Diff line number Diff line package com.android.systemui.dreams.complication.dagger import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ViewModelStore import com.android.systemui.dreams.complication.Complication import com.android.systemui.dreams.complication.ComplicationHostViewController import com.android.systemui.dreams.complication.ComplicationLayoutEngine import com.android.systemui.touch.TouchInsetManager import dagger.BindsInstance import dagger.Subcomponent @Subcomponent @Subcomponent(modules = [ComplicationModule::class]) @ComplicationModule.ComplicationScope interface ComplicationComponent { /** Factory for generating [ComplicationComponent]. */ @Subcomponent.Factory interface Factory { fun create(): ComplicationComponent fun create( @BindsInstance lifecycleOwner: LifecycleOwner, @BindsInstance host: Complication.Host, @BindsInstance viewModelStore: ViewModelStore, @BindsInstance touchInsetManager: TouchInsetManager ): ComplicationComponent } fun getComplicationHostViewController(): ComplicationHostViewController fun getVisibilityController(): ComplicationLayoutEngine }
packages/SystemUI/src/com/android/systemui/dreams/complication/dagger/ComplicationHostViewModule.java +3 −9 Original line number Diff line number Diff line Loading @@ -24,13 +24,12 @@ import androidx.constraintlayout.widget.ConstraintLayout; import com.android.internal.util.Preconditions; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dreams.dagger.DreamOverlayComponent; import javax.inject.Named; import dagger.Module; import dagger.Provides; import javax.inject.Named; /** * Module for providing a scoped host view. */ Loading @@ -49,7 +48,7 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(SCOPED_COMPLICATIONS_LAYOUT) @DreamOverlayComponent.DreamOverlayScope @ComplicationModule.ComplicationScope static ConstraintLayout providesComplicationHostView( LayoutInflater layoutInflater) { return Preconditions.checkNotNull((ConstraintLayout) Loading @@ -60,7 +59,6 @@ public abstract class ComplicationHostViewModule { @Provides @Named(COMPLICATION_MARGIN_DEFAULT) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationPadding(@Main Resources resources) { return resources.getDimensionPixelSize(R.dimen.dream_overlay_complication_margin); } Loading @@ -70,7 +68,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_FADE_OUT_DURATION) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsFadeOutDuration(@Main Resources resources) { return resources.getInteger(R.integer.complicationFadeOutMs); } Loading @@ -80,7 +77,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_FADE_OUT_DELAY) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsFadeOutDelay(@Main Resources resources) { return resources.getInteger(R.integer.complicationFadeOutDelayMs); } Loading @@ -90,7 +86,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_FADE_IN_DURATION) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsFadeInDuration(@Main Resources resources) { return resources.getInteger(R.integer.complicationFadeInMs); } Loading @@ -100,7 +95,6 @@ public abstract class ComplicationHostViewModule { */ @Provides @Named(COMPLICATIONS_RESTORE_TIMEOUT) @DreamOverlayComponent.DreamOverlayScope static int providesComplicationsRestoreTimeout(@Main Resources resources) { return resources.getInteger(R.integer.complicationRestoreMs); } Loading
packages/SystemUI/src/com/android/systemui/dreams/complication/dagger/ComplicationModule.java +13 −4 Original line number Diff line number Diff line Loading @@ -24,16 +24,16 @@ import androidx.lifecycle.ViewModelStore; import com.android.systemui.dreams.complication.Complication; import com.android.systemui.dreams.complication.ComplicationCollectionViewModel; import com.android.systemui.dreams.complication.ComplicationLayoutEngine; import com.android.systemui.touch.TouchInsetManager; import dagger.Module; import dagger.Provides; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import javax.inject.Named; import javax.inject.Scope; import dagger.Module; import dagger.Provides; /** * Module for housing components related to rendering complications. */ Loading Loading @@ -73,4 +73,13 @@ public interface ComplicationModule { ComplicationLayoutEngine engine) { return engine; } /** * Provides a new touch inset session instance for complication logic. */ @Provides static TouchInsetManager.TouchInsetSession providesTouchInsetSession( TouchInsetManager manager) { return manager.createSession(); } }