diff options
| author | 2023-04-25 15:07:58 +0000 | |
|---|---|---|
| committer | 2023-04-25 15:43:54 +0000 | |
| commit | 3226ea68f8a67e228428a056dbbfb55c24098def (patch) | |
| tree | d37ac49b79efd5ef7ef769ffc3bb825c258c173a | |
| parent | 1a04915ca68170d1c109c0657e5d39388e5bfba7 (diff) | |
[Central Surfaces] Make shade privacy chip & status icons singletons.
Adding the `@Named` to `HeaderPrivacyIconsController` isn't strictly
necessary, but it makes those views consistent with the battery views
and ensures that the correct views are being passed in.
Bug: 277762009
Test: privacy chip and status icons work correctly in the shade
Change-Id: I424f96e232936346ca9c5b98e76b2b8f4de369af
3 files changed, 24 insertions, 24 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/HeaderPrivacyIconsController.kt b/packages/SystemUI/src/com/android/systemui/qs/HeaderPrivacyIconsController.kt index 6f645b562008..995c6a476f0d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/HeaderPrivacyIconsController.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/HeaderPrivacyIconsController.kt @@ -26,7 +26,9 @@ import java.util.concurrent.Executor import javax.inject.Inject import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main +import com.android.systemui.shade.ShadeModule.Companion.SHADE_HEADER import com.android.systemui.statusbar.policy.DeviceProvisionedController +import javax.inject.Named interface ChipVisibilityListener { fun onChipVisibilityRefreshed(visible: Boolean) @@ -45,10 +47,10 @@ interface ChipVisibilityListener { class HeaderPrivacyIconsController @Inject constructor( private val privacyItemController: PrivacyItemController, private val uiEventLogger: UiEventLogger, - private val privacyChip: OngoingPrivacyChip, + @Named(SHADE_HEADER) private val privacyChip: OngoingPrivacyChip, private val privacyDialogController: PrivacyDialogController, private val privacyLogger: PrivacyLogger, - private val iconContainer: StatusIconContainer, + @Named(SHADE_HEADER) private val iconContainer: StatusIconContainer, private val permissionManager: PermissionManager, @Background private val backgroundExecutor: Executor, @Main private val uiExecutor: Executor, diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt index d3f7bab31411..b7551cf3408e 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt @@ -31,9 +31,11 @@ import com.android.systemui.biometrics.AuthRippleView import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.flags.FeatureFlags +import com.android.systemui.privacy.OngoingPrivacyChip import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.LightRevealScrim import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout +import com.android.systemui.statusbar.phone.StatusIconContainer import com.android.systemui.statusbar.phone.TapAgainView import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.statusbar.policy.ConfigurationController @@ -176,5 +178,23 @@ abstract class ShadeModule { batteryController, ) } + + @Provides + @SysUISingleton + @Named(SHADE_HEADER) + fun providesOngoingPrivacyChip( + @Named(SHADE_HEADER) header: MotionLayout, + ): OngoingPrivacyChip { + return header.findViewById(R.id.privacy_chip) + } + + @Provides + @SysUISingleton + @Named(SHADE_HEADER) + fun providesStatusIconContainer( + @Named(SHADE_HEADER) header: MotionLayout, + ): StatusIconContainer { + return header.findViewById(R.id.statusIcons) + } } } 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 244c1dcfcb7f..67243b6aed00 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,12 +16,8 @@ package com.android.systemui.statusbar.phone.dagger; -import static com.android.systemui.shade.ShadeModule.SHADE_HEADER; - import android.view.LayoutInflater; -import androidx.constraintlayout.motion.widget.MotionLayout; - import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Main; @@ -29,7 +25,6 @@ import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.plugins.statusbar.StatusBarStateController; -import com.android.systemui.privacy.OngoingPrivacyChip; import com.android.systemui.shade.NotificationPanelView; import com.android.systemui.shade.NotificationPanelViewController; import com.android.systemui.shade.NotificationShadeWindowView; @@ -53,7 +48,6 @@ import com.android.systemui.statusbar.phone.StatusBarBoundsProvider; import com.android.systemui.statusbar.phone.StatusBarHideIconsForBouncerManager; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarLocationPublisher; -import com.android.systemui.statusbar.phone.StatusIconContainer; import com.android.systemui.statusbar.phone.SystemBarAttributesListener; import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment; import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger; @@ -129,22 +123,6 @@ public abstract class StatusBarViewModule { /** */ @Provides @CentralSurfacesComponent.CentralSurfacesScope - public static OngoingPrivacyChip getSplitShadeOngoingPrivacyChip( - @Named(SHADE_HEADER) MotionLayout header) { - return header.findViewById(R.id.privacy_chip); - } - - /** */ - @Provides - @CentralSurfacesComponent.CentralSurfacesScope - static StatusIconContainer providesStatusIconContainer( - @Named(SHADE_HEADER) MotionLayout header) { - return header.findViewById(R.id.statusIcons); - } - - /** */ - @Provides - @CentralSurfacesComponent.CentralSurfacesScope public static NotificationsQuickSettingsContainer getNotificationsQuickSettingsContainer( NotificationShadeWindowView notificationShadeWindowView) { return notificationShadeWindowView.findViewById(R.id.notification_container_parent); |