Don't register DndConditionCardController anymore

This card links to the deprecated Zen pages that become unavailable with MODES_UI.

Bug: 346789065
Test: atest ConditionManagerTest
Flag: android.app.modes_ui
Change-Id: Ifd097eb7100fa71a871b23ad4a44e3418d05fe61
This commit is contained in:
Matías Hernández
2024-09-27 19:53:44 +02:00
parent 9b36ed51a2
commit 97cbb8cba1
3 changed files with 28 additions and 2 deletions

View File

@@ -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 @@ public class ConditionManager {
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 */));

View File

@@ -35,7 +35,7 @@ import com.android.settings.notification.zen.ZenModeSettings;
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");

View File

@@ -25,8 +25,12 @@ import static org.mockito.Mockito.verify;
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 @@ public class ConditionManagerTest {
private static final long ID = 123L;
@Rule
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@Mock
private ConditionalCardController mController;
@Mock
@@ -66,6 +73,22 @@ public class ConditionManagerTest {
assertThat(mManager.getDisplayableCards()).isEmpty();
}
@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);