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

Commit 60cc2eba authored by Roman Birg's avatar Roman Birg
Browse files

Settings: Do not disable "Brightness control" setting



It's really annoying to have to back out of this screen when disabling
auto brightness and go back in just to enable this setting.

Change-Id: Iafc217bbad52ac9e3899fb73082e1cf8d825579a
Signed-off-by: default avatarRoman Birg <roman@cyngn.com>
parent efbafa54
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -950,7 +950,7 @@ two in order to insert additional control points. \'Remove\' deletes the selecte
    <string name="status_bar_signal_style_text">Text</string>
    <string name="status_bar_signal_style_text">Text</string>
    <string name="status_bar_toggle_brightness">Brightness control</string>
    <string name="status_bar_toggle_brightness">Brightness control</string>
    <string name="status_bar_toggle_brightness_summary">Adjust brightness by sliding across the status bar</string>
    <string name="status_bar_toggle_brightness_summary">Adjust brightness by sliding across the status bar</string>
    <string name="status_bar_toggle_info">Automatic brightness is enabled</string>
    <string name="status_bar_toggle_info">Not available while automatic brightness is enabled</string>
    <string name="status_bar_notif_count_title">Show notification count</string>
    <string name="status_bar_notif_count_title">Show notification count</string>
    <string name="status_bar_notif_count_summary">Display the number of pending notifications</string>
    <string name="status_bar_notif_count_summary">Display the number of pending notifications</string>
    <string name="status_bar_double_tap_to_sleep_title">Double-tap to sleep</string>
    <string name="status_bar_double_tap_to_sleep_title">Double-tap to sleep</string>
+48 −13
Original line number Original line Diff line number Diff line
@@ -17,9 +17,10 @@
package com.android.settings.cyanogenmod;
package com.android.settings.cyanogenmod;


import android.content.ContentResolver;
import android.content.ContentResolver;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Bundle;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.Handler;
import android.preference.CheckBoxPreference;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference;
@@ -48,6 +49,9 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
    private ListPreference mStatusBarBattery;
    private ListPreference mStatusBarBattery;
    private SystemSettingCheckBoxPreference mStatusBarBatteryShowPercent;
    private SystemSettingCheckBoxPreference mStatusBarBatteryShowPercent;
    private ListPreference mStatusBarCmSignal;
    private ListPreference mStatusBarCmSignal;
    private CheckBoxPreference mStatusBarBrightnessControl;

    private ContentObserver mSettingsObserver;


    @Override
    @Override
    public void onCreate(Bundle savedInstanceState) {
    public void onCreate(Bundle savedInstanceState) {
@@ -63,18 +67,9 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
                (SystemSettingCheckBoxPreference) findPreference(STATUS_BAR_BATTERY_SHOW_PERCENT);
                (SystemSettingCheckBoxPreference) findPreference(STATUS_BAR_BATTERY_SHOW_PERCENT);
        mStatusBarCmSignal = (ListPreference) prefSet.findPreference(STATUS_BAR_SIGNAL);
        mStatusBarCmSignal = (ListPreference) prefSet.findPreference(STATUS_BAR_SIGNAL);


        CheckBoxPreference statusBarBrightnessControl = (CheckBoxPreference)
        mStatusBarBrightnessControl = (CheckBoxPreference)
                prefSet.findPreference(Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL);
                prefSet.findPreference(Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL);

        refreshBrightnessControl();
        try {
            if (Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE)
                    == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
                statusBarBrightnessControl.setEnabled(false);
                statusBarBrightnessControl.setSummary(R.string.status_bar_toggle_info);
            }
        } catch (SettingNotFoundException e) {
            // Do nothing
        }


        int batteryStyle = Settings.System.getInt(resolver, Settings.System.STATUS_BAR_BATTERY, 0);
        int batteryStyle = Settings.System.getInt(resolver, Settings.System.STATUS_BAR_BATTERY, 0);
        mStatusBarBattery.setValue(String.valueOf(batteryStyle));
        mStatusBarBattery.setValue(String.valueOf(batteryStyle));
@@ -92,6 +87,32 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
        }
        }


        enableStatusBarBatteryDependents(mStatusBarBattery.getValue());
        enableStatusBarBatteryDependents(mStatusBarBattery.getValue());

        mSettingsObserver = new ContentObserver(new Handler()) {
            @Override
            public void onChange(boolean selfChange, Uri uri) {
                refreshBrightnessControl();
            }

            @Override
            public void onChange(boolean selfChange) {
                onChange(selfChange, null);
            }
        };
    }

    @Override
    public void onResume() {
        super.onResume();
        getContentResolver().registerContentObserver(
                Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE),
                true, mSettingsObserver);
    }

    @Override
    public void onPause() {
        super.onPause();
        getContentResolver().unregisterContentObserver(mSettingsObserver);
    }
    }


    @Override
    @Override
@@ -116,6 +137,20 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
        return false;
        return false;
    }
    }


    private void refreshBrightnessControl() {
        try {
            if (Settings.System.getInt(getContentResolver(),
                    Settings.System.SCREEN_BRIGHTNESS_MODE)
                    == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
                mStatusBarBrightnessControl.setSummary(R.string.status_bar_toggle_info);
            } else {
                mStatusBarBrightnessControl.setSummary(R.string.status_bar_toggle_brightness_summary);
            }
        } catch (SettingNotFoundException e) {
            // Do nothing
        }
    }

    private void enableStatusBarBatteryDependents(String value) {
    private void enableStatusBarBatteryDependents(String value) {
        boolean enabled = !(value.equals(STATUS_BAR_STYLE_TEXT)
        boolean enabled = !(value.equals(STATUS_BAR_STYLE_TEXT)
                || value.equals(STATUS_BAR_STYLE_HIDDEN));
                || value.equals(STATUS_BAR_STYLE_HIDDEN));