Adds summary helper for apps subtitle
The subtitle for the apps page says which apps (up to two/three) and how many (if there are more than three) are allowed to bypass dnd under the main "Apps" page. Bug: 308819928 Test: atest ZenModesSummaryHelperTest Flag: android.app.modes_ui Change-Id: I15696384c392ba3f054948db50eea614f91d8c48
This commit is contained in:
@@ -38,6 +38,9 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class ZenModesSummaryHelperTest {
|
||||
private Context mContext;
|
||||
@@ -339,7 +342,7 @@ public class ZenModesSummaryHelperTest {
|
||||
.build();
|
||||
ZenMode zenMode = new ZenMode("id", rule, true);
|
||||
|
||||
assertThat(mSummaryHelper.getAppsSummary(zenMode)).isEqualTo("All");
|
||||
assertThat(mSummaryHelper.getAppsSummary(zenMode, new LinkedHashSet<>())).isEqualTo("All");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -353,7 +356,56 @@ public class ZenModesSummaryHelperTest {
|
||||
.build();
|
||||
ZenMode zenMode = new ZenMode("id", rule, true);
|
||||
|
||||
assertThat(mSummaryHelper.getAppsSummary(zenMode)).isEqualTo("None");
|
||||
assertThat(mSummaryHelper.getAppsSummary(zenMode, new LinkedHashSet<>())).isEqualTo("None");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAppsSummary_priorityAppsNoList() {
|
||||
AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
|
||||
.setType(AutomaticZenRule.TYPE_BEDTIME)
|
||||
.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
|
||||
.setZenPolicy(new ZenPolicy.Builder()
|
||||
.allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
|
||||
.build())
|
||||
.build();
|
||||
ZenMode zenMode = new ZenMode("id", rule, true);
|
||||
|
||||
assertThat(mSummaryHelper.getAppsSummary(zenMode, null)).isEqualTo("Selected apps");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAppsSummary_formatAppsListEmpty() {
|
||||
Set<String> apps = new LinkedHashSet<>();
|
||||
assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("No apps can interrupt");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAppsSummary_formatAppsListSingle() {
|
||||
Set<String> apps = Set.of("My App");
|
||||
assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App can interrupt");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAppsSummary_formatAppsListTwo() {
|
||||
Set<String> apps = Set.of("My App", "SecondApp");
|
||||
assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App and SecondApp "
|
||||
+ "can interrupt");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAppsSummary_formatAppsListThree() {
|
||||
Set<String> apps = Set.of("My App", "SecondApp", "ThirdApp");
|
||||
assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App, SecondApp, "
|
||||
+ "and ThirdApp can interrupt");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAppsSummary_formatAppsListMany() {
|
||||
Set<String> apps = Set.of("My App", "SecondApp", "ThirdApp", "FourthApp",
|
||||
"FifthApp", "SixthApp");
|
||||
// Note that apps are selected alphabetically.
|
||||
assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("FifthApp, FourthApp, "
|
||||
+ "and 4 more can interrupt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -366,7 +418,11 @@ public class ZenModesSummaryHelperTest {
|
||||
.build())
|
||||
.build();
|
||||
ZenMode zenMode = new ZenMode("id", rule, true);
|
||||
Set<String> apps = Set.of("My App", "SecondApp", "ThirdApp", "FourthApp",
|
||||
"FifthApp", "SixthApp");
|
||||
|
||||
assertThat(mSummaryHelper.getAppsSummary(zenMode)).isEqualTo("Selected apps");
|
||||
assertThat(mSummaryHelper.getAppsSummary(zenMode, apps)).isEqualTo("FifthApp, FourthApp, "
|
||||
+ "and 4 more can interrupt");
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user