[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
This commit is contained in:
Caitlin Shkuratov
2023-04-25 15:07:58 +00:00
parent 1a04915ca6
commit 3226ea68f8
3 changed files with 24 additions and 24 deletions

View File

@@ -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,

View File

@@ -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)
}
}
}

View File

@@ -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;
@@ -126,22 +120,6 @@ public abstract class StatusBarViewModule {
abstract ShadeViewController bindsShadeViewController(
NotificationPanelViewController notificationPanelViewController);
/** */
@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