diff options
-rw-r--r-- | res/values/arrays.xml | 13 | ||||
-rw-r--r-- | res/values/strings.xml | 5 | ||||
-rw-r--r-- | res/xml/settings.xml | 7 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/activity/SettingsActivity.java | 3 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/receiver/BluetoothIntentReceiver.java | 4 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java | 4 |
6 files changed, 34 insertions, 2 deletions
diff --git a/res/values/arrays.xml b/res/values/arrays.xml index d6541f9f..4b0d440f 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -137,6 +137,19 @@ <item>@string/settings.temp_loss_nothing</item> </string-array> + <string-array name="disconnectPauseValues"> + <item>0</item> + <item>1</item> + <item>2</item> + <item>3</item> + </string-array> + <string-array name="disconnectPauseNames"> + <item>@string/settings.disconnect_pause_both</item> + <item>@string/settings.disconnect_pause_headphone</item> + <item>@string/settings.disconnect_pause_bluetooth</item> + <item>@string/settings.disconnect_pause_neither</item> + </string-array> + <string-array name="videoPlayerValues"> <item>raw</item> <item>hls</item> diff --git a/res/values/strings.xml b/res/values/strings.xml index 0b2815ec..13035da4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -311,6 +311,11 @@ <string name="settings.temp_loss_pause_lower">Pause, lower volume when requested</string>
<string name="settings.temp_loss_lower">Always lower volume</string>
<string name="settings.temp_loss_nothing">Do Nothing</string>
+ <string name="settings.disconnect_pause_title">Pause on Disconnect</string>
+ <string name="settings.disconnect_pause_both">Pause on either</string>
+ <string name="settings.disconnect_pause_headphone">Pause only for headphone</string>
+ <string name="settings.disconnect_pause_bluetooth">Pause only for bluetooth</string>
+ <string name="settings.disconnect_pause_neither">Do Nothing</string>
<string name="settings.persistent_title">Persistent Notification</string>
<string name="settings.persistent_summary">Show the notification even after pausing. Press the stop button to clear it away.</string>
<string name="settings.gapless_playback">Gapless Playback</string>
diff --git a/res/xml/settings.xml b/res/xml/settings.xml index eb139b83..e7917344 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -110,6 +110,13 @@ 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" diff --git a/src/github/daneren2005/dsub/activity/SettingsActivity.java b/src/github/daneren2005/dsub/activity/SettingsActivity.java index 89d475d3..06a99ce6 100644 --- a/src/github/daneren2005/dsub/activity/SettingsActivity.java +++ b/src/github/daneren2005/dsub/activity/SettingsActivity.java @@ -68,6 +68,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer private ListPreference preloadCountMobile; private EditTextPreference randomSize; private ListPreference tempLoss; + private ListPreference pauseDisconnect; private EditTextPreference bufferLength; private Preference addServerPreference; private PreferenceCategory serversCategory; @@ -95,6 +96,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer preloadCountMobile = (ListPreference) findPreference(Constants.PREFERENCES_KEY_PRELOAD_COUNT_MOBILE); randomSize = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_RANDOM_SIZE); 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); @@ -240,6 +242,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer preloadCountMobile.setSummary(preloadCountMobile.getEntry()); randomSize.setSummary(randomSize.getText()); tempLoss.setSummary(tempLoss.getEntry()); + pauseDisconnect.setSummary(pauseDisconnect.getEntry()); bufferLength.setSummary(bufferLength.getText() + " seconds"); chatRefreshRate.setSummary(chatRefreshRate.getText()); videoPlayer.setSummary(videoPlayer.getEntry()); diff --git a/src/github/daneren2005/dsub/receiver/BluetoothIntentReceiver.java b/src/github/daneren2005/dsub/receiver/BluetoothIntentReceiver.java index 8af0b462..ab46c784 100644 --- a/src/github/daneren2005/dsub/receiver/BluetoothIntentReceiver.java +++ b/src/github/daneren2005/dsub/receiver/BluetoothIntentReceiver.java @@ -22,8 +22,10 @@ import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.util.Log; import github.daneren2005.dsub.service.DownloadServiceImpl; +import github.daneren2005.dsub.util.Constants; import github.daneren2005.dsub.util.Util; /** @@ -45,7 +47,7 @@ public class BluetoothIntentReceiver extends BroadcastReceiver { } else if (isDisconnected(intent)) { Log.i(TAG, "Disconnected from Bluetooth A2DP, requesting pause."); SharedPreferences prefs = Util.getPreferences(context); - int pausePref = Integer.parseInt(prefs.getString(PREFERENCES_KEY_PAUSE_DISCONNECT, "0")); + int pausePref = Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_PAUSE_DISCONNECT, "0")); if(pausePref == 0 || pausePref == 2) { context.sendBroadcast(new Intent(DownloadServiceImpl.CMD_PAUSE)); } diff --git a/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java b/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java index 6a4f54a8..563565b2 100644 --- a/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java +++ b/src/github/daneren2005/dsub/service/DownloadServiceLifecycleSupport.java @@ -31,6 +31,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.media.RemoteControlClient; import android.os.AsyncTask; import android.os.Build; @@ -43,6 +44,7 @@ import android.view.KeyEvent; import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.domain.PlayerState; import github.daneren2005.dsub.util.CacheCleaner; +import github.daneren2005.dsub.util.Constants; import github.daneren2005.dsub.util.FileUtil; import github.daneren2005.dsub.util.Util; @@ -142,7 +144,7 @@ public class DownloadServiceLifecycleSupport { public void run() { if(!downloadService.isRemoteEnabled()) { SharedPreferences prefs = Util.getPreferences(downloadService); - int pausePref = Integer.parseInt(prefs.getString(PREFERENCES_KEY_PAUSE_DISCONNECT, "0")); + int pausePref = Integer.parseInt(prefs.getString(Constants.PREFERENCES_KEY_PAUSE_DISCONNECT, "0")); if(pausePref == 0 || pausePref == 1) { downloadService.pause(); } |