summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matías Hernández <matiashe@google.com> 2024-09-16 11:36:33 +0200
committer Matías Hernández <matiashe@google.com> 2024-09-16 16:32:28 +0200
commit45f28caa56e86d6ca20835fa0f608917f919e9c2 (patch)
tree874d258ab2100768ca58ab029d6bf737152991ed
parentc7c82ca00a146fb40aad00114cd714cac8a416ca (diff)
Improve ModesUi (and related) flag checks in SystemUI
Fixes: 364303841 Test: N/A, covered by existing tests Flag: android.app.modes_ui Change-Id: Ia99df64bb98630986c86e63eb592f02ddd37ba99
-rw-r--r--packages/SystemUI/src/com/android/systemui/modes/shared/ModesUi.kt54
-rw-r--r--packages/SystemUI/src/com/android/systemui/modes/shared/ModesUiIcons.kt55
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt10
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt15
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java12
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/IconManager.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/StatusBarIconControllerImpl.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt19
10 files changed, 147 insertions, 55 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/modes/shared/ModesUi.kt b/packages/SystemUI/src/com/android/systemui/modes/shared/ModesUi.kt
new file mode 100644
index 000000000000..a0663d72a076
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/modes/shared/ModesUi.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.modes.shared
+
+import android.app.Flags
+import com.android.systemui.flags.RefactorFlagUtils
+
+/** Helper for reading or using the modes ui flag state. */
+@Suppress("NOTHING_TO_INLINE")
+object ModesUi {
+ /** Is the refactor enabled */
+ @JvmStatic
+ inline val isEnabled
+ get() = Flags.modesApi() && Flags.modesUi()
+
+ /**
+ * Called to ensure code is only run when the flag is enabled. This protects users from the
+ * unintended behaviors caused by accidentally running new logic, while also crashing on an eng
+ * build to ensure that the refactor author catches issues in testing.
+ */
+ @JvmStatic
+ inline fun isUnexpectedlyInLegacyMode() =
+ RefactorFlagUtils.isUnexpectedlyInLegacyMode(isEnabled, Flags.FLAG_MODES_UI)
+
+ /**
+ * Called to ensure code is only run when the flag is disabled. This will throw an exception if
+ * the flag is not enabled to ensure that the refactor author catches issues in testing.
+ * Caution!! Using this check incorrectly will cause crashes in nextfood builds!
+ */
+ @JvmStatic
+ inline fun assertInNewMode() = RefactorFlagUtils.assertInNewMode(isEnabled, Flags.FLAG_MODES_UI)
+
+ /**
+ * Called to ensure code is only run when the flag is disabled. This will throw an exception if
+ * the flag is enabled to ensure that the refactor author catches issues in testing.
+ */
+ @JvmStatic
+ inline fun assertInLegacyMode() =
+ RefactorFlagUtils.assertInLegacyMode(isEnabled, Flags.FLAG_MODES_UI)
+}
diff --git a/packages/SystemUI/src/com/android/systemui/modes/shared/ModesUiIcons.kt b/packages/SystemUI/src/com/android/systemui/modes/shared/ModesUiIcons.kt
new file mode 100644
index 000000000000..032b0aca1770
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/modes/shared/ModesUiIcons.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.modes.shared
+
+import android.app.Flags
+import com.android.systemui.flags.RefactorFlagUtils
+
+/** Helper for reading or using the modes ui icons flag state. */
+@Suppress("NOTHING_TO_INLINE")
+object ModesUiIcons {
+ /** Is the refactor enabled */
+ @JvmStatic
+ inline val isEnabled
+ get() = ModesUi.isEnabled && Flags.modesUiIcons()
+
+ /**
+ * Called to ensure code is only run when the flag is enabled. This protects users from the
+ * unintended behaviors caused by accidentally running new logic, while also crashing on an eng
+ * build to ensure that the refactor author catches issues in testing.
+ */
+ @JvmStatic
+ inline fun isUnexpectedlyInLegacyMode() =
+ RefactorFlagUtils.isUnexpectedlyInLegacyMode(isEnabled, Flags.FLAG_MODES_UI_ICONS)
+
+ /**
+ * Called to ensure code is only run when the flag is disabled. This will throw an exception if
+ * the flag is not enabled to ensure that the refactor author catches issues in testing.
+ * Caution!! Using this check incorrectly will cause crashes in nextfood builds!
+ */
+ @JvmStatic
+ inline fun assertInNewMode() =
+ RefactorFlagUtils.assertInNewMode(isEnabled, Flags.FLAG_MODES_UI_ICONS)
+
+ /**
+ * Called to ensure code is only run when the flag is disabled. This will throw an exception if
+ * the flag is enabled to ensure that the refactor author catches issues in testing.
+ */
+ @JvmStatic
+ inline fun assertInLegacyMode() =
+ RefactorFlagUtils.assertInLegacyMode(isEnabled, Flags.FLAG_MODES_UI_ICONS)
+}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
index b927134842df..a4fe4e3e1243 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
@@ -49,7 +49,7 @@ import com.android.systemui.animation.DialogTransitionAnimator;
import com.android.systemui.animation.Expandable;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
-import com.android.systemui.flags.RefactorFlagUtils;
+import com.android.systemui.modes.shared.ModesUi;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QSTile.BooleanState;
@@ -108,8 +108,7 @@ public class DndTile extends QSTileImpl<BooleanState> {
statusBarStateController, activityStarter, qsLogger);
// If the flag is on, this shouldn't run at all since the modes tile replaces the DND tile.
- RefactorFlagUtils.INSTANCE.assertInLegacyMode(android.app.Flags.modesUi(),
- android.app.Flags.FLAG_MODES_UI);
+ ModesUi.assertInLegacyMode();
mController = zenModeController;
mSharedPreferences = sharedPreferences;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt
index 7d23fbdf2ece..cf2db6c66ce7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt
@@ -16,7 +16,6 @@
package com.android.systemui.qs.tiles
-import android.app.Flags
import android.content.Intent
import android.os.Handler
import android.os.Looper
@@ -30,7 +29,8 @@ import com.android.internal.logging.MetricsLogger
import com.android.systemui.animation.Expandable
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
-import com.android.systemui.flags.RefactorFlagUtils.isUnexpectedlyInLegacyMode
+import com.android.systemui.modes.shared.ModesUi
+import com.android.systemui.modes.shared.ModesUiIcons
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.plugins.qs.QSTile
@@ -77,14 +77,14 @@ constructor(
metricsLogger,
statusBarStateController,
activityStarter,
- qsLogger
+ qsLogger,
) {
private lateinit var tileState: QSTileState
private val config = qsTileConfigProvider.getConfig(TILE_SPEC)
init {
- /* Check if */ isUnexpectedlyInLegacyMode(Flags.modesUi(), Flags.FLAG_MODES_UI)
+ /* Check if */ ModesUiIcons.isUnexpectedlyInLegacyMode()
lifecycle.coroutineScope.launch {
lifecycle.repeatOnLifecycle(Lifecycle.State.RESUMED) {
@@ -93,7 +93,7 @@ constructor(
}
}
- override fun isAvailable(): Boolean = Flags.modesUi()
+ override fun isAvailable(): Boolean = ModesUi.isEnabled
override fun getTileLabel(): CharSequence = tileState.label
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt
index 483373d8fb6d..5d44ead7c21a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt
@@ -16,13 +16,14 @@
package com.android.systemui.qs.tiles.impl.modes.domain.interactor
-import android.app.Flags
import android.content.Context
import android.os.UserHandle
import com.android.app.tracing.coroutines.flow.map
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.common.shared.model.asIcon
import com.android.systemui.dagger.qualifiers.Background
+import com.android.systemui.modes.shared.ModesUi
+import com.android.systemui.modes.shared.ModesUiIcons
import com.android.systemui.qs.tiles.ModesTile
import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger
import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor
@@ -47,7 +48,7 @@ constructor(
override fun tileData(
user: UserHandle,
- triggers: Flow<DataUpdateTrigger>
+ triggers: Flow<DataUpdateTrigger>,
): Flow<ModesTileModel> = tileData()
/**
@@ -64,20 +65,20 @@ constructor(
suspend fun getCurrentTileModel() = buildTileData(zenModeInteractor.getActiveModes())
private fun buildTileData(activeModes: ActiveZenModes): ModesTileModel {
- if (usesModeIcons()) {
+ if (ModesUiIcons.isEnabled) {
val tileIcon = getTileIcon(activeModes.mainMode)
return ModesTileModel(
isActivated = activeModes.isAnyActive(),
icon = tileIcon.icon,
iconResId = tileIcon.resId,
- activeModes = activeModes.modeNames
+ activeModes = activeModes.modeNames,
)
} else {
return ModesTileModel(
isActivated = activeModes.isAnyActive(),
icon = context.getDrawable(ModesTile.ICON_RES_ID)!!.asIcon(),
iconResId = ModesTile.ICON_RES_ID,
- activeModes = activeModes.modeNames
+ activeModes = activeModes.modeNames,
)
}
}
@@ -97,7 +98,5 @@ constructor(
}
}
- override fun availability(user: UserHandle): Flow<Boolean> = flowOf(Flags.modesUi())
-
- private fun usesModeIcons() = Flags.modesApi() && Flags.modesUi() && Flags.modesUiIcons()
+ override fun availability(user: UserHandle): Flow<Boolean> = flowOf(ModesUi.isEnabled)
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
index 87f360eb9712..ad3afd4d1756 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
@@ -61,6 +61,7 @@ import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarIcon.Shape;
import com.android.internal.util.ContrastColorUtil;
import com.android.systemui.Flags;
+import com.android.systemui.modes.shared.ModesUiIcons;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.notification.NotificationContentDescription;
import com.android.systemui.statusbar.notification.NotificationDozeHelper;
@@ -215,7 +216,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
// We scale notification icons (on the left) plus icons on the right that explicitly
// want FIXED_SPACE.
boolean useNonSystemIconScaling = isNotification()
- || (usesModeIcons() && mIcon != null && mIcon.shape == Shape.FIXED_SPACE);
+ || (ModesUiIcons.isEnabled() && mIcon != null && mIcon.shape == Shape.FIXED_SPACE);
if (useNonSystemIconScaling) {
updateIconScaleForNonSystemIcons();
@@ -415,7 +416,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
if (!levelEquals) {
setImageLevel(icon.iconLevel);
}
- if (usesModeIcons() && icon.shape == Shape.FIXED_SPACE) {
+ if (ModesUiIcons.isEnabled() && icon.shape == Shape.FIXED_SPACE) {
setScaleType(ScaleType.FIT_CENTER);
}
if (!visibilityEquals) {
@@ -506,7 +507,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
@Nullable
private Drawable loadDrawable(Context context, StatusBarIcon statusBarIcon) {
- if (usesModeIcons() && statusBarIcon.preloadedIcon != null) {
+ if (ModesUiIcons.isEnabled() && statusBarIcon.preloadedIcon != null) {
Drawable.ConstantState cached = statusBarIcon.preloadedIcon.getConstantState();
if (cached != null) {
return cached.newDrawable(mContext.getResources()).mutate();
@@ -1041,9 +1042,4 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
public boolean showsConversation() {
return mShowsConversation;
}
-
- private static boolean usesModeIcons() {
- return android.app.Flags.modesApi() && android.app.Flags.modesUi()
- && android.app.Flags.modesUiIcons();
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index ba39c3bb4124..8c0353813ec6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -51,6 +51,7 @@ import com.android.systemui.dagger.qualifiers.DisplayId;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor;
+import com.android.systemui.modes.shared.ModesUiIcons;
import com.android.systemui.privacy.PrivacyItem;
import com.android.systemui.privacy.PrivacyItemController;
import com.android.systemui.privacy.PrivacyType;
@@ -360,7 +361,7 @@ public class PhoneStatusBarPolicy
mBluetooth.addCallback(this);
mProvisionedController.addCallback(this);
mCurrentUserSetup = mProvisionedController.isCurrentUserSetup();
- if (usesModeIcons()) {
+ if (ModesUiIcons.isEnabled()) {
// Note that we're not fully replacing ZenModeController with ZenModeInteractor, so
// we listen for the extra event here but still add the ZMC callback.
mJavaAdapter.alwaysCollectFlow(mZenModeInteractor.getMainActiveMode(),
@@ -397,8 +398,7 @@ public class PhoneStatusBarPolicy
}
private void onMainActiveModeChanged(@Nullable ZenModeInfo mainActiveMode) {
- if (!usesModeIcons()) {
- Log.wtf(TAG, "onMainActiveModeChanged shouldn't run if MODES_UI_ICONS is disabled");
+ if (ModesUiIcons.isUnexpectedlyInLegacyMode()) {
return;
}
@@ -458,14 +458,14 @@ public class PhoneStatusBarPolicy
private void updateVolumeZen() {
int zen = mZenController.getZen();
- if (!usesModeIcons()) {
+ if (!ModesUiIcons.isEnabled()) {
updateZenIcon(zen);
}
updateRingerAndAlarmIcons(zen);
}
private void updateZenIcon(int zen) {
- if (usesModeIcons()) {
+ if (ModesUiIcons.isEnabled()) {
Log.wtf(TAG, "updateZenIcon shouldn't be called if MODES_UI_ICONS is enabled");
return;
}
@@ -942,9 +942,4 @@ public class PhoneStatusBarPolicy
mIconController.setIconVisibility(mSlotConnectedDisplay, visible);
}
-
- private static boolean usesModeIcons() {
- return android.app.Flags.modesApi() && android.app.Flags.modesUi()
- && android.app.Flags.modesUiIcons();
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/IconManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/IconManager.java
index 91ead614ffa4..fd16c6090cb1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/IconManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/IconManager.java
@@ -20,7 +20,6 @@ import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_BIND
import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_ICON;
import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_MOBILE_NEW;
import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_WIFI_NEW;
-import static com.android.systemui.statusbar.phone.ui.StatusBarIconControllerImpl.usesModeIcons;
import android.annotation.Nullable;
import android.content.Context;
@@ -31,6 +30,7 @@ import android.widget.LinearLayout;
import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarIcon.Shape;
import com.android.systemui.demomode.DemoModeCommandReceiver;
+import com.android.systemui.modes.shared.ModesUiIcons;
import com.android.systemui.statusbar.BaseStatusBarFrameLayout;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.StatusIconDisplayable;
@@ -233,7 +233,7 @@ public class IconManager implements DemoModeCommandReceiver {
}
protected LinearLayout.LayoutParams onCreateLayoutParams(Shape shape) {
- int width = usesModeIcons() && shape == StatusBarIcon.Shape.FIXED_SPACE
+ int width = ModesUiIcons.isEnabled() && shape == StatusBarIcon.Shape.FIXED_SPACE
? mIconSize
: ViewGroup.LayoutParams.WRAP_CONTENT;
@@ -259,7 +259,7 @@ public class IconManager implements DemoModeCommandReceiver {
/** Called once an icon has been set. */
public void onSetIcon(int viewIndex, StatusBarIcon icon) {
StatusBarIconView view = (StatusBarIconView) mGroup.getChildAt(viewIndex);
- if (usesModeIcons()) {
+ if (ModesUiIcons.isEnabled()) {
ViewGroup.LayoutParams current = view.getLayoutParams();
ViewGroup.LayoutParams desired = onCreateLayoutParams(icon.shape);
if (desired.width != current.width || desired.height != current.height) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/StatusBarIconControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/StatusBarIconControllerImpl.java
index 9b6d32bd179d..e66e8138102e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/StatusBarIconControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ui/StatusBarIconControllerImpl.java
@@ -42,6 +42,7 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.demomode.DemoMode;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager;
+import com.android.systemui.modes.shared.ModesUiIcons;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.StatusIconDisplayable;
import com.android.systemui.statusbar.phone.StatusBarIconHolder;
@@ -242,10 +243,7 @@ public class StatusBarIconControllerImpl implements Tunable,
public void setResourceIcon(String slot, @Nullable String resPackage,
@DrawableRes int iconResId, @Nullable Drawable preloadedIcon,
CharSequence contentDescription, StatusBarIcon.Shape shape) {
- if (!usesModeIcons()) {
- Log.wtf("TAG",
- "StatusBarIconController.setResourceIcon() should not be called without "
- + "MODES_UI & MODES_UI_ICONS!");
+ if (ModesUiIcons.isUnexpectedlyInLegacyMode()) {
// Fall back to old implementation, although it will not load the icon if it's from a
// different package.
setIcon(slot, iconResId, contentDescription);
@@ -580,9 +578,4 @@ public class StatusBarIconControllerImpl implements Tunable,
return slot + EXTERNAL_SLOT_SUFFIX;
}
}
-
- static boolean usesModeIcons() {
- return android.app.Flags.modesApi() && android.app.Flags.modesUi()
- && android.app.Flags.modesUiIcons();
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt
index cf9f9f4a2a81..3cb7090ea6d4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt
@@ -21,6 +21,7 @@ import android.os.UserManager.DISALLOW_CONFIG_LOCATION
import android.os.UserManager.DISALLOW_MICROPHONE_TOGGLE
import android.os.UserManager.DISALLOW_SHARE_LOCATION
import com.android.systemui.Flags
+import com.android.systemui.modes.shared.ModesUi
import com.android.systemui.qs.QsEventLogger
import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.shared.model.TileCategory
@@ -142,7 +143,7 @@ interface PolicyModule {
dndTile: Provider<DndTile>,
modesTile: Provider<ModesTile>,
): QSTileImpl<*> {
- return if (android.app.Flags.modesUi()) modesTile.get() else dndTile.get()
+ return if (ModesUi.isEnabled) modesTile.get() else dndTile.get()
}
/** Inject flashlight config */
@@ -169,7 +170,7 @@ interface PolicyModule {
factory: QSTileViewModelFactory.Static<FlashlightTileModel>,
mapper: FlashlightMapper,
stateInteractor: FlashlightTileDataInteractor,
- userActionInteractor: FlashlightTileUserActionInteractor
+ userActionInteractor: FlashlightTileUserActionInteractor,
): QSTileViewModel =
factory.create(
TileSpec.create(FLASHLIGHT_TILE_SPEC),
@@ -206,7 +207,7 @@ interface PolicyModule {
factory: QSTileViewModelFactory.Static<LocationTileModel>,
mapper: LocationTileMapper,
stateInteractor: LocationTileDataInteractor,
- userActionInteractor: LocationTileUserActionInteractor
+ userActionInteractor: LocationTileUserActionInteractor,
): QSTileViewModel =
factory.create(
TileSpec.create(LOCATION_TILE_SPEC),
@@ -239,7 +240,7 @@ interface PolicyModule {
factory: QSTileViewModelFactory.Static<AlarmTileModel>,
mapper: AlarmTileMapper,
stateInteractor: AlarmTileDataInteractor,
- userActionInteractor: AlarmTileUserActionInteractor
+ userActionInteractor: AlarmTileUserActionInteractor,
): QSTileViewModel =
factory.create(
TileSpec.create(ALARM_TILE_SPEC),
@@ -272,7 +273,7 @@ interface PolicyModule {
factory: QSTileViewModelFactory.Static<UiModeNightTileModel>,
mapper: UiModeNightTileMapper,
stateInteractor: UiModeNightTileDataInteractor,
- userActionInteractor: UiModeNightTileUserActionInteractor
+ userActionInteractor: UiModeNightTileUserActionInteractor,
): QSTileViewModel =
factory.create(
TileSpec.create(UIMODENIGHT_TILE_SPEC),
@@ -306,7 +307,7 @@ interface PolicyModule {
factory: QSTileViewModelFactory.Static<WorkModeTileModel>,
mapper: WorkModeTileMapper,
stateInteractor: WorkModeTileDataInteractor,
- userActionInteractor: WorkModeTileUserActionInteractor
+ userActionInteractor: WorkModeTileUserActionInteractor,
): QSTileViewModel =
factory.create(
TileSpec.create(WORK_MODE_TILE_SPEC),
@@ -406,7 +407,7 @@ interface PolicyModule {
@IntoMap
@StringKey(DND_TILE_SPEC)
fun provideDndOrModesTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =
- if (android.app.Flags.modesUi()) {
+ if (ModesUi.isEnabled) {
QSTileConfig(
tileSpec = TileSpec.create(DND_TILE_SPEC),
uiConfig =
@@ -438,9 +439,9 @@ interface PolicyModule {
factory: QSTileViewModelFactory.Static<ModesTileModel>,
mapper: ModesTileMapper,
stateInteractor: ModesTileDataInteractor,
- userActionInteractor: ModesTileUserActionInteractor
+ userActionInteractor: ModesTileUserActionInteractor,
): QSTileViewModel =
- if (android.app.Flags.modesUi() && Flags.qsNewTilesFuture())
+ if (ModesUi.isEnabled && Flags.qsNewTilesFuture())
factory.create(
TileSpec.create(DND_TILE_SPEC),
userActionInteractor,