Merge "Don't register DndConditionCardController anymore" into main
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionManager.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionManager.java
index 1beac9b..fb3bbb2 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionManager.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionManager.java
@@ -16,6 +16,7 @@
package com.android.settings.homepage.contextualcards.conditional;
+import android.app.Flags;
import android.content.Context;
import android.util.Log;
@@ -153,7 +154,9 @@
new BackgroundDataConditionController(mAppContext, this /* manager */));
mCardControllers.add(new BatterySaverConditionController(mAppContext, this /* manager */));
mCardControllers.add(new CellularDataConditionController(mAppContext, this /* manager */));
- mCardControllers.add(new DndConditionCardController(mAppContext, this /* manager */));
+ if (!Flags.modesUi()) {
+ mCardControllers.add(new DndConditionCardController(mAppContext, this /* manager */));
+ }
mCardControllers.add(new HotspotConditionController(mAppContext, this /* manager */));
mCardControllers.add(new NightDisplayConditionController(mAppContext, this /* manager */));
mCardControllers.add(new RingerVibrateConditionController(mAppContext, this /* manager */));
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
index 6362068..314ccec 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
@@ -35,7 +35,7 @@
import java.util.Objects;
-
+// TODO: b/368247671 - Remove entirely when inlining MODES_UI
public class DndConditionCardController implements ConditionalCardController {
static final int ID = Objects.hash("DndConditionCardController");
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionManagerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionManagerTest.java
index 06cd726..35fa6d8 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionManagerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionManagerTest.java
@@ -25,8 +25,12 @@
import static org.mockito.Mockito.when;
import android.content.Context;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -39,6 +43,9 @@
private static final long ID = 123L;
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
@Mock
private ConditionalCardController mController;
@Mock
@@ -67,6 +74,22 @@
}
@Test
+ @DisableFlags(android.app.Flags.FLAG_MODES_UI)
+ public void cardControllers_beforeModesUi_includesDnd() {
+ ConditionManager manager = new ConditionManager(mContext, mConditionListener);
+ assertThat(manager.mCardControllers.stream()
+ .filter(c -> c instanceof DndConditionCardController).toList()).hasSize(1);
+ }
+
+ @Test
+ @EnableFlags(android.app.Flags.FLAG_MODES_UI)
+ public void cardControllers_doesNotIncludeDnd() {
+ ConditionManager manager = new ConditionManager(mContext, mConditionListener);
+ assertThat(manager.mCardControllers.stream()
+ .filter(c -> c instanceof DndConditionCardController).toList()).isEmpty();
+ }
+
+ @Test
public void onPrimaryClick_shouldRelayToController() {
mManager.onPrimaryClick(mContext, ID);