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

Commit a3458d94 authored by Isaac Katzenelson's avatar Isaac Katzenelson
Browse files

Switch volume button default behavior

Bug: 8151863
Changed the default to do nothing and added a check to make sure that on
the first boot after an upgrade, it will switch "Snooze" to "Do nothing"

Change-Id: I778e3eb58f465f2c3fc5be55859874cca8ab8b62
parent 45f73b86
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -64,6 +64,6 @@
            android:dialogTitle="@string/volume_button_setting_title"
            android:entries="@array/volume_button_setting_entries"
            android:entryValues="@array/volume_button_setting_values"
            android:defaultValue="1" />
            android:defaultValue="0" />
    </PreferenceCategory>
</PreferenceScreen>
+1 −2
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ public class AlarmAlertFullScreen extends Activity implements GlowPadView.OnTrig
    private final boolean LOG = true;
    // These defaults must match the values in res/xml/settings.xml
    private static final String DEFAULT_SNOOZE = "10";
    private static final String DEFAULT_VOLUME_BEHAVIOR = "2";
    protected static final String SCREEN_OFF = "screen_off";

    protected Alarm mAlarm;
@@ -119,7 +118,7 @@ public class AlarmAlertFullScreen extends Activity implements GlowPadView.OnTrig
        final String vol =
                PreferenceManager.getDefaultSharedPreferences(this)
                .getString(SettingsActivity.KEY_VOLUME_BEHAVIOR,
                        DEFAULT_VOLUME_BEHAVIOR);
                        SettingsActivity.DEFAULT_VOLUME_BEHAVIOR);
        mVolumeBehavior = Integer.parseInt(vol);

        final Window win = getWindow();
+29 −0
Original line number Diff line number Diff line
@@ -27,6 +27,9 @@ import com.android.deskclock.timer.TimerObj;

public class AlarmInitReceiver extends BroadcastReceiver {

    // A flag that indicates that switching the volume button default was done
    private static final String PREF_VOLUME_DEF_DONE = "vol_def_done";

    /**
     * Sets alarm on ACTION_BOOT_COMPLETED.  Resets alarm on
     * TIME_SET, TIMEZONE_CHANGED
@@ -52,6 +55,12 @@ public class AlarmInitReceiver extends BroadcastReceiver {
                    Log.v("AlarmInitReceiver - Reset timers and clear stopwatch data");
                    TimerObj.resetTimersInSharedPrefs(prefs);
                    Utils.clearSwSharedPref(prefs);

                    if (!prefs.getBoolean(PREF_VOLUME_DEF_DONE, false)) {
                        // Fix the default
                        Log.v("AlarmInitReceiver - checking volume button default");
                        switchVolumeButtonDefault(prefs);
                    }
                }
                Alarms.setNextAlert(context);
                result.finish();
@@ -60,4 +69,24 @@ public class AlarmInitReceiver extends BroadcastReceiver {
            }
        });
    }

    private void switchVolumeButtonDefault(SharedPreferences prefs) {
        SharedPreferences.Editor editor = prefs.edit();

        // Get the volume button behavior setting
        final String vol = prefs.getString(SettingsActivity.KEY_VOLUME_BEHAVIOR,
	        SettingsActivity.DEFAULT_VOLUME_BEHAVIOR);
        // If the setting is "Snooze", change it to "Do Nothing"
        if (SettingsActivity.OLD_DEFAULT_VOLUME_BEHAVIOR.equals(vol)) {
                editor.putString(SettingsActivity.KEY_VOLUME_BEHAVIOR,
                    SettingsActivity.DEFAULT_VOLUME_BEHAVIOR);
            Log.v("AlarmInitReceiver - Reset volume button default");
        } else {
            Log.v("AlarmInitReceiver - No need to reset volume button default");
        }

        // Make sure we do it only once
        editor.putBoolean(PREF_VOLUME_DEF_DONE, true);
        editor.apply();
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -64,6 +64,10 @@ public class SettingsActivity extends PreferenceActivity
    static final String KEY_VOLUME_BUTTONS =
            "volume_button_setting";

    // Old and new default preferences, needed to switch the default on upgrade
    public static final String DEFAULT_VOLUME_BEHAVIOR = "0";
    public static final String OLD_DEFAULT_VOLUME_BEHAVIOR = "1";

    private static CharSequence[][] mTimezones;
    private long mTime;