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

Commit ab5da2d2 authored by Steve Pfetsch's avatar Steve Pfetsch
Browse files

Enable color temperature developer setting

Add a switch in Developer Settings to enable "cool" color temperature
mode.

Bug: 26110238
Change-Id: Id0ab3283c1ee3208287c8dca11298a4bc367b314
parent 0c38aca0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -38,4 +38,7 @@
    <!-- The duration (in milliseconds) of activity transitions -->
    <integer name="setup_wizard_transition_duration">300</integer>

    <!-- When true enable color temperature setting. -->
    <bool name="config_enableColorTemperature">false</bool>

</resources>
+6 −0
Original line number Diff line number Diff line
@@ -66,6 +66,12 @@
        android:summary="@string/picture_color_mode_desc"
        android:persistent="false" />

    <SwitchPreference
        android:key="color_temperature"
        android:title="@string/color_temperature"
        android:summary="@string/color_temperature_desc"
        android:persistent="false" />

    <PreferenceCategory android:key="debug_debugging_category"
            android:title="@string/debug_debugging_category">

+29 −0
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
    private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power";
    private static final String OPENGL_TRACES_PROPERTY = "debug.egl.trace";
    private static final String TUNER_UI_KEY = "tuner_ui";
    private static final String COLOR_TEMPERATURE_PROPERTY = "persist.sys.debug.color_temp";

    private static final String DEBUG_APP_KEY = "debug_app";
    private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger";
@@ -157,6 +158,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
    private static final String WIFI_LEGACY_DHCP_CLIENT_KEY = "legacy_dhcp_client";
    private static final String MOBILE_DATA_ALWAYS_ON = "mobile_data_always_on";
    private static final String KEY_COLOR_MODE = "color_mode";
    private static final String COLOR_TEMPERATURE_KEY = "color_temperature";

    private static final String INACTIVE_APPS_KEY = "inactive_apps";

@@ -256,6 +258,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment

    private ColorModePreference mColorModePreference;

    private SwitchPreference mColorTemperaturePreference;

    private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();

    private final ArrayList<SwitchPreference> mResetSwitchPrefs
@@ -421,6 +425,15 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
            removePreference(KEY_COLOR_MODE);
            mColorModePreference = null;
        }

        mColorTemperaturePreference = (SwitchPreference) findPreference(COLOR_TEMPERATURE_KEY);
        if (getResources().getBoolean(R.bool.config_enableColorTemperature)) {
            mAllPrefs.add(mColorTemperaturePreference);
            mResetSwitchPrefs.add(mColorTemperaturePreference);
        } else {
            removePreference(COLOR_TEMPERATURE_KEY);
            mColorTemperaturePreference = null;
        }
    }

    private ListPreference addListPreference(String prefKey) {
@@ -628,6 +641,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
        updateMobileDataAlwaysOnOptions();
        updateSimulateColorSpace();
        updateUSBAudioOptions();
        if (mColorTemperaturePreference != null) {
            updateColorTemperature();
        }
    }

    private void resetDangerousOptions() {
@@ -1172,6 +1188,17 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
        }
    }

    private void updateColorTemperature() {
        updateSwitchPreference(mColorTemperaturePreference,
                SystemProperties.getBoolean(COLOR_TEMPERATURE_PROPERTY, false));
    }

    private void writeColorTemperature() {
        SystemProperties.set(COLOR_TEMPERATURE_PROPERTY,
                mColorTemperaturePreference.isChecked() ? "1" : "0");
        pokeSystemProperties();
    }

    private void updateUSBAudioOptions() {
        updateSwitchPreference(mUSBAudio, Settings.Secure.getInt(getContentResolver(),
                Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED, 0) != 0);
@@ -1705,6 +1732,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
            writeLegacyDhcpClientOptions();
        } else if (preference == mMobileDataAlwaysOn) {
            writeMobileDataAlwaysOnOptions();
        } else if (preference == mColorTemperaturePreference) {
            writeColorTemperature();
        } else if (preference == mUSBAudio) {
            writeUSBAudioOptions();
        } else if (INACTIVE_APPS_KEY.equals(preference.getKey())) {