aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2016-02-02 17:14:27 -0800
committerScott Jackson <daneren2005@gmail.com>2016-02-02 17:14:27 -0800
commit2690b7adfbb883419b027435befc0a8f738dc4c6 (patch)
treef8eafb64e8d6a237c59f6658ba5e0a1f006ed9d2 /app/src/main
parent6367446901769c050676fb553f2a1a396facbcf7 (diff)
downloaddsub-2690b7adfbb883419b027435befc0a8f738dc4c6.tar.gz
dsub-2690b7adfbb883419b027435befc0a8f738dc4c6.tar.bz2
dsub-2690b7adfbb883419b027435befc0a8f738dc4c6.zip
Fixes #638 Make gapless playback while casting optional
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java2
-rw-r--r--app/src/main/java/github/daneren2005/dsub/service/RemoteController.java8
-rw-r--r--app/src/main/java/github/daneren2005/dsub/util/Constants.java1
-rw-r--r--app/src/main/res/xml/settings.xml5
-rw-r--r--app/src/main/res/xml/settings_cast.xml19
-rw-r--r--app/src/main/res/xml/settings_playback.xml10
6 files changed, 34 insertions, 11 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java
index 249b8a93..7b294849 100644
--- a/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java
+++ b/app/src/main/java/github/daneren2005/dsub/fragments/SettingsFragment.java
@@ -138,6 +138,8 @@ public class SettingsFragment extends PreferenceCompatFragment implements Shared
xml = R.xml.settings_playback;
} else if("servers".equals(name)) {
xml = R.xml.settings_servers;
+ } else if ("cast".equals(name)) {
+ xml = R.xml.settings_cast;
}
if(xml != 0) {
diff --git a/app/src/main/java/github/daneren2005/dsub/service/RemoteController.java b/app/src/main/java/github/daneren2005/dsub/service/RemoteController.java
index 99502f5e..6c70496d 100644
--- a/app/src/main/java/github/daneren2005/dsub/service/RemoteController.java
+++ b/app/src/main/java/github/daneren2005/dsub/service/RemoteController.java
@@ -25,6 +25,8 @@ import java.util.Iterator;
import java.util.concurrent.LinkedBlockingQueue;
import github.daneren2005.dsub.domain.RemoteStatus;
+import github.daneren2005.dsub.util.Constants;
+import github.daneren2005.dsub.util.Util;
import github.daneren2005.serverproxy.WebProxy;
public abstract class RemoteController {
@@ -43,7 +45,11 @@ public abstract class RemoteController {
// Really is abstract, just don't want to require RemoteController's support it
public void changeNextTrack(DownloadFile song) {}
public boolean isNextSupported() {
- return this.nextSupported;
+ if(Util.getPreferences(downloadService).getBoolean(Constants.PREFERENCES_KEY_CAST_GAPLESS_PLAYBACK, true)) {
+ return this.nextSupported;
+ } else {
+ return false;
+ }
}
public abstract void setVolume(int volume);
public abstract void updateVolume(boolean up);
diff --git a/app/src/main/java/github/daneren2005/dsub/util/Constants.java b/app/src/main/java/github/daneren2005/dsub/util/Constants.java
index 00682947..88b87481 100644
--- a/app/src/main/java/github/daneren2005/dsub/util/Constants.java
+++ b/app/src/main/java/github/daneren2005/dsub/util/Constants.java
@@ -170,6 +170,7 @@ public final class Constants {
public static final String PREFERENCES_KEY_SHUFFLE_BY_ALBUM = "shuffleByAlbum";
public static final String PREFERENCES_KEY_RESUME_PLAY_QUEUE_NEVER = "neverResumePlayQueue";
public static final String PREFERENCES_KEY_BATCH_MODE = "batchMode";
+ public static final String PREFERENCES_KEY_CAST_GAPLESS_PLAYBACK = "castingGaplessPlayback";
public static final String OFFLINE_SCROBBLE_COUNT = "scrobbleCount";
public static final String OFFLINE_SCROBBLE_ID = "scrobbleID";
diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml
index ac247c8f..a067130a 100644
--- a/app/src/main/res/xml/settings.xml
+++ b/app/src/main/res/xml/settings.xml
@@ -31,4 +31,9 @@
android:title="@string/settings.playback_title"
android:key="playback">
</PreferenceScreen>
+
+ <PreferenceScreen
+ android:title="@string/settings.casting"
+ android:key="cast">
+ </PreferenceScreen>
</PreferenceScreen>
diff --git a/app/src/main/res/xml/settings_cast.xml b/app/src/main/res/xml/settings_cast.xml
new file mode 100644
index 00000000..058255c2
--- /dev/null
+++ b/app/src/main/res/xml/settings_cast.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ android:title="@string/settings.casting">
+ <PreferenceCategory
+ android:title="@string/settings.casting">
+
+ <CheckBoxPreference
+ android:title="@string/settings.casting_proxy"
+ android:summary="@string/settings.casting_proxy_summary"
+ android:key="castProxy"
+ android:defaultValue="false"/>
+
+ <CheckBoxPreference
+ android:title="@string/settings.gapless_playback"
+ android:summary="@string/settings.gapless_playback_summary"
+ android:key="castingGaplessPlayback"
+ android:defaultValue="true"/>
+ </PreferenceCategory>
+</PreferenceScreen> \ No newline at end of file
diff --git a/app/src/main/res/xml/settings_playback.xml b/app/src/main/res/xml/settings_playback.xml
index 3c505b6e..a4ea443e 100644
--- a/app/src/main/res/xml/settings_playback.xml
+++ b/app/src/main/res/xml/settings_playback.xml
@@ -59,16 +59,6 @@
</PreferenceCategory>
<PreferenceCategory
- android:title="@string/settings.casting">
-
- <CheckBoxPreference
- android:title="@string/settings.casting_proxy"
- android:summary="@string/settings.casting_proxy_summary"
- android:key="castProxy"
- android:defaultValue="false"/>
- </PreferenceCategory>
-
- <PreferenceCategory
android:title="@string/settings.replay_gain">
<CheckBoxPreference