From d476ddfa0c4e9e809035f1f24cf2852447e65ae3 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 18 Mar 2018 19:15:22 +0100 Subject: [PATCH] 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