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

Commit 61cb4012 authored by Abhisek Devkota's avatar Abhisek Devkota Committed by Gerrit Code Review
Browse files

Merge "Settings: Do not disable "Brightness control" setting" into cm-11.0

parents 739c59eb 60cc2eba
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -955,7 +955,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_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_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_summary">Display the number of pending notifications</string>
    <string name="status_bar_double_tap_to_sleep_title">Double-tap to sleep</string>
+48 −13
Original line number Diff line number Diff line
@@ -17,9 +17,10 @@
package com.android.settings.cyanogenmod;

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

    private ContentObserver mSettingsObserver;

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

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

        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
        }
        refreshBrightnessControl();

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

        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
@@ -116,6 +137,20 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
        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) {
        boolean enabled = !(value.equals(STATUS_BAR_STYLE_TEXT)
                || value.equals(STATUS_BAR_STYLE_HIDDEN));