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);