[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:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user