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

Commit f212f341 authored by izar's avatar izar Committed by Steve Kondik
Browse files

Show times for start/end of quiet hours in sound preference summary (cosmetic)

Change-Id: I66ce7455879b4996a9cb11801d054cc7cf9657ce
parent 80d18cbc
Loading
Loading
Loading
Loading
+63 −34
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ import android.preference.PreferenceScreen;
import android.provider.Settings;
import android.text.format.DateFormat;
import android.widget.TimePicker;

import android.content.DialogInterface;
import java.util.Calendar;

public class SoundActivity extends PreferenceActivity implements
@@ -45,6 +45,7 @@ public class SoundActivity extends PreferenceActivity implements

    private static final String PREFIX = "persist.sys.";


    private CheckBoxPreference mQuietHoursEnabled;
    private Preference mQuietHoursStart;
    private Preference mQuietHoursEnd;
@@ -56,6 +57,18 @@ public class SoundActivity extends PreferenceActivity implements
        return PREFIX + suffix;
    }

    private static String returnTime(String t) {
        if (t == null || t.equals("")) {
            return "";
        }
        int hr = Integer.parseInt(t.trim());
        int mn = hr;

        hr = hr / 60;
        mn = mn % 60;
        return String.format("%02d:%02d", hr, mn);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -113,8 +126,12 @@ public class SoundActivity extends PreferenceActivity implements
        lp.setOnPreferenceChangeListener(this);

        mQuietHoursEnabled = (CheckBoxPreference) findPreference(KEY_QUIET_HOURS_ENABLED);
        mQuietHoursStart = findPreference(KEY_QUIET_HOURS_START);
        mQuietHoursStart = prefSet.findPreference(KEY_QUIET_HOURS_START);
        mQuietHoursStart.setSummary(returnTime(Settings.System.getString(getContentResolver(), Settings.System.QUIET_HOURS_START)));
        mQuietHoursStart.setOnPreferenceChangeListener(this);
        mQuietHoursEnd = findPreference(KEY_QUIET_HOURS_END);
        mQuietHoursEnd.setSummary(returnTime(Settings.System.getString(getContentResolver(), Settings.System.QUIET_HOURS_END)));
        mQuietHoursEnd.setOnPreferenceChangeListener(this);
        mQuietHoursMute = (CheckBoxPreference) findPreference(KEY_QUIET_HOURS_MUTE);
        mQuietHoursStill = (CheckBoxPreference) findPreference(KEY_QUIET_HOURS_STILL);
        mQuietHoursDim = (CheckBoxPreference) findPreference(KEY_QUIET_HOURS_DIM);
@@ -122,31 +139,32 @@ public class SoundActivity extends PreferenceActivity implements

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {

        if (preference == mQuietHoursEnabled) {
            Settings.System.putInt(getContentResolver(),
                    Settings.System.QUIET_HOURS_ENABLED,
            Settings.System.putInt(getContentResolver(), Settings.System.QUIET_HOURS_ENABLED,
                    mQuietHoursEnabled.isChecked() ? 1 : 0);
            return true;
        } else if (preference == mQuietHoursMute) {
            Settings.System.putInt(getContentResolver(),
                    Settings.System.QUIET_HOURS_MUTE,
            Settings.System.putInt(getContentResolver(), Settings.System.QUIET_HOURS_MUTE,
                    mQuietHoursMute.isChecked() ? 1 : 0);
            return true;
        } else if (preference == mQuietHoursStill) {
            Settings.System.putInt(getContentResolver(),
                    Settings.System.QUIET_HOURS_STILL,
            Settings.System.putInt(getContentResolver(), Settings.System.QUIET_HOURS_STILL,
                    mQuietHoursStill.isChecked() ? 1 : 0);
            return true;
        } else if (preference == mQuietHoursDim) {
            Settings.System.putInt(getContentResolver(),
                    Settings.System.QUIET_HOURS_DIM,
            Settings.System.putInt(getContentResolver(), Settings.System.QUIET_HOURS_DIM,
                    mQuietHoursDim.isChecked() ? 1 : 0);
            return true;
        } else if (preference == mQuietHoursStart) {
            showDialog(DIALOG_QUIET_HOURS_START);
            mQuietHoursStart.setSummary(returnTime(Settings.System.getString(getContentResolver(),
                    Settings.System.QUIET_HOURS_START)));
            return true;
        } else if (preference == mQuietHoursEnd) {
            showDialog(DIALOG_QUIET_HOURS_END);
            mQuietHoursEnd.setSummary(returnTime(Settings.System.getString(getContentResolver(),
                    Settings.System.QUIET_HOURS_END)));
            return true;
        }
        return super.onPreferenceTreeClick(preferenceScreen, preference);
@@ -155,17 +173,26 @@ public class SoundActivity extends PreferenceActivity implements
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        String key = preference.getKey();
        if (key.equals(NOTIFICATIONS_FOCUS)) {
            Settings.System.putInt(getContentResolver(),
                Settings.System.NOTIFICATIONS_AUDIO_FOCUS, getBoolean(newValue) ? 1 : 0);
        }
        else if (key.equals(NOTIFICATIONS_SPEAKER) ||
                key.equals(RINGS_SPEAKER) ||
                key.equals(ALARMS_SPEAKER)) {
            Settings.System.putInt(getContentResolver(), Settings.System.NOTIFICATIONS_AUDIO_FOCUS,
                    getBoolean(newValue) ? 1 : 0);
        } else if (key.equals(NOTIFICATIONS_SPEAKER) || key.equals(RINGS_SPEAKER)
                || key.equals(ALARMS_SPEAKER)) {
            SystemProperties.set(getKey(key), getBoolean(newValue) ? "1" : "0");
        } else {
            SystemProperties.set(getKey(key), String.valueOf(getInt(newValue)));
            mHandler.sendMessage(mHandler.obtainMessage(0, key));
        }
        if (key.equals(KEY_QUIET_HOURS_START)) {
            Settings.System.putInt(getContentResolver(), Settings.System.QUIET_HOURS_START,
                    getBoolean(newValue) ? 1 : 0);
            mQuietHoursStart.setSummary(returnTime(Settings.System.getString(getContentResolver(),
                    Settings.System.QUIET_HOURS_START)));
        } else if (key.equals(KEY_QUIET_HOURS_END)) {
            Settings.System.putInt(getContentResolver(), Settings.System.QUIET_HOURS_END,
                    getBoolean(newValue) ? 1 : 0);
            mQuietHoursEnd.setSummary(returnTime(Settings.System.getString(getContentResolver(),
                    Settings.System.QUIET_HOURS_END)));
        }
        return true;
    }

@@ -192,22 +219,24 @@ public class SoundActivity extends PreferenceActivity implements
            hour = value / 60;
            minutes = value % 60;
        }
        TimePickerDialog dlg = new TimePickerDialog(
            this, /* context */
        TimePickerDialog dlg = new TimePickerDialog(this, /* context */
        new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker v, int hours, int minutes) {
                    Settings.System.putInt(
                            getContentResolver(),
                            key,
                            hours * 60 + minutes
                    );
                Settings.System.putInt(getContentResolver(), key, hours * 60 + minutes);
            };
            },
            hour,
            minutes,
            DateFormat.is24HourFormat(this)
        );
        }, hour, minutes, DateFormat.is24HourFormat(this));
        dlg.setOnDismissListener(new DialogInterface.OnDismissListener() {
            public void onDismiss(DialogInterface dlg) {
                if (key.equals(KEY_QUIET_HOURS_START)) {
                    mQuietHoursStart.setSummary(returnTime(Settings.System.getString(
                            getContentResolver(), Settings.System.QUIET_HOURS_START)));
                } else {
                    mQuietHoursEnd.setSummary(returnTime(Settings.System.getString(
                            getContentResolver(), Settings.System.QUIET_HOURS_END)));
                }
            }
        });
        return dlg;
    }