diff options
author | tomnatan <tomnatan@google.com> | 2021-07-06 14:55:42 +0000 |
---|---|---|
committer | tomnatan <tomnatan@google.com> | 2021-07-06 15:18:50 +0000 |
commit | f332106222be60feb46e61c52a03b204fcb4226e (patch) | |
tree | aac2a92ba3915a8ee6ce0c09598a220df2ea3c9e /core/tests | |
parent | 457feb05d5248babce9268d613f70620ea277b1e (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.java | 43 |
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); } } |