aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2013-10-09 22:07:01 -0700
committerScott Jackson <daneren2005@gmail.com>2013-10-09 22:07:01 -0700
commit3d02b3afc08a95c91045c28f9038da1b1560919e (patch)
tree0dcdc121070dba93fdb6177865013db8ce4b163a
parentf776d7aca0e1a2ddd01c3c5d7c727157d379f8cf (diff)
downloaddsub-3d02b3afc08a95c91045c28f9038da1b1560919e.tar.gz
dsub-3d02b3afc08a95c91045c28f9038da1b1560919e.tar.bz2
dsub-3d02b3afc08a95c91045c28f9038da1b1560919e.zip
Closes #125 Break preferences into groups
-rw-r--r--res/values/strings.xml4
-rw-r--r--res/xml/settings.xml408
-rw-r--r--src/github/daneren2005/dsub/activity/SettingsActivity.java11
3 files changed, 221 insertions, 202 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 13035da4..5702271a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -290,7 +290,7 @@
<string name="settings.search_history_cleared">Search history cleared</string>
<string name="settings.other_title">Other settings</string>
<string name="settings.scrobble_title">Scrobble to Last.fm</string>
- <string name="settings.scrobble_summary">Remember to set up your Last.fm user and password on the DSub server</string>
+ <string name="settings.scrobble_summary">Remember to set up your Last.fm user and password on the Subsonic server</string>
<string name="settings.hide_media_title">Hide from other</string>
<string name="settings.hide_media_summary">Hide music files from other apps.</string>
<string name="settings.hide_media_toast">Takes effect next time Android scans your phone for music.</string>
@@ -329,6 +329,8 @@
<string name="settings.video_hls">HTTP Live Stream (HLS) (Requires Subsonic 4.8+)</string>
<string name="settings.video_transcode">Direct Transcode (Requires video -> mp4 or similar setup on Server)</string>
<string name="settings.video_flash">Flash (Requires Plugin)</string>
+ <string name="settings.cache_screen_title">Cache/Network</string>
+ <string name="settings.playback_title">Playback</string>
<string name="shuffle.title">Shuffle By</string>
<string name="shuffle.startYear">Start Year:</string>
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index e7917344..bbfbf620 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -1,216 +1,234 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/settings.title">
+ android:title="@string/settings.title">
- <PreferenceCategory
+ <PreferenceScreen
+ android:title="@string/settings.servers_title">
+
+ <PreferenceCategory
android:key="server"
- android:title="@string/settings.servers_title">
-
- <Preference
- android:key="serverAdd"
- android:title="@string/settings.servers_add"/>
-
- </PreferenceCategory>
-
- <PreferenceCategory
- android:title="@string/settings.appearance_title">
-
- <ListPreference
- android:title="@string/settings.theme_title"
- android:key="theme"
- android:defaultValue="holo"
- android:entryValues="@array/themeValues"
- android:entries="@array/themeNames"/>
-
- <CheckBoxPreference
- android:title="@string/settings.track_title"
- android:summary="@string/settings.track_summary"
- android:key="displayTrack"
- android:defaultValue="false"/>
-
- </PreferenceCategory>
-
- <PreferenceCategory
- android:title="@string/settings.video_title">
-
- <ListPreference
- android:title="@string/settings.video_player"
- android:key="videoPlayer"
- android:defaultValue="raw"
- android:entryValues="@array/videoPlayerValues"
- android:entries="@array/videoPlayerNames"/>
- </PreferenceCategory>
-
- <PreferenceCategory
- android:title="@string/settings.network_title">
-
- <ListPreference
- android:title="@string/settings.max_bitrate_wifi"
- android:key="maxBitrateWifi"
- android:defaultValue="0"
- android:entryValues="@array/maxBitrateValues"
- android:entries="@array/maxBitrateNames"/>
-
- <ListPreference
- android:title="@string/settings.max_bitrate_mobile"
- android:key="maxBitrateMobile"
- android:defaultValue="0"
- android:entryValues="@array/maxBitrateValues"
- android:entries="@array/maxBitrateNames"/>
-
- <ListPreference
- android:title="@string/settings.max_video_bitrate_wifi"
- android:key="maxVideoBitrateWifi"
- android:defaultValue="0"
- android:entryValues="@array/maxVideoBitrateValues"
- android:entries="@array/maxVideoBitrateNames"/>
-
- <ListPreference
- android:title="@string/settings.max_video_bitrate_mobile"
- android:key="maxVideoBitrateMobile"
- android:defaultValue="0"
- android:entryValues="@array/maxVideoBitrateValues"
- android:entries="@array/maxVideoBitrateNames"/>
-
- <CheckBoxPreference
- android:title="@string/settings.wifi_required_title"
- android:summary="@string/settings.wifi_required_summary"
- android:key="wifiRequiredForDownload"
- android:defaultValue="false"/>
-
- <ListPreference
- android:title="@string/settings.network_timeout_title"
- android:key="networkTimeout"
- android:defaultValue="15000"
- android:entryValues="@array/networkTimeoutValues"
- android:entries="@array/networkTimeoutNames"/>
-
- </PreferenceCategory>
-
- <PreferenceCategory
- android:title="@string/settings.playlist_title">
+ android:title="@string/settings.servers_title">
+
+ <Preference
+ android:key="serverAdd"
+ android:order="1000000"
+ android:title="@string/settings.servers_add"/>
+ </PreferenceCategory>
+
+ </PreferenceScreen>
+
+ <PreferenceScreen
+ android:title="@string/settings.appearance_title">
+
+ <PreferenceCategory
+ android:title="@string/settings.appearance_title">
+
+ <ListPreference
+ android:title="@string/settings.theme_title"
+ android:key="theme"
+ android:defaultValue="holo"
+ android:entryValues="@array/themeValues"
+ android:entries="@array/themeNames"/>
+
+ <CheckBoxPreference
+ android:title="@string/settings.track_title"
+ android:summary="@string/settings.track_summary"
+ android:key="displayTrack"
+ android:defaultValue="false"/>
+
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/button_bar.chat">
+
+ <CheckBoxPreference
+ android:title="@string/settings.chat_enabled"
+ android:summary="@string/settings.chat_enabled_summary"
+ android:key="chatEnabled"
+ android:defaultValue="true"/>
<EditTextPreference
- android:title="@string/settings.buffer_length"
- android:key="bufferLength"
- android:defaultValue="5"
- android:digits="0123456789"/>
-
- <EditTextPreference
- android:title="@string/settings.playlist_random_size_title"
- android:key="randomSize"
- android:defaultValue="20"
+ android:title="@string/settings.chat_refresh"
+ android:key="chatRefreshRate"
+ android:defaultValue="30"
android:digits="0123456789"/>
-
+ </PreferenceCategory>
+ </PreferenceScreen>
+
+ <PreferenceScreen
+ android:title="@string/settings.cache_screen_title">
+
+ <PreferenceCategory
+ android:title="@string/settings.network_title">
+
<ListPreference
- android:title="@string/settings.temp_loss_title"
- android:key="tempLoss"
- android:defaultValue="1"
- android:entryValues="@array/tempLossValues"
- android:entries="@array/tempLossNames"/>
+ android:title="@string/settings.max_bitrate_wifi"
+ android:key="maxBitrateWifi"
+ android:defaultValue="0"
+ android:entryValues="@array/maxBitrateValues"
+ android:entries="@array/maxBitrateNames"/>
<ListPreference
- android:title="@string/settings.disconnect_pause_title"
- android:key="pauseOnDisconnect"
+ android:title="@string/settings.max_bitrate_mobile"
+ android:key="maxBitrateMobile"
android:defaultValue="0"
- android:entryValues="@array/disconnectPauseValues"
- android:entries="@array/disconnectPauseNames"/>
+ android:entryValues="@array/maxBitrateValues"
+ android:entries="@array/maxBitrateNames"/>
+
+ <ListPreference
+ android:title="@string/settings.max_video_bitrate_wifi"
+ android:key="maxVideoBitrateWifi"
+ android:defaultValue="0"
+ android:entryValues="@array/maxVideoBitrateValues"
+ android:entries="@array/maxVideoBitrateNames"/>
+
+ <ListPreference
+ android:title="@string/settings.max_video_bitrate_mobile"
+ android:key="maxVideoBitrateMobile"
+ android:defaultValue="0"
+ android:entryValues="@array/maxVideoBitrateValues"
+ android:entries="@array/maxVideoBitrateNames"/>
<CheckBoxPreference
- android:title="@string/settings.persistent_title"
- android:summary="@string/settings.persistent_summary"
- android:key="persistentNotification"
- android:defaultValue="false"/>
- </PreferenceCategory>
-
- <PreferenceCategory
- android:title="@string/settings.cache_title">
-
- <EditTextPreference
- android:title="@string/settings.cache_size"
- android:key="cacheSize"
- android:defaultValue="2000"
+ android:title="@string/settings.wifi_required_title"
+ android:summary="@string/settings.wifi_required_summary"
+ android:key="wifiRequiredForDownload"
+ android:defaultValue="false"/>
+
+ <ListPreference
+ android:title="@string/settings.network_timeout_title"
+ android:key="networkTimeout"
+ android:defaultValue="15000"
+ android:entryValues="@array/networkTimeoutValues"
+ android:entries="@array/networkTimeoutNames"/>
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/settings.cache_title">
+
+ <EditTextPreference
+ android:title="@string/settings.cache_size"
+ android:key="cacheSize"
+ android:defaultValue="2000"
android:digits="0123456789"/>
- <EditTextPreference
- android:title="@string/settings.cache_location"
- android:key="cacheLocation"/>
-
- <ListPreference
- android:title="@string/settings.preload_wifi"
- android:key="preloadCountWifi"
- android:defaultValue="3"
- android:entryValues="@array/preloadCountValues"
- android:entries="@array/preloadCountNames"/>
-
- <ListPreference
- android:title="@string/settings.preload_mobile"
- android:key="preloadCountMobile"
- android:defaultValue="3"
- android:entryValues="@array/preloadCountValues"
- android:entries="@array/preloadCountNames"/>
-
- <Preference
+ <EditTextPreference
+ android:title="@string/settings.cache_location"
+ android:key="cacheLocation"/>
+
+ <ListPreference
+ android:title="@string/settings.preload_wifi"
+ android:key="preloadCountWifi"
+ android:defaultValue="3"
+ android:entryValues="@array/preloadCountValues"
+ android:entries="@array/preloadCountNames"/>
+
+ <ListPreference
+ android:title="@string/settings.preload_mobile"
+ android:key="preloadCountMobile"
+ android:defaultValue="3"
+ android:entryValues="@array/preloadCountValues"
+ android:entries="@array/preloadCountNames"/>
+
+ <Preference
android:key="clearCache"
android:title="@string/settings.cache_clear"
android:persistent="false"/>
- </PreferenceCategory>
-
- <PreferenceCategory
- android:title="@string/button_bar.chat">
-
- <CheckBoxPreference
- android:title="@string/settings.chat_enabled"
- android:summary="@string/settings.chat_enabled_summary"
- android:key="chatEnabled"
- android:defaultValue="true"/>
-
- <EditTextPreference
- android:title="@string/settings.chat_refresh"
- android:key="chatRefreshRate"
- android:defaultValue="30"
- android:digits="0123456789"/>
- </PreferenceCategory>
-
- <PreferenceCategory
- android:title="@string/settings.other_title">
-
- <CheckBoxPreference
- android:title="@string/settings.scrobble_title"
- android:summary="@string/settings.scrobble_summary"
- android:key="scrobble"
- android:defaultValue="false"/>
-
- <CheckBoxPreference
- android:title="@string/settings.hide_media_title"
- android:summary="@string/settings.hide_media_summary"
- android:key="hideMedia"
- android:defaultValue="false"/>
-
- <CheckBoxPreference
- android:title="@string/settings.media_button_title"
- android:summary="@string/settings.media_button_summary"
- android:key="mediaButtons"
- android:defaultValue="true"/>
-
- <CheckBoxPreference
- android:title="@string/settings.screen_lit_title"
- android:summary="@string/settings.screen_lit_summary"
- android:key="screenLitOnDownload"
- android:defaultValue="true"/>
-
- <CheckBoxPreference
- android:title="@string/settings.gapless_playback"
- android:summary="@string/settings.gapless_playback_summary"
- android:key="gaplessPlayback"
- android:defaultValue="true"/>
-
- <Preference
- android:key="clearSearchHistory"
- android:title="@string/settings.clear_search_history"
- android:persistent="false"/>
-
- </PreferenceCategory>
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/settings.other_title">
+ <CheckBoxPreference
+ android:title="@string/settings.hide_media_title"
+ android:summary="@string/settings.hide_media_summary"
+ android:key="hideMedia"
+ android:defaultValue="false"/>
+
+ <CheckBoxPreference
+ android:title="@string/settings.screen_lit_title"
+ android:summary="@string/settings.screen_lit_summary"
+ android:key="screenLitOnDownload"
+ android:defaultValue="true"/>
+
+ <Preference
+ android:key="clearSearchHistory"
+ android:title="@string/settings.clear_search_history"
+ android:persistent="false"/>
+ </PreferenceCategory>
+ </PreferenceScreen>
+
+ <PreferenceScreen
+ android:title="@string/settings.playback_title">
+
+ <PreferenceCategory
+ android:title="@string/settings.playback_title">
+
+ <EditTextPreference
+ android:title="@string/settings.buffer_length"
+ android:key="bufferLength"
+ android:defaultValue="5"
+ android:digits="0123456789"/>
+
+ <EditTextPreference
+ android:title="@string/settings.playlist_random_size_title"
+ android:key="randomSize"
+ android:defaultValue="20"
+ android:digits="0123456789"/>
+
+ <ListPreference
+ android:title="@string/settings.temp_loss_title"
+ android:key="tempLoss"
+ android:defaultValue="1"
+ android:entryValues="@array/tempLossValues"
+ android:entries="@array/tempLossNames"/>
+
+ <ListPreference
+ android:title="@string/settings.disconnect_pause_title"
+ android:key="pauseOnDisconnect"
+ android:defaultValue="0"
+ android:entryValues="@array/disconnectPauseValues"
+ android:entries="@array/disconnectPauseNames"/>
+
+ <CheckBoxPreference
+ android:title="@string/settings.persistent_title"
+ android:summary="@string/settings.persistent_summary"
+ android:key="persistentNotification"
+ android:defaultValue="false"/>
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/settings.video_title">
+
+ <ListPreference
+ android:title="@string/settings.video_player"
+ android:key="videoPlayer"
+ android:defaultValue="raw"
+ android:entryValues="@array/videoPlayerValues"
+ android:entries="@array/videoPlayerNames"/>
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/settings.other_title">
+
+ <CheckBoxPreference
+ android:title="@string/settings.scrobble_title"
+ android:summary="@string/settings.scrobble_summary"
+ android:key="scrobble"
+ android:defaultValue="false"/>
+
+ <CheckBoxPreference
+ android:title="@string/settings.media_button_title"
+ android:summary="@string/settings.media_button_summary"
+ android:key="mediaButtons"
+ android:defaultValue="true"/>
+
+ <CheckBoxPreference
+ android:title="@string/settings.gapless_playback"
+ android:summary="@string/settings.gapless_playback_summary"
+ android:key="gaplessPlayback"
+ android:defaultValue="true"/>
+ </PreferenceCategory>
+ </PreferenceScreen>
</PreferenceScreen>
diff --git a/src/github/daneren2005/dsub/activity/SettingsActivity.java b/src/github/daneren2005/dsub/activity/SettingsActivity.java
index 06a99ce6..12ee7694 100644
--- a/src/github/daneren2005/dsub/activity/SettingsActivity.java
+++ b/src/github/daneren2005/dsub/activity/SettingsActivity.java
@@ -98,8 +98,8 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
tempLoss = (ListPreference) findPreference(Constants.PREFERENCES_KEY_TEMP_LOSS);
pauseDisconnect = (ListPreference) findPreference(Constants.PREFERENCES_KEY_PAUSE_DISCONNECT);
bufferLength = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_BUFFER_LENGTH);
- addServerPreference = (Preference) findPreference(Constants.PREFERENCES_KEY_SERVER_ADD);
serversCategory = (PreferenceCategory) findPreference(Constants.PREFERENCES_KEY_SERVER_KEY);
+ addServerPreference = (Preference) findPreference(Constants.PREFERENCES_KEY_SERVER_ADD);
chatRefreshRate = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_CHAT_REFRESH);
videoPlayer = (ListPreference) findPreference(Constants.PREFERENCES_KEY_VIDEO_PLAYER);
@@ -143,7 +143,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
return false;
}
});
-
+
addServerPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
@@ -151,9 +151,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
String instance = String.valueOf(serverCount);
Preference addServerPreference = findPreference(Constants.PREFERENCES_KEY_SERVER_ADD);
- serversCategory.removePreference(addServerPreference);
serversCategory.addPreference(addServer(serverCount));
- serversCategory.addPreference(addServerPreference);
SharedPreferences.Editor editor = settings.edit();
editor.putInt(Constants.PREFERENCES_KEY_SERVER_COUNT, serverCount);
@@ -165,13 +163,12 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
}
});
- serversCategory.removePreference(addServerPreference);
+ serversCategory.setOrderingAsAdded(false);
for (int i = 1; i <= serverCount; i++) {
String instance = String.valueOf(i);
serversCategory.addPreference(addServer(i));
serverSettings.put(instance, new ServerSettings(instance));
}
- serversCategory.addPreference(addServerPreference);
SharedPreferences prefs = Util.getPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
@@ -359,6 +356,8 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
screen.addPreference(serverTestConnectionPreference);
screen.addPreference(serverOpenBrowser);
+ screen.setOrder(instance);
+
return screen;
}