Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c56f34bd authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Replace class TEAMFOOD with aconfig TEAMFOOD

We leave NULL_FLAG in its place because we need some sort of static
constant for initialization purposes.

Fixes: 302578396
Test: atest com.android.systemui.flags
Change-Id: I1b71c7b49ef6697692ad08a87c60c3bba079cd41
parent 429b99da
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ object FlagsFactory {
    val knownFlags: Map<String, Flag<*>>
        get() {
            // We need to access Flags in order to initialize our map.
            assert(flagMap.contains(Flags.TEAMFOOD.name)) { "Where is teamfood?" }
            assert(flagMap.contains(Flags.NULL_FLAG.name)) { "Where is the null flag?" }
            return flagMap
        }

+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ object FlagsFactory {
    val knownFlags: Map<String, Flag<*>>
        get() {
            // We need to access Flags in order to initialize our map.
            assert(flagMap.contains(Flags.TEAMFOOD.name)) { "Where is teamfood?" }
            assert(flagMap.contains(Flags.NULL_FLAG.name)) { "Where is the null flag?" }
            return flagMap
        }

+6 −3
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.android.systemui.FeatureFlags;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.util.settings.GlobalSettings;
@@ -81,6 +82,7 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic {
    private final Map<String, Boolean> mBooleanFlagCache = new ConcurrentHashMap<>();
    private final Map<String, String> mStringFlagCache = new ConcurrentHashMap<>();
    private final Map<String, Integer> mIntFlagCache = new ConcurrentHashMap<>();
    private final FeatureFlags mGantryFlags;
    private final Restarter mRestarter;

    private final ServerFlagReader.ChangeListener mOnPropertiesChanged =
@@ -125,6 +127,7 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic {
            @Main Resources resources,
            ServerFlagReader serverFlagReader,
            @Named(ALL_FLAGS) Map<String, Flag<?>> allFlags,
            FeatureFlags gantryFlags,
            Restarter restarter) {
        mFlagManager = flagManager;
        mContext = context;
@@ -133,6 +136,7 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic {
        mSystemProperties = systemProperties;
        mServerFlagReader = serverFlagReader;
        mAllFlags = allFlags;
        mGantryFlags = gantryFlags;
        mRestarter = restarter;
    }

@@ -260,9 +264,8 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic {
        if (!hasServerOverride
                && !defaultValue
                && result == null
                && !flag.getName().equals(Flags.TEAMFOOD.getName())
                && flag.getTeamfood()) {
            return isEnabled(Flags.TEAMFOOD);
            return mGantryFlags.sysuiTeamfood();
        }

        return result == null ? mServerFlagReader.readServerOverride(
@@ -537,7 +540,7 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic {
    @Override
    public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
        pw.println("can override: true");

        pw.println("teamfood: " + mGantryFlags.sysuiTeamfood());
        pw.println("booleans: " + mBooleanFlagCache.size());
        // Sort our flags for dumping
        TreeMap<String, Boolean> dumpBooleanMap = new TreeMap<>(mBooleanFlagCache);
+4 −1
Original line number Diff line number Diff line
@@ -36,7 +36,10 @@ import com.android.systemui.flags.FlagsFactory.unreleasedFlag
 * See [FeatureFlagsClassicDebug] for instructions on flipping the flags via adb.
 */
object Flags {
    @JvmField val TEAMFOOD = unreleasedFlag("teamfood")
    // IGNORE ME!
    // Because flags are static, we need an ever-present flag to reference in some of the internal
    // code that ensure that other flags are referenced and available.
    @JvmField val NULL_FLAG = unreleasedFlag("null_flag")

    // 100 - notification
    // TODO(b/297792660): Tracking Bug
+2 −2
Original line number Diff line number Diff line
@@ -43,10 +43,10 @@ class FakeFeatureFlagsTest : SysuiTestCase() {
    fun accessingUnspecifiedFlags_throwsException() {
        val flags: FeatureFlags = FakeFeatureFlags()
        try {
            assertThat(flags.isEnabled(Flags.TEAMFOOD)).isFalse()
            assertThat(flags.isEnabled(Flags.NULL_FLAG)).isFalse()
            fail("Expected an exception when accessing an unspecified flag.")
        } catch (ex: IllegalStateException) {
            assertThat(ex.message).contains("UNKNOWN(teamfood)")
            assertThat(ex.message).contains("UNKNOWN(null_flag)")
        }
        try {
            assertThat(flags.isEnabled(unreleasedFlag)).isFalse()
Loading