From 44114e90ab0439bbafc7ff685cb3cb4aaf4b1924 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 18 Mar 2018 18:38:28 +0100 Subject: [PATCH 1/2] Increase response peek bytes to 1000. This will increase the probability that version is parsed. Signed-off-by: Yahor Berdnikau --- .../ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt index f8469783..223582fa 100644 --- a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt +++ b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt @@ -9,7 +9,7 @@ import okhttp3.Response import org.moire.ultrasonic.api.subsonic.SubsonicAPIVersions import java.io.IOException -private const val DEFAULT_PEEK_BYTE_COUNT = 100L +private const val DEFAULT_PEEK_BYTE_COUNT = 1000L /** * Special [Interceptor] that adds client supported version to request and tries to update it From d476ddfa0c4e9e809035f1f24cf2852447e65ae3 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 18 Mar 2018 19:15:22 +0100 Subject: [PATCH 2/2] Make a ping to server on app start. This will update supported server version in subsonic api client. Signed-off-by: Yahor Berdnikau --- .../ultrasonic/activity/MainActivity.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/activity/MainActivity.java b/ultrasonic/src/main/java/org/moire/ultrasonic/activity/MainActivity.java index ed4a5f1e..5c6c1f6b 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/activity/MainActivity.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/activity/MainActivity.java @@ -36,9 +36,12 @@ import android.widget.TextView; import org.moire.ultrasonic.R; import org.moire.ultrasonic.service.DownloadService; import org.moire.ultrasonic.service.DownloadServiceImpl; +import org.moire.ultrasonic.service.MusicService; +import org.moire.ultrasonic.service.MusicServiceFactory; import org.moire.ultrasonic.util.Constants; import org.moire.ultrasonic.util.FileUtil; import org.moire.ultrasonic.util.MergeAdapter; +import org.moire.ultrasonic.util.TabActivityBackgroundTask; import org.moire.ultrasonic.util.Util; import java.util.Collections; @@ -165,6 +168,10 @@ public class MainActivity extends SubsonicTabActivity adapter.addView(videosTitle, false); adapter.addViews(Collections.singletonList(videosButton), true); + + if (Util.isNetworkConnected(this)) { + new PingTask(this, false).execute(); + } } list.setAdapter(adapter); @@ -533,4 +540,23 @@ public class MainActivity extends SubsonicTabActivity intent.putExtra(Constants.INTENT_EXTRA_NAME_VIDEOS, 1); startActivityForResultWithoutTransition(this, intent); } + + /** + * Temporary task to make a ping to server to get it supported api version. + */ + private static class PingTask extends TabActivityBackgroundTask { + PingTask(SubsonicTabActivity activity, boolean changeProgress) { + super(activity, changeProgress); + } + + @Override + protected Void doInBackground() throws Throwable { + final MusicService service = MusicServiceFactory.getMusicService(getActivity()); + service.ping(getActivity(), null); + return null; + } + + @Override + protected void done(Void result) {} + } } \ No newline at end of file