add PrefDefaults class and move a good chunk of default values to it

This commit is contained in:
Adrian Ulrich 2015-10-12 10:12:59 +02:00
parent a36c2dfcce
commit e1e46c5da7
9 changed files with 113 additions and 41 deletions

View File

@ -200,8 +200,8 @@ public class FullPlaybackActivity extends PlaybackActivity
mEndButton.setOnClickListener(this);
registerForContextMenu(mEndButton);
setControlsVisible(settings.getBoolean(PrefKeys.VISIBLE_CONTROLS, true));
setExtraInfoVisible(settings.getBoolean(PrefKeys.VISIBLE_EXTRA_INFO, false));
setControlsVisible(settings.getBoolean(PrefKeys.VISIBLE_CONTROLS, PrefDefaults.VISIBLE_CONTROLS));
setExtraInfoVisible(settings.getBoolean(PrefKeys.VISIBLE_EXTRA_INFO, PrefDefaults.VISIBLE_EXTRA_INFO));
setDuration(0);
}
@ -652,8 +652,8 @@ public class FullPlaybackActivity extends PlaybackActivity
switch (message.what) {
case MSG_SAVE_CONTROLS: {
SharedPreferences.Editor editor = PlaybackService.getSettings(this).edit();
editor.putBoolean("visible_controls", mControlsVisible);
editor.putBoolean("visible_extra_info", mExtraInfoVisible);
editor.putBoolean(PrefKeys.VISIBLE_CONTROLS, mControlsVisible);
editor.putBoolean(PrefKeys.VISIBLE_EXTRA_INFO, mExtraInfoVisible);
editor.commit();
break;
}

View File

@ -239,7 +239,7 @@ public class LibraryActivity
private void checkForLaunch(Intent intent)
{
SharedPreferences settings = PlaybackService.getSettings(this);
if (settings.getBoolean(PrefKeys.PLAYBACK_ON_STARTUP, false) && Intent.ACTION_MAIN.equals(intent.getAction())) {
if (settings.getBoolean(PrefKeys.PLAYBACK_ON_STARTUP, PrefDefaults.PLAYBACK_ON_STARTUP) && Intent.ACTION_MAIN.equals(intent.getAction())) {
startActivity(new Intent(this, FullPlaybackActivity.class));
}
}

View File

@ -219,7 +219,7 @@ public class LibraryPagerAdapter
*/
public boolean loadTabOrder()
{
String in = PlaybackService.getSettings(mActivity).getString(PrefKeys.TAB_ORDER, null);
String in = PlaybackService.getSettings(mActivity).getString(PrefKeys.TAB_ORDER, PrefDefaults.TAB_ORDER);
int[] order;
int count;
if (in == null || in.length() != MAX_ADAPTER_COUNT) {

View File

@ -118,8 +118,8 @@ public abstract class PlaybackActivity extends Activity
startService(new Intent(this, PlaybackService.class));
SharedPreferences prefs = PlaybackService.getSettings(this);
mUpAction = Action.getAction(prefs, PrefKeys.SWIPE_UP_ACTION, Action.Nothing);
mDownAction = Action.getAction(prefs, PrefKeys.SWIPE_DOWN_ACTION, Action.Nothing);
mUpAction = Action.getAction(prefs, PrefKeys.SWIPE_UP_ACTION, PrefDefaults.SWIPE_UP_ACTION);
mDownAction = Action.getAction(prefs, PrefKeys.SWIPE_DOWN_ACTION, PrefDefaults.SWIPE_DOWN_ACTION);
Window window = getWindow();
@ -294,7 +294,7 @@ public abstract class PlaybackActivity extends Activity
*/
protected File getFilesystemBrowseStart() {
SharedPreferences prefs = PlaybackService.getSettings(this);
String folder = prefs.getString(PrefKeys.FILESYSTEM_BROWSE_START, "");
String folder = prefs.getString(PrefKeys.FILESYSTEM_BROWSE_START, PrefDefaults.FILESYSTEM_BROWSE_START);
File fs_start = new File( folder.equals("") ? Environment.getExternalStorageDirectory().getAbsolutePath() : folder );
return fs_start;
}

View File

@ -447,10 +447,10 @@ public final class PlaybackService extends Service
SharedPreferences settings = getSettings(this);
settings.registerOnSharedPreferenceChangeListener(this);
mNotificationMode = Integer.parseInt(settings.getString(PrefKeys.NOTIFICATION_MODE, "1"));
mNotificationNag = settings.getBoolean(PrefKeys.NOTIFICATION_NAG, false);
mScrobble = settings.getBoolean(PrefKeys.SCROBBLE, false);
mIdleTimeout = settings.getBoolean(PrefKeys.USE_IDLE_TIMEOUT, false) ? settings.getInt(PrefKeys.IDLE_TIMEOUT, 3600) : 0;
mNotificationMode = Integer.parseInt(settings.getString(PrefKeys.NOTIFICATION_MODE, PrefDefaults.NOTIFICATION_MODE));
mNotificationNag = settings.getBoolean(PrefKeys.NOTIFICATION_NAG, PrefDefaults.NOTIFICATION_NAG);
mScrobble = settings.getBoolean(PrefKeys.SCROBBLE, PrefDefaults.SCROBBLE);
mIdleTimeout = settings.getBoolean(PrefKeys.USE_IDLE_TIMEOUT, PrefDefaults.USE_IDLE_TIMEOUT) ? settings.getInt(PrefKeys.IDLE_TIMEOUT, 3600) : 0;
CoverCache.mCoverLoadMode = settings.getBoolean(PrefKeys.COVERLOADER_ANDROID, true) ? CoverCache.mCoverLoadMode | CoverCache.COVER_MODE_ANDROID : CoverCache.mCoverLoadMode & ~(CoverCache.COVER_MODE_ANDROID);
CoverCache.mCoverLoadMode = settings.getBoolean(PrefKeys.COVERLOADER_VANILLA, true) ? CoverCache.mCoverLoadMode | CoverCache.COVER_MODE_VANILLA : CoverCache.mCoverLoadMode & ~(CoverCache.COVER_MODE_VANILLA);
@ -458,23 +458,23 @@ public final class PlaybackService extends Service
mHeadsetOnly = settings.getBoolean(PrefKeys.HEADSET_ONLY, false);
mCycleContinuousShuffling = settings.getBoolean(PrefKeys.CYCLE_CONTINUOUS_SHUFFLING, false);
mStockBroadcast = settings.getBoolean(PrefKeys.STOCK_BROADCAST, false);
mStockBroadcast = settings.getBoolean(PrefKeys.STOCK_BROADCAST, PrefDefaults.STOCK_BROADCAST);
mNotificationAction = createNotificationAction(settings);
mHeadsetPause = getSettings(this).getBoolean(PrefKeys.HEADSET_PAUSE, true);
mShakeAction = settings.getBoolean(PrefKeys.ENABLE_SHAKE, false) ? Action.getAction(settings, PrefKeys.SHAKE_ACTION, Action.NextSong) : Action.Nothing;
mShakeThreshold = settings.getInt(PrefKeys.SHAKE_THRESHOLD, 80) / 10.0f;
mShakeAction = settings.getBoolean(PrefKeys.ENABLE_SHAKE, false) ? Action.getAction(settings, PrefKeys.SHAKE_ACTION, PrefDefaults.SHAKE_ACTION) : Action.Nothing;
mShakeThreshold = settings.getInt(PrefKeys.SHAKE_THRESHOLD, PrefDefaults.SHAKE_THRESHOLD) / 10.0f;
mReplayGainTrackEnabled = settings.getBoolean(PrefKeys.ENABLE_TRACK_REPLAYGAIN, false);
mReplayGainAlbumEnabled = settings.getBoolean(PrefKeys.ENABLE_ALBUM_REPLAYGAIN, false);
mReplayGainBump = settings.getInt(PrefKeys.REPLAYGAIN_BUMP, 75); /* seek bar is 150 -> 75 == middle == 0 */
mReplayGainUntaggedDeBump = settings.getInt(PrefKeys.REPLAYGAIN_UNTAGGED_DEBUMP, 150); /* seek bar is 150 -> == 0 */
mReplayGainTrackEnabled = settings.getBoolean(PrefKeys.ENABLE_TRACK_REPLAYGAIN, PrefDefaults.ENABLE_TRACK_REPLAYGAIN);
mReplayGainAlbumEnabled = settings.getBoolean(PrefKeys.ENABLE_ALBUM_REPLAYGAIN, PrefDefaults.ENABLE_ALBUM_REPLAYGAIN);
mReplayGainBump = settings.getInt(PrefKeys.REPLAYGAIN_BUMP, PrefDefaults.REPLAYGAIN_BUMP);
mReplayGainUntaggedDeBump = settings.getInt(PrefKeys.REPLAYGAIN_UNTAGGED_DEBUMP, PrefDefaults.REPLAYGAIN_UNTAGGED_DEBUMP);
mVolumeDuringDucking = settings.getInt(PrefKeys.VOLUME_DURING_DUCKING, 50);
mVolumeDuringDucking = settings.getInt(PrefKeys.VOLUME_DURING_DUCKING, PrefDefaults.VOLUME_DURING_DUCKING);
refreshDuckingValues();
mReadaheadEnabled = settings.getBoolean(PrefKeys.ENABLE_READAHEAD, false);
mReadaheadEnabled = settings.getBoolean(PrefKeys.ENABLE_READAHEAD, PrefDefaults.ENABLE_READAHEAD);
mAutoPlPlaycounts = settings.getInt(PrefKeys.AUTOPLAYLIST_PLAYCOUNTS, 0);
mAutoPlPlaycounts = settings.getInt(PrefKeys.AUTOPLAYLIST_PLAYCOUNTS, PrefDefaults.AUTOPLAYLIST_PLAYCOUNTS);
PowerManager powerManager = (PowerManager)getSystemService(POWER_SERVICE);
mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VanillaMusicLock");
@ -821,21 +821,21 @@ public final class PlaybackService extends Service
mNotificationAction = createNotificationAction(settings);
updateNotification();
} else if (PrefKeys.NOTIFICATION_MODE.equals(key)){
mNotificationMode = Integer.parseInt(settings.getString(PrefKeys.NOTIFICATION_MODE, "1"));
mNotificationMode = Integer.parseInt(settings.getString(PrefKeys.NOTIFICATION_MODE, PrefDefaults.NOTIFICATION_MODE));
// This is the only way to remove a notification created by
// startForeground(), even if we are not currently in foreground
// mode.
stopForeground(true);
updateNotification();
} else if (PrefKeys.NOTIFICATION_NAG.equals(key)) {
mNotificationNag = settings.getBoolean(PrefKeys.NOTIFICATION_NAG, false);
mNotificationNag = settings.getBoolean(PrefKeys.NOTIFICATION_NAG, PrefDefaults.NOTIFICATION_NAG);
// no need to update notification: happens on next event
} else if (PrefKeys.SCROBBLE.equals(key)) {
mScrobble = settings.getBoolean(PrefKeys.SCROBBLE, false);
mScrobble = settings.getBoolean(PrefKeys.SCROBBLE, PrefDefaults.SCROBBLE);
} else if (PrefKeys.MEDIA_BUTTON.equals(key) || PrefKeys.MEDIA_BUTTON_BEEP.equals(key)) {
MediaButtonReceiver.reloadPreference(this);
} else if (PrefKeys.USE_IDLE_TIMEOUT.equals(key) || PrefKeys.IDLE_TIMEOUT.equals(key)) {
mIdleTimeout = settings.getBoolean(PrefKeys.USE_IDLE_TIMEOUT, false) ? settings.getInt(PrefKeys.IDLE_TIMEOUT, 3600) : 0;
mIdleTimeout = settings.getBoolean(PrefKeys.USE_IDLE_TIMEOUT, PrefDefaults.USE_IDLE_TIMEOUT) ? settings.getInt(PrefKeys.IDLE_TIMEOUT, 3600) : 0;
userActionTriggered();
} else if (PrefKeys.COVERLOADER_ANDROID.equals(key)) {
CoverCache.mCoverLoadMode = settings.getBoolean(PrefKeys.COVERLOADER_ANDROID, true) ? CoverCache.mCoverLoadMode | CoverCache.COVER_MODE_ANDROID : CoverCache.mCoverLoadMode & ~(CoverCache.COVER_MODE_ANDROID);
@ -854,31 +854,31 @@ public final class PlaybackService extends Service
mCycleContinuousShuffling = settings.getBoolean(key, false);
setShuffleMode(SongTimeline.SHUFFLE_NONE);
} else if (PrefKeys.STOCK_BROADCAST.equals(key)) {
mStockBroadcast = settings.getBoolean(key, false);
mStockBroadcast = settings.getBoolean(key, PrefDefaults.STOCK_BROADCAST);
} else if (PrefKeys.ENABLE_SHAKE.equals(key) || PrefKeys.SHAKE_ACTION.equals(key)) {
mShakeAction = settings.getBoolean(PrefKeys.ENABLE_SHAKE, false) ? Action.getAction(settings, PrefKeys.SHAKE_ACTION, Action.NextSong) : Action.Nothing;
mShakeAction = settings.getBoolean(PrefKeys.ENABLE_SHAKE, false) ? Action.getAction(settings, PrefKeys.SHAKE_ACTION, PrefDefaults.SHAKE_ACTION) : Action.Nothing;
setupSensor();
} else if (PrefKeys.SHAKE_THRESHOLD.equals(key)) {
mShakeThreshold = settings.getInt(PrefKeys.SHAKE_THRESHOLD, 80) / 10.0f;
mShakeThreshold = settings.getInt(PrefKeys.SHAKE_THRESHOLD, PrefDefaults.SHAKE_THRESHOLD) / 10.0f;
} else if (PrefKeys.ENABLE_TRACK_REPLAYGAIN.equals(key)) {
mReplayGainTrackEnabled = settings.getBoolean(PrefKeys.ENABLE_TRACK_REPLAYGAIN, false);
mReplayGainTrackEnabled = settings.getBoolean(PrefKeys.ENABLE_TRACK_REPLAYGAIN, PrefDefaults.ENABLE_TRACK_REPLAYGAIN);
refreshReplayGainValues();
} else if (PrefKeys.ENABLE_ALBUM_REPLAYGAIN.equals(key)) {
mReplayGainAlbumEnabled = settings.getBoolean(PrefKeys.ENABLE_ALBUM_REPLAYGAIN, false);
mReplayGainAlbumEnabled = settings.getBoolean(PrefKeys.ENABLE_ALBUM_REPLAYGAIN, PrefDefaults.ENABLE_ALBUM_REPLAYGAIN);
refreshReplayGainValues();
} else if (PrefKeys.REPLAYGAIN_BUMP.equals(key)) {
mReplayGainBump = settings.getInt(PrefKeys.REPLAYGAIN_BUMP, 75);
mReplayGainBump = settings.getInt(PrefKeys.REPLAYGAIN_BUMP, PrefDefaults.REPLAYGAIN_BUMP);
refreshReplayGainValues();
} else if (PrefKeys.REPLAYGAIN_UNTAGGED_DEBUMP.equals(key)) {
mReplayGainUntaggedDeBump = settings.getInt(PrefKeys.REPLAYGAIN_UNTAGGED_DEBUMP, 150);
mReplayGainUntaggedDeBump = settings.getInt(PrefKeys.REPLAYGAIN_UNTAGGED_DEBUMP, PrefDefaults.REPLAYGAIN_UNTAGGED_DEBUMP);
refreshReplayGainValues();
} else if (PrefKeys.VOLUME_DURING_DUCKING.equals(key)) {
mVolumeDuringDucking = settings.getInt(PrefKeys.VOLUME_DURING_DUCKING, 50);
mVolumeDuringDucking = settings.getInt(PrefKeys.VOLUME_DURING_DUCKING, PrefDefaults.VOLUME_DURING_DUCKING);
refreshDuckingValues();
} else if (PrefKeys.ENABLE_READAHEAD.equals(key)) {
mReadaheadEnabled = settings.getBoolean(PrefKeys.ENABLE_READAHEAD, false);
mReadaheadEnabled = settings.getBoolean(PrefKeys.ENABLE_READAHEAD, PrefDefaults.ENABLE_READAHEAD);
} else if (PrefKeys.AUTOPLAYLIST_PLAYCOUNTS.equals(key)) {
mAutoPlPlaycounts = settings.getInt(PrefKeys.AUTOPLAYLIST_PLAYCOUNTS, 0);
mAutoPlPlaycounts = settings.getInt(PrefKeys.AUTOPLAYLIST_PLAYCOUNTS, PrefDefaults.AUTOPLAYLIST_PLAYCOUNTS);
} else if (PrefKeys.USE_DARK_THEME.equals(key)) {
// Theme changed: trigger a restart of all registered activites
ArrayList<PlaybackActivity> list = sActivities;
@ -2014,7 +2014,7 @@ public final class PlaybackService extends Service
*/
public PendingIntent createNotificationAction(SharedPreferences prefs)
{
switch (Integer.parseInt(prefs.getString(PrefKeys.NOTIFICATION_ACTION, "0"))) {
switch (Integer.parseInt(prefs.getString(PrefKeys.NOTIFICATION_ACTION, PrefDefaults.NOTIFICATION_ACTION))) {
case NOT_ACTION_NEXT_SONG: {
Intent intent = new Intent(this, PlaybackService.class);
intent.setAction(PlaybackService.ACTION_NEXT_SONG_AUTOPLAY);

View File

@ -0,0 +1,72 @@
/*
* Copyright (C) 2015 Adrian Ulrich <adrian@blinkenlights.ch>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package ch.blinkenlights.android.vanilla;
/**
* SharedPreference default values. Must be kept in sync with keys in res/xml/prefs_*.xml.
*/
public class PrefDefaults {
/*
public static final String COVER_LONGPRESS_ACTION = "cover_longpress_action";
public static final String COVER_PRESS_ACTION = "cover_press_action";
public static final String DEFAULT_ACTION_INT = "default_action_int";
public static final String DEFAULT_PLAYLIST_ACTION = "default_playlist_action";
public static final String COVERLOADER_ANDROID = "coverloader_android";
public static final String COVERLOADER_VANILLA = "coverloader_vanilla";
public static final String COVERLOADER_SHADOW = "coverloader_shadow";
public static final String DISABLE_LOCKSCREEN = "disable_lockscreen";
public static final String DISPLAY_MODE = "display_mode";
public static final String DOUBLE_TAP = "double_tap";
public static final String ENABLE_SHAKE = "enable_shake";
public static final String HEADSET_ONLY = "headset_only";
public static final String CYCLE_CONTINUOUS_SHUFFLING = "cycle_continuous_shuffling";
public static final String HEADSET_PAUSE = "headset_pause";
public static final String IDLE_TIMEOUT = "idle_timeout";
public static final String LIBRARY_PAGE = "library_page";
public static final String MEDIA_BUTTON = "media_button";
public static final String MEDIA_BUTTON_BEEP = "media_button_beep";
*/
public static final String NOTIFICATION_ACTION = "0";
public static final String NOTIFICATION_MODE = "1";
public static final boolean NOTIFICATION_NAG = false;
public static final boolean PLAYBACK_ON_STARTUP = false;
public static final boolean SCROBBLE = false;
public static final Action SHAKE_ACTION = Action.NextSong;
public static final int SHAKE_THRESHOLD = 80;
public static final boolean STOCK_BROADCAST = false;
public static final Action SWIPE_DOWN_ACTION = Action.Nothing;
public static final Action SWIPE_UP_ACTION = Action.Nothing;
public static final String TAB_ORDER = null;
public static final boolean USE_IDLE_TIMEOUT = false;
public static final boolean VISIBLE_CONTROLS = true;
public static final boolean VISIBLE_EXTRA_INFO = false;
public static final boolean ENABLE_TRACK_REPLAYGAIN = false;
public static final boolean ENABLE_ALBUM_REPLAYGAIN = false;
public static final int REPLAYGAIN_BUMP = 75; // seek bar is 150 -> 75 == middle == 0
public static final int REPLAYGAIN_UNTAGGED_DEBUMP = 150; // seek bar is 150 -> == 0
public static final boolean ENABLE_READAHEAD = false;
public static final boolean USE_DARK_THEME = false;
public static final String FILESYSTEM_BROWSE_START = "";
public static final int VOLUME_DURING_DUCKING = 50;
public static final int AUTOPLAYLIST_PLAYCOUNTS = 0;
}

View File

@ -24,7 +24,7 @@
package ch.blinkenlights.android.vanilla;
/**
* SharedPreference keys. Must be kept in sync with keys in res/xml/prefs_*.xml.
* SharedPreference keys. Must be kept in sync with PrefDefaults.java.
*/
public class PrefKeys {
public static final String COVER_LONGPRESS_ACTION = "cover_longpress_action";

View File

@ -126,7 +126,7 @@ public class TabOrderActivity extends Activity
*/
public void load()
{
String in = PlaybackService.getSettings(this).getString(PrefKeys.TAB_ORDER, null);
String in = PlaybackService.getSettings(this).getString(PrefKeys.TAB_ORDER, PrefDefaults.TAB_ORDER);
if (in != null && in.length() == LibraryPagerAdapter.MAX_ADAPTER_COUNT) {
char[] chars = in.toCharArray();
int[] ids = new int[LibraryPagerAdapter.MAX_ADAPTER_COUNT];

View File

@ -82,7 +82,7 @@ public class ThemeHelper {
boolean useDark = false;
if(couldUseDarkTheme()) {
SharedPreferences settings = PlaybackService.getSettings(context);
useDark = settings.getBoolean(PrefKeys.USE_DARK_THEME, false);
useDark = settings.getBoolean(PrefKeys.USE_DARK_THEME, PrefDefaults.USE_DARK_THEME);
}
return useDark;
}