diff options
3 files changed, 21 insertions, 16 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt index f0815e93dccd..d07f1d84531d 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt @@ -52,6 +52,7 @@ import com.android.systemui.shade.ShadeHeaderController.Companion.LARGE_SCREEN_H import com.android.systemui.shade.ShadeHeaderController.Companion.LARGE_SCREEN_HEADER_TRANSITION_ID import com.android.systemui.shade.ShadeHeaderController.Companion.QQS_HEADER_CONSTRAINT import com.android.systemui.shade.ShadeHeaderController.Companion.QS_HEADER_CONSTRAINT +import com.android.systemui.shade.ShadeModule.Companion.SHADE_HEADER import com.android.systemui.shade.carrier.ShadeCarrierGroup import com.android.systemui.shade.carrier.ShadeCarrierGroupController import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider @@ -59,7 +60,6 @@ import com.android.systemui.statusbar.phone.StatusBarIconController import com.android.systemui.statusbar.phone.StatusBarLocation import com.android.systemui.statusbar.phone.StatusIconContainer import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope -import com.android.systemui.statusbar.phone.dagger.StatusBarViewModule.SHADE_HEADER import com.android.systemui.statusbar.policy.Clock import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.statusbar.policy.NextAlarmController diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt index 9cd8c547d1c1..49e02e3b2337 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt @@ -17,6 +17,8 @@ package com.android.systemui.shade import android.view.LayoutInflater +import android.view.ViewStub +import androidx.constraintlayout.motion.widget.MotionLayout import com.android.keyguard.LockIconView import com.android.systemui.CoreStartable import com.android.systemui.R @@ -31,6 +33,7 @@ import dagger.Module import dagger.Provides import dagger.multibindings.ClassKey import dagger.multibindings.IntoMap +import javax.inject.Named /** Module for classes related to the notification shade. */ @Module @@ -42,6 +45,8 @@ abstract class ShadeModule { abstract fun bindAuthRippleController(controller: AuthRippleController): CoreStartable companion object { + const val SHADE_HEADER = "large_screen_shade_header" + @Provides @SysUISingleton // TODO(b/277762009): Do something similar to @@ -109,5 +114,18 @@ abstract class ShadeModule { ): TapAgainView { return notificationPanelView.findViewById(R.id.shade_falsing_tap_again) } + + // TODO(b/277762009): Only allow this view's controller to inject the view. See above. + @Provides + @SysUISingleton + @Named(SHADE_HEADER) + fun providesShadeHeaderView( + notificationShadeWindowView: NotificationShadeWindowView, + ): MotionLayout { + val stub = notificationShadeWindowView.findViewById<ViewStub>(R.id.qs_header_stub) + val layoutId = R.layout.combined_qs_header + stub.layoutResource = layoutId + return stub.inflate() as MotionLayout + } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java index 2c57a268f6b8..94414dd65fbb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java @@ -16,10 +16,11 @@ package com.android.systemui.statusbar.phone.dagger; +import static com.android.systemui.shade.ShadeModule.SHADE_HEADER; + import android.content.ContentResolver; import android.os.Handler; import android.view.LayoutInflater; -import android.view.ViewStub; import androidx.constraintlayout.motion.widget.MotionLayout; @@ -90,7 +91,6 @@ import javax.inject.Provider; }) public abstract class StatusBarViewModule { - public static final String SHADE_HEADER = "large_screen_shade_header"; public static final String STATUS_BAR_FRAGMENT = "status_bar_fragment"; /** */ @@ -136,19 +136,6 @@ public abstract class StatusBarViewModule { abstract ShadeViewController bindsShadeViewController( NotificationPanelViewController notificationPanelViewController); - @Provides - @Named(SHADE_HEADER) - @CentralSurfacesComponent.CentralSurfacesScope - public static MotionLayout getLargeScreenShadeHeaderBarView( - NotificationShadeWindowView notificationShadeWindowView, - FeatureFlags featureFlags) { - ViewStub stub = notificationShadeWindowView.findViewById(R.id.qs_header_stub); - int layoutId = R.layout.combined_qs_header; - stub.setLayoutResource(layoutId); - MotionLayout v = (MotionLayout) stub.inflate(); - return v; - } - /** */ @Provides @CentralSurfacesComponent.CentralSurfacesScope |