Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28b8bb27 authored by Chris Göllner's avatar Chris Göllner
Browse files

Use the display specific DarkIconDispatcher in most places

This will make sure that most icons/components in the status bar
use per display colors.

- Provide a display specific DarkIconDispatcher in
  HomeStatusBarComponent
- Components within this Component now inject the display specific
  instance

Places that use the SysuiDarkIconDispatcher#darkChangesFlow still
have to be updated in a follow up CL.

Test: CentralSurfacesImplTest.java
Test: CollapsedStatusBarFragmentTest.java
Test: OperatorNameViewControllerTest.kt
Test: Manually - Start light/dark theme activities on both displays
Bug: 369337696
Flag: com.android.systemui.status_bar_connected_displays
Change-Id: I09ee6f35608173c125d7a7e108f183676e563f4f
parent 29f9b0f9
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -85,7 +85,6 @@ class OperatorNameViewControllerTest : SysuiTestCase() {

        underTest =
            OperatorNameViewController.Factory(
                    darkIconDispatcher,
                    tunerService,
                    telephonyManager,
                    keyguardUpdateMonitor,
@@ -94,7 +93,7 @@ class OperatorNameViewControllerTest : SysuiTestCase() {
                    subscriptionManagerProxy,
                    javaAdapter,
                )
                .create(view)
                .create(view, darkIconDispatcher)
    }

    @Test
+6 −6
Original line number Diff line number Diff line
@@ -119,7 +119,6 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>

    /** Factory for constructing an {@link OperatorNameViewController}. */
    public static class Factory {
        private final DarkIconDispatcher mDarkIconDispatcher;
        private final TunerService mTunerService;
        private final TelephonyManager mTelephonyManager;
        private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
@@ -129,7 +128,7 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>
        private final JavaAdapter mJavaAdapter;

        @Inject
        public Factory(DarkIconDispatcher darkIconDispatcher,
        public Factory(
                TunerService tunerService,
                TelephonyManager telephonyManager,
                KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -137,7 +136,6 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>
                AirplaneModeInteractor airplaneModeInteractor,
                SubscriptionManagerProxy subscriptionManagerProxy,
                JavaAdapter javaAdapter) {
            mDarkIconDispatcher = darkIconDispatcher;
            mTunerService = tunerService;
            mTelephonyManager = telephonyManager;
            mKeyguardUpdateMonitor = keyguardUpdateMonitor;
@@ -148,9 +146,11 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>
        }

        /** Create an {@link OperatorNameViewController}. */
        public OperatorNameViewController create(OperatorNameView view) {
            return new OperatorNameViewController(view,
                    mDarkIconDispatcher,
        public OperatorNameViewController create(
                OperatorNameView view, DarkIconDispatcher darkIconDispatcher) {
            return new OperatorNameViewController(
                    view,
                    darkIconDispatcher,
                    mTunerService,
                    mTelephonyManager,
                    mKeyguardUpdateMonitor,
+2 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import androidx.annotation.NonNull;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.widget.ViewClippingUtil;
import com.android.systemui.dagger.qualifiers.DisplaySpecific;
import com.android.systemui.flags.FeatureFlagsClassic;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -117,7 +118,7 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
            PhoneStatusBarTransitions phoneStatusBarTransitions,
            KeyguardBypassController bypassController,
            NotificationWakeUpCoordinator wakeUpCoordinator,
            DarkIconDispatcher darkIconDispatcher,
            @DisplaySpecific DarkIconDispatcher darkIconDispatcher,
            KeyguardStateController keyguardStateController,
            CommandQueue commandQueue,
            NotificationStackScrollLayoutController stackScrollerController,
+2 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import androidx.annotation.VisibleForTesting
import com.android.systemui.Flags
import com.android.systemui.Gefingerpoken
import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.dagger.qualifiers.DisplaySpecific
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags.ENABLE_UNFOLD_STATUS_BAR_ANIMATIONS
import com.android.systemui.plugins.DarkIconDispatcher
@@ -341,7 +342,7 @@ private constructor(
        private val viewUtil: ViewUtil,
        private val configurationController: ConfigurationController,
        private val statusOverlayHoverListenerFactory: StatusOverlayHoverListenerFactory,
        private val darkIconDispatcher: DarkIconDispatcher,
        @DisplaySpecific private val darkIconDispatcher: DarkIconDispatcher,
        private val statusBarContentInsetsProviderStore: StatusBarContentInsetsProviderStore,
    ) {
        fun create(view: PhoneStatusBarView): PhoneStatusBarViewController {
+8 −3
Original line number Diff line number Diff line
@@ -351,8 +351,11 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
            mStatusBar.restoreHierarchyState(
                    savedInstanceState.getSparseParcelableArray(EXTRA_PANEL_STATE));
        }
        mDarkIconManager = mDarkIconManagerFactory.create(
                view.findViewById(R.id.statusIcons), StatusBarLocation.HOME);
        mDarkIconManager =
                mDarkIconManagerFactory.create(
                        view.findViewById(R.id.statusIcons),
                        StatusBarLocation.HOME,
                        mHomeStatusBarComponent.getDarkIconDispatcher());
        mDarkIconManager.setShouldLog(true);
        updateBlockedIcons();
        mStatusBarIconController.addIconGroup(mDarkIconManager);
@@ -939,7 +942,9 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
        if (mCarrierConfigTracker.getShowOperatorNameInStatusBarConfig(subId)) {
            View view = mStatusBar.findViewById(R.id.operator_name);
            mOperatorNameViewController =
                    mOperatorNameViewControllerFactory.create((OperatorNameView) view);
                    mOperatorNameViewControllerFactory.create(
                            (OperatorNameView) view,
                            mHomeStatusBarComponent.getDarkIconDispatcher());
            mOperatorNameViewController.init();
            // This view should not be visible on lock-screen
            if (mKeyguardStateController.isShowing()) {
Loading