summaryrefslogtreecommitdiff
path: root/core/tests
diff options
context:
space:
mode:
authortomnatan <tomnatan@google.com>2021-07-06 14:55:42 +0000
committertomnatan <tomnatan@google.com>2021-07-06 15:18:50 +0000
commitf332106222be60feb46e61c52a03b204fcb4226e (patch)
treeaac2a92ba3915a8ee6ce0c09598a220df2ea3c9e /core/tests
parent457feb05d5248babce9268d613f70620ea277b1e (diff)
Add support for always_constrain_display_apis flag
Bug: 191184114 Test: atest WmTests:SizeCompatTests Test: atest FrameworksCoreTests:ConstrainDisplayApisConfigTest Change-Id: Ifc0d48c838216603c00f4cc09d0df2fd145a53a6
Diffstat (limited to 'core/tests')
-rw-r--r--core/tests/coretests/src/android/content/pm/ConstrainDisplayApisConfigTest.java43
1 files changed, 39 insertions, 4 deletions
diff --git a/core/tests/coretests/src/android/content/pm/ConstrainDisplayApisConfigTest.java b/core/tests/coretests/src/android/content/pm/ConstrainDisplayApisConfigTest.java
index 1dfbfcd85a73..0456029f45a0 100644
--- a/core/tests/coretests/src/android/content/pm/ConstrainDisplayApisConfigTest.java
+++ b/core/tests/coretests/src/android/content/pm/ConstrainDisplayApisConfigTest.java
@@ -48,7 +48,8 @@ public final class ConstrainDisplayApisConfigTest {
public void setUp() throws Exception {
mInitialConstrainDisplayApisFlags = DeviceConfig.getProperties(
NAMESPACE_CONSTRAIN_DISPLAY_APIS);
- clearConstrainDisplayApisFlags();
+ DeviceConfig.setProperties(
+ new Properties.Builder(NAMESPACE_CONSTRAIN_DISPLAY_APIS).build());
}
@After
@@ -120,6 +121,29 @@ public final class ConstrainDisplayApisConfigTest {
testNeverConstrainDisplayApis("com.android.test5", /* version= */ 5, /* expected= */ true);
}
+ @Test
+ public void alwaysConstrainDisplayApis_flagsNoSet_returnsFalse() {
+ testAlwaysConstrainDisplayApis("com.android.test", /* version= */ 1, /* expected= */ false);
+ }
+
+ @Test
+ public void alwaysConstrainDisplayApis_flagHasEntries_returnsTrueForPackagesWithinRange() {
+ setAlwaysConstrainDisplayApisFlag("com.android.test1::,com.android.test2:1:2");
+
+ // Package 'com.android.other'
+ testAlwaysConstrainDisplayApis("com.android.other", /* version= */ 5, /* expected= */
+ false);
+ // Package 'com.android.test1'
+ testAlwaysConstrainDisplayApis("com.android.test1", /* version= */ 5, /* expected= */ true);
+ // Package 'com.android.test2'
+ testAlwaysConstrainDisplayApis("com.android.test2", /* version= */ 0, /* expected= */
+ false);
+ testAlwaysConstrainDisplayApis("com.android.test2", /* version= */ 1, /* expected= */ true);
+ testAlwaysConstrainDisplayApis("com.android.test2", /* version= */ 2, /* expected= */ true);
+ testAlwaysConstrainDisplayApis("com.android.test2", /* version= */ 3, /* expected= */
+ false);
+ }
+
private static void testNeverConstrainDisplayApis(String packageName, long version,
boolean expected) {
boolean result = ConstrainDisplayApisConfig.neverConstrainDisplayApis(
@@ -131,6 +155,17 @@ public final class ConstrainDisplayApisConfigTest {
}
}
+ private static void testAlwaysConstrainDisplayApis(String packageName, long version,
+ boolean expected) {
+ boolean result = ConstrainDisplayApisConfig.alwaysConstrainDisplayApis(
+ buildApplicationInfo(packageName, version));
+ if (expected) {
+ assertTrue(result);
+ } else {
+ assertFalse(result);
+ }
+ }
+
private static ApplicationInfo buildApplicationInfo(String packageName, long version) {
ApplicationInfo applicationInfo = new ApplicationInfo();
applicationInfo.packageName = packageName;
@@ -149,8 +184,8 @@ public final class ConstrainDisplayApisConfigTest {
value, /* makeDefault= */ false);
}
- private static void clearConstrainDisplayApisFlags() {
- setNeverConstrainDisplayApisFlag(null);
- setNeverConstrainDisplayApisAllPackagesFlag(null);
+ private static void setAlwaysConstrainDisplayApisFlag(@Nullable String value) {
+ DeviceConfig.setProperty(NAMESPACE_CONSTRAIN_DISPLAY_APIS, "always_constrain_display_apis",
+ value, /* makeDefault= */ false);
}
}