diff options
| author | 2023-11-12 23:37:04 +0000 | |
|---|---|---|
| committer | 2023-12-05 03:51:36 +0000 | |
| commit | fd3c348825f7575aca02e6ba4eadced09be8d6e0 (patch) | |
| tree | 33b2c160d7a74e01ebe2e67e57c9f6d875a7f2a6 | |
| parent | 4f4f6dbd324d017412d7303ddba1ac91bf1c1e61 (diff) | |
Classic feature flags cleanup & use EnableFlags annotations for tests
Fixes: 314856480
Test: atest FeatureFlagsClassicDebugTest
Flag: NA
Change-Id: Id8be7021effc24e876447bea65663e310110ccad
5 files changed, 20 insertions, 22 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/flags/Flag.kt b/packages/SystemUI/shared/src/com/android/systemui/flags/Flag.kt index f1a40077f3f9..e27a328a847a 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/flags/Flag.kt +++ b/packages/SystemUI/shared/src/com/android/systemui/flags/Flag.kt @@ -119,9 +119,8 @@ data class UnreleasedFlag constructor( data class ReleasedFlag constructor( override val name: String, override val namespace: String, - override val teamfood: Boolean = false, override val overridden: Boolean = false -) : BooleanFlag(name, namespace, true, teamfood, overridden) +) : BooleanFlag(name, namespace, true, teamfood = false, overridden) /** * A Flag that reads its default values from a resource overlay instead of code. @@ -132,8 +131,9 @@ data class ResourceBooleanFlag constructor( override val name: String, override val namespace: String, @BoolRes override val resourceId: Int, +) : ResourceFlag<Boolean> { override val teamfood: Boolean = false -) : ResourceFlag<Boolean> +} /** * A Flag that can reads its overrides from System Properties. @@ -147,7 +147,6 @@ data class SysPropBooleanFlag constructor( override val namespace: String, override val default: Boolean = false, ) : SysPropFlag<Boolean> { - // TODO(b/268520433): Teamfood not supported for sysprop flags yet. override val teamfood: Boolean = false } diff --git a/packages/SystemUI/src-debug/com/android/systemui/flags/FlagsFactory.kt b/packages/SystemUI/src-debug/com/android/systemui/flags/FlagsFactory.kt index aef83710c17b..f9fe67ac2076 100644 --- a/packages/SystemUI/src-debug/com/android/systemui/flags/FlagsFactory.kt +++ b/packages/SystemUI/src-debug/com/android/systemui/flags/FlagsFactory.kt @@ -42,7 +42,7 @@ object FlagsFactory { name: String, namespace: String = "systemui", ): ReleasedFlag { - val flag = ReleasedFlag(name = name, namespace = namespace, teamfood = false) + val flag = ReleasedFlag(name = name, namespace = namespace) checkForDupesAndAdd(flag) return flag } @@ -57,7 +57,6 @@ object FlagsFactory { name = name, namespace = namespace, resourceId = resourceId, - teamfood = false, ) checkForDupesAndAdd(flag) return flag diff --git a/packages/SystemUI/src-release/com/android/systemui/flags/FlagsFactory.kt b/packages/SystemUI/src-release/com/android/systemui/flags/FlagsFactory.kt index f4b429659d8a..aedf0ce21c24 100644 --- a/packages/SystemUI/src-release/com/android/systemui/flags/FlagsFactory.kt +++ b/packages/SystemUI/src-release/com/android/systemui/flags/FlagsFactory.kt @@ -42,7 +42,7 @@ object FlagsFactory { name: String, namespace: String = "systemui", ): ReleasedFlag { - val flag = ReleasedFlag(name = name, namespace = namespace, teamfood = false) + val flag = ReleasedFlag(name = name, namespace = namespace) flagMap[name] = flag return flag } @@ -57,7 +57,6 @@ object FlagsFactory { name = name, namespace = namespace, resourceId = resourceId, - teamfood = false, ) flagMap[name] = flag return flag diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java index 87c12b4a5a59..72b08910ef32 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java +++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java @@ -25,7 +25,6 @@ import static com.android.systemui.flags.FlagManager.EXTRA_NAME; import static com.android.systemui.flags.FlagManager.EXTRA_VALUE; import static com.android.systemui.flags.FlagsCommonModule.ALL_FLAGS; import static com.android.systemui.shared.Flags.exampleSharedFlag; - import static java.util.Objects.requireNonNull; import android.content.BroadcastReceiver; @@ -508,9 +507,7 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { enabled = isEnabled((ResourceBooleanFlag) f); overridden = readBooleanFlagOverride(f.getName()) != null; } else if (f instanceof SysPropBooleanFlag) { - // TODO(b/223379190): Teamfood not supported for sysprop flags yet. enabled = isEnabled((SysPropBooleanFlag) f); - teamfood = false; overridden = !mSystemProperties.get(f.getName()).isEmpty(); } else { // TODO: add support for other flag types. @@ -519,7 +516,7 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { } if (enabled) { - return new ReleasedFlag(f.getName(), f.getNamespace(), teamfood, overridden); + return new ReleasedFlag(f.getName(), f.getNamespace(), overridden); } else { return new UnreleasedFlag(f.getName(), f.getNamespace(), teamfood, overridden); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt b/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt index a903d257d05f..523127e08a20 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt @@ -21,6 +21,8 @@ import android.content.Intent import android.content.pm.PackageManager.NameNotFoundException import android.content.res.Resources import android.content.res.Resources.NotFoundException +import android.platform.test.annotations.DisableFlags +import android.platform.test.annotations.EnableFlags import android.test.suitebuilder.annotation.SmallTest import com.android.systemui.Flags.FLAG_SYSUI_TEAMFOOD import com.android.systemui.SysuiTestCase @@ -68,15 +70,14 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { private val serverFlagReader = ServerFlagReaderFake() private val teamfoodableFlagA = UnreleasedFlag(name = "a", namespace = "test", teamfood = true) - private val teamfoodableFlagB = ReleasedFlag(name = "b", namespace = "test", teamfood = true) + private val releasedFlagB = ReleasedFlag(name = "b", namespace = "test") @Before fun setup() { MockitoAnnotations.initMocks(this) - mSetFlagsRule.disableFlags(FLAG_SYSUI_TEAMFOOD) flagMap.put(teamfoodableFlagA.name, teamfoodableFlagA) - flagMap.put(teamfoodableFlagB.name, teamfoodableFlagB) + flagMap.put(releasedFlagB.name, releasedFlagB) mFeatureFlagsClassicDebug = FeatureFlagsClassicDebug( flagManager, @@ -99,7 +100,6 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { @Test fun readBooleanFlag() { - // Remember that the TEAMFOOD flag is id#1 and has special behavior. whenever(flagManager.readFlagValue<Boolean>(eq("3"), any())).thenReturn(true) whenever(flagManager.readFlagValue<Boolean>(eq("4"), any())).thenReturn(false) @@ -122,9 +122,10 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { } @Test + @DisableFlags(FLAG_SYSUI_TEAMFOOD) fun teamFoodFlag_False() { assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagA)).isFalse() - assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagB)).isTrue() + assertThat(mFeatureFlagsClassicDebug.isEnabled(releasedFlagB)).isTrue() // Regular boolean flags should still test the same. // Only our teamfoodableFlag should change. @@ -132,10 +133,10 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { } @Test + @EnableFlags(FLAG_SYSUI_TEAMFOOD) fun teamFoodFlag_True() { - mSetFlagsRule.enableFlags(FLAG_SYSUI_TEAMFOOD) assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagA)).isTrue() - assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagB)).isTrue() + assertThat(mFeatureFlagsClassicDebug.isEnabled(releasedFlagB)).isTrue() // Regular boolean flags should still test the same. // Only our teamfoodableFlag should change. @@ -143,14 +144,14 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { } @Test + @EnableFlags(FLAG_SYSUI_TEAMFOOD) fun teamFoodFlag_Overridden() { whenever(flagManager.readFlagValue<Boolean>(eq(teamfoodableFlagA.name), any())) .thenReturn(true) - whenever(flagManager.readFlagValue<Boolean>(eq(teamfoodableFlagB.name), any())) + whenever(flagManager.readFlagValue<Boolean>(eq(releasedFlagB.name), any())) .thenReturn(false) - mSetFlagsRule.enableFlags(FLAG_SYSUI_TEAMFOOD) assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagA)).isTrue() - assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagB)).isFalse() + assertThat(mFeatureFlagsClassicDebug.isEnabled(releasedFlagB)).isFalse() // Regular boolean flags should still test the same. // Only our teamfoodableFlag should change. @@ -400,6 +401,7 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { } @Test + @DisableFlags(FLAG_SYSUI_TEAMFOOD) fun serverSide_OverrideUncached_NoRestart() { // No one has read the flag, so it's not in the cache. serverFlagReader.setFlagValue( @@ -411,6 +413,7 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { } @Test + @DisableFlags(FLAG_SYSUI_TEAMFOOD) fun serverSide_Override_Restarts() { // Read it to put it in the cache. mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagA) @@ -423,6 +426,7 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { } @Test + @DisableFlags(FLAG_SYSUI_TEAMFOOD) fun serverSide_RedundantOverride_NoRestart() { // Read it to put it in the cache. mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagA) |