summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Fan Zhang <zhfan@google.com> 2017-10-03 14:37:44 -0700
committer Fan Zhang <zhfan@google.com> 2017-10-03 14:51:11 -0700
commitcfd02742e46c069c5d700756b0fcbf502c90c7a5 (patch)
treef2a7e43b69e844bbaf3cc859dc6790efdfa94867
parentd96b97b855f4fbd22690b4f261d6c39f0f4d49f3 (diff)
Add helper method to override flag
Bug: 36222960 Test: atest FrameworksCoreFeatureFlagTests Change-Id: I45edc5171e66e4ac8e84cfc58a9fdf9bae2b136a
-rw-r--r--core/java/android/util/FeatureFlagUtils.java7
-rw-r--r--core/tests/featureflagtests/src/android/util/FeatureFlagUtilsTest.java13
2 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/util/FeatureFlagUtils.java b/core/java/android/util/FeatureFlagUtils.java
index 5838f9590c9d..fc1d4873c9cb 100644
--- a/core/java/android/util/FeatureFlagUtils.java
+++ b/core/java/android/util/FeatureFlagUtils.java
@@ -50,6 +50,13 @@ public class FeatureFlagUtils {
}
/**
+ * Override feature flag to new state.
+ */
+ public static void setEnabled(String feature, boolean enabled) {
+ SystemProperties.set(FFLAG_OVERRIDE_PREFIX + feature, enabled ? "true" : "false");
+ }
+
+ /**
* Returns all feature flags in their raw form.
*/
public static Map<String, String> getAllFeatureFlags() {
diff --git a/core/tests/featureflagtests/src/android/util/FeatureFlagUtilsTest.java b/core/tests/featureflagtests/src/android/util/FeatureFlagUtilsTest.java
index 8fee1d11a954..ebfa45c9bbc6 100644
--- a/core/tests/featureflagtests/src/android/util/FeatureFlagUtilsTest.java
+++ b/core/tests/featureflagtests/src/android/util/FeatureFlagUtilsTest.java
@@ -16,6 +16,7 @@
package android.util;
+import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
@@ -65,6 +66,18 @@ public class FeatureFlagUtilsTest {
}
@Test
+ public void testSetEnabled_shouldSetOverrideFlag() {
+ assertFalse(FeatureFlagUtils.isEnabled(TEST_FEATURE_NAME));
+
+ FeatureFlagUtils.setEnabled(TEST_FEATURE_NAME, true);
+
+ assertEquals(SystemProperties.get(FeatureFlagUtils.FFLAG_PREFIX + TEST_FEATURE_NAME, null),
+ "");
+ assertTrue(Boolean.parseBoolean(SystemProperties.get(
+ FeatureFlagUtils.FFLAG_OVERRIDE_PREFIX + TEST_FEATURE_NAME, "")));
+ }
+
+ @Test
public void testGetFlag_notSet_shouldReturnFalse() {
assertFalse(FeatureFlagUtils.isEnabled(TEST_FEATURE_NAME));
}