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

Commit 7b52854b authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Stop reading the sysprop on flag enum loading" into main

parents 74a561fe 255ea592
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -206,12 +206,7 @@ public enum DesktopExperienceFlags {

    private static boolean checkIfFlagShouldBeOverridden(@Nullable String flagName,
            boolean defaultValue) {
        if (!Flags.showDesktopWindowingDevOption()) return false;
        if (flagName == null || flagName.isEmpty()) return defaultValue;
        int lastDot = flagName.lastIndexOf('.');
        String baseName = lastDot >= 0 ? flagName.substring(lastDot + 1) : flagName;
        return SystemProperties.getBoolean(SYSTEM_PROPERTY_OVERRIDE_PREFIX + baseName,
                defaultValue);
        return defaultValue;
    }

    private static boolean getToggleOverride() {
+0 −74
Original line number Diff line number Diff line
@@ -142,80 +142,6 @@ public class DesktopExperienceFlagsTest {
        assertThat(mNotOverriddenLocalFlag.isTrue()).isFalse();
    }

    @Test
    public void isTrue_flagHasDotAndNotOverridden_withSysPropOverride_returnAsDevOptionEnabled()
            throws Exception {
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_NAME, OVERRIDE_ON_SETTING);
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_OVERRIDE_PREFIX + "baseName", "true");
        DesktopExperienceFlag flag = new DesktopExperienceFlag(() -> false, false,
                "test.flag.baseName");

        if (Flags.showDesktopExperienceDevOption()) {
            assertThat(flag.isTrue()).isTrue();
        } else {
            assertThat(flag.isTrue()).isFalse();
        }
    }

    @Test
    public void isTrue_flagHasNoDotAndNotOverridden_withSysPropOverride_returnAsDevOptionEnabled()
            throws Exception {
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_NAME, OVERRIDE_ON_SETTING);
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_OVERRIDE_PREFIX + "fullName", "true");
        DesktopExperienceFlag flag = new DesktopExperienceFlag(() -> false, false, "fullName");

        if (Flags.showDesktopExperienceDevOption()) {
            assertThat(flag.isTrue()).isTrue();
        } else {
            assertThat(flag.isTrue()).isFalse();
        }
    }

    @Test
    public void isTrue_flagHasNoNameAndNotOverridden_withSysPropOverride_returnAsDevOptionEnabled()
            throws Exception {
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_NAME, OVERRIDE_ON_SETTING);
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_OVERRIDE_PREFIX, "true");
        DesktopExperienceFlag flag = new DesktopExperienceFlag(() -> false, false, "");

        assertThat(flag.isTrue()).isFalse();
    }

    @Test
    public void isTrue_flagHasDot_devOptionEnabled_flagOverridden_withSysPropOverride_returnFalse()
            throws Exception {
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_NAME, OVERRIDE_ON_SETTING);
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_OVERRIDE_PREFIX + "baseName", "false");
        DesktopExperienceFlag flag = new DesktopExperienceFlag(() -> false, true,
                "test.flag.baseName");

        assertThat(flag.isTrue()).isFalse();
    }

    @Test
    public void isTrue_flagHasNoDot_devOptionEnabled_flagOverridden_withOverride_returnFalse()
            throws Exception {
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_NAME, OVERRIDE_ON_SETTING);
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_OVERRIDE_PREFIX + "fullName", "false");
        DesktopExperienceFlag flag = new DesktopExperienceFlag(() -> false, true, "fullName");

        assertThat(flag.isTrue()).isFalse();
    }

    @Test
    public void isTrue_flagHasNoName_devOptionEnabled_flagOverridden_withOverride()
            throws Exception {
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_NAME, OVERRIDE_ON_SETTING);
        setSysProp(DesktopExperienceFlags.SYSTEM_PROPERTY_OVERRIDE_PREFIX, "false");
        DesktopExperienceFlag flag = new DesktopExperienceFlag(() -> false, true, "");

        if (Flags.showDesktopExperienceDevOption()) {
            assertThat(flag.isTrue()).isTrue();
        } else {
            assertThat(flag.isTrue()).isFalse();
        }
    }

    private void setSysProp(String name, String value) throws Exception {
        if (!mInitialSyspropValues.containsKey(name)) {
            String initialValue = mUiDevice.executeShellCommand("getprop " + name).trim();