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

Commit 3a4b075a authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[SB] Add flag helper class for status_bar_mobile_icon_kairos.

Lets us more easily disable or enable the flag while using studio.

Bug: 413477995
Flag: com.android.systemui.status_bar_mobile_icon_kairos
Test: SysUI compiles
Change-Id: I375dcdba7d04dc4d0ee5bc45a7a5fec3c43edc55
parent a6d8ab45
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -81,7 +81,6 @@ import com.android.compose.animation.scene.content.state.TransitionState
import com.android.compose.modifiers.thenIf
import com.android.compose.theme.colorAttr
import com.android.settingslib.Utils
import com.android.systemui.Flags
import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.common.ui.compose.windowinsets.CutoutLocation
@@ -103,6 +102,7 @@ import com.android.systemui.statusbar.core.NewStatusBarIcons
import com.android.systemui.statusbar.phone.StatusBarLocation
import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.pipeline.battery.ui.composable.BatteryWithEstimate
import com.android.systemui.statusbar.pipeline.mobile.StatusBarMobileIconKairos
import com.android.systemui.statusbar.pipeline.mobile.ui.view.ModernShadeCarrierGroupMobileView
import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModelKairosComposeWrapper
import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.ShadeCarrierGroupMobileIconViewModel
@@ -632,7 +632,7 @@ private fun BatteryIconLegacy(
@OptIn(ExperimentalKairosApi::class)
@Composable
private fun ShadeCarrierGroup(viewModel: ShadeHeaderViewModel, modifier: Modifier = Modifier) {
    if (Flags.statusBarMobileIconKairos()) {
    if (StatusBarMobileIconKairos.isEnabled) {
        ShadeCarrierGroupKairos(viewModel, modifier)
        return
    }
+3 −3
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import androidx.annotation.VisibleForTesting;
import com.android.keyguard.CarrierTextManager;
import com.android.settingslib.AccessibilityContentDescriptions;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.Flags;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Application;
import com.android.systemui.dagger.qualifiers.Background;
@@ -55,6 +54,7 @@ import com.android.systemui.statusbar.connectivity.SignalCallback;
import com.android.systemui.statusbar.connectivity.ui.MobileContextProvider;
import com.android.systemui.statusbar.phone.StatusBarLocation;
import com.android.systemui.statusbar.pipeline.StatusBarPipelineFlags;
import com.android.systemui.statusbar.pipeline.mobile.StatusBarMobileIconKairos;
import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapter;
import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapterKairos;
import com.android.systemui.statusbar.pipeline.mobile.ui.binder.MobileIconsBinder;
@@ -223,7 +223,7 @@ public class ShadeCarrierGroupController {
        mMobileIconsViewModel = mobileUiAdapter.getMobileIconsViewModel();

        if (mStatusBarPipelineFlags.useNewShadeCarrierGroupMobileIcons()) {
            if (Flags.statusBarMobileIconKairos()) {
            if (StatusBarMobileIconKairos.isEnabled()) {
                mobileUiAdapterKairos.get().setShadeCarrierGroupController(this);
            } else {
                mobileUiAdapter.setShadeCarrierGroupController(this);
@@ -275,7 +275,7 @@ public class ShadeCarrierGroupController {

        List<IconData> iconDataList = processSubIdList(subIds);

        if (Flags.statusBarMobileIconKairos()) {
        if (StatusBarMobileIconKairos.isEnabled()) {
            for (Job job : mBindingJobs) {
                job.cancel(new CancellationException());
            }
+3 −3
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.widget.LinearLayout;
import androidx.collection.MutableIntObjectMap;

import com.android.internal.statusbar.StatusBarIcon;
import com.android.systemui.Flags;
import com.android.systemui.demomode.DemoMode;
import com.android.systemui.kairos.ExperimentalKairosApi;
import com.android.systemui.kairos.KairosNetwork;
@@ -39,6 +38,7 @@ import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.StatusIconDisplayable;
import com.android.systemui.statusbar.pipeline.mobile.StatusBarMobileIconKairos;
import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapterKairos;
import com.android.systemui.statusbar.pipeline.mobile.ui.MobileViewLogger;
import com.android.systemui.statusbar.pipeline.mobile.ui.view.ModernStatusBarMobileView;
@@ -273,7 +273,7 @@ public class DemoStatusIcons extends StatusIconContainer implements DemoMode, Da
            MobileViewLogger mobileViewLogger,
            int subId) {
        Log.d(TAG, "addModernMobileView (subId=" + subId + ")");
        if (Flags.statusBarMobileIconKairos()) {
        if (StatusBarMobileIconKairos.isEnabled()) {
            Pair<ModernStatusBarMobileView, Job> viewAndJob =
                    ModernStatusBarMobileView.constructAndBind(
                            mobileContext,
@@ -349,7 +349,7 @@ public class DemoStatusIcons extends StatusIconContainer implements DemoMode, Da
            ModernStatusBarMobileView mobileView = matchingModernMobileView(
                    (ModernStatusBarMobileView) view);
            if (mobileView != null) {
                if (Flags.statusBarMobileIconKairos()) {
                if (StatusBarMobileIconKairos.isEnabled()) {
                    Job job = mBindingJobs.remove(mobileView.getSubId());
                    if (job != null) {
                        job.cancel(new CancellationException());
+3 −3
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ import androidx.collection.MutableIntObjectMap;

import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarIcon.Shape;
import com.android.systemui.Flags;
import com.android.systemui.demomode.DemoModeCommandReceiver;
import com.android.systemui.kairos.ExperimentalKairosApi;
import com.android.systemui.kairos.KairosNetwork;
@@ -45,6 +44,7 @@ import com.android.systemui.statusbar.phone.DemoStatusIcons;
import com.android.systemui.statusbar.phone.StatusBarIconHolder;
import com.android.systemui.statusbar.phone.StatusBarIconHolder.BindableIconHolder;
import com.android.systemui.statusbar.phone.StatusBarLocation;
import com.android.systemui.statusbar.pipeline.mobile.StatusBarMobileIconKairos;
import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapter;
import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapterKairos;
import com.android.systemui.statusbar.pipeline.mobile.ui.binder.MobileIconsBinder;
@@ -251,7 +251,7 @@ public class IconManager implements DemoModeCommandReceiver {
    private ModernStatusBarMobileView onCreateModernStatusBarMobileView(
            String slot, int subId) {
        Context mobileContext = mMobileContextProvider.getMobileContextForSub(subId, mContext);
        if (Flags.statusBarMobileIconKairos()) {
        if (StatusBarMobileIconKairos.isEnabled()) {
            Pair<ModernStatusBarMobileView, Job> viewAndJob =
                    ModernStatusBarMobileView.constructAndBind(
                            mobileContext,
@@ -298,7 +298,7 @@ public class IconManager implements DemoModeCommandReceiver {
        if (mIsInDemoMode) {
            mDemoStatusIcons.onRemoveIcon((StatusIconDisplayable) mGroup.getChildAt(viewIndex));
        }
        if (Flags.statusBarMobileIconKairos()) {
        if (StatusBarMobileIconKairos.isEnabled()) {
            View view = mGroup.getChildAt(viewIndex);
            if (view instanceof ModernStatusBarMobileView) {
                Job bindingJob = mBindingJobs.remove(((ModernStatusBarMobileView) view).getSubId());
+4 −4
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.systemui.statusbar.pipeline.dagger

import android.net.wifi.WifiManager
import com.android.systemui.CoreStartable
import com.android.systemui.Flags
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.kairos.ExperimentalKairosApi
import com.android.systemui.kairos.KairosNetwork
@@ -38,6 +37,7 @@ import com.android.systemui.statusbar.pipeline.battery.data.repository.BatteryRe
import com.android.systemui.statusbar.pipeline.battery.data.repository.BatteryRepositoryImpl
import com.android.systemui.statusbar.pipeline.icons.shared.BindableIconsRegistry
import com.android.systemui.statusbar.pipeline.icons.shared.BindableIconsRegistryImpl
import com.android.systemui.statusbar.pipeline.mobile.StatusBarMobileIconKairos
import com.android.systemui.statusbar.pipeline.mobile.data.repository.CarrierConfigCoreStartable
import com.android.systemui.statusbar.pipeline.mobile.data.repository.CarrierConfigRepository
import com.android.systemui.statusbar.pipeline.mobile.data.repository.CarrierConfigRepositoryImpl
@@ -175,7 +175,7 @@ abstract class StatusBarPipelineModule {
            impl: Provider<MobileIconsInteractorImpl>,
            kairosImpl: Provider<MobileIconsInteractorKairosAdapter>,
        ): MobileIconsInteractor {
            return if (Flags.statusBarMobileIconKairos()) {
            return if (StatusBarMobileIconKairos.isEnabled) {
                kairosImpl.get()
            } else {
                impl.get()
@@ -187,7 +187,7 @@ abstract class StatusBarPipelineModule {
            impl: Provider<MobileRepositorySwitcher>,
            kairosImpl: Provider<MobileConnectionsRepositoryKairosAdapter>,
        ): MobileConnectionsRepository {
            return if (Flags.statusBarMobileIconKairos()) {
            return if (StatusBarMobileIconKairos.isEnabled) {
                kairosImpl.get()
            } else {
                impl.get()
@@ -218,7 +218,7 @@ abstract class StatusBarPipelineModule {
            kairosViewModel: Provider<MobileIconsViewModelKairos>,
            kairosNetwork: KairosNetwork,
        ): Supplier<Flow<Boolean>> {
            return if (Flags.statusBarMobileIconKairos()) {
            return if (StatusBarMobileIconKairos.isEnabled) {
                Supplier {
                    kairosViewModel
                        .get()
Loading