From e4cb076390ecdd2c60ceb3c8ea0f80ce836f0859 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Tue, 3 Mar 2015 18:03:09 -0800 Subject: Try to keep DLNA connection alive by running search every 10 minutes --- src/github/daneren2005/dsub/service/DLNAController.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/github/daneren2005/dsub/service/DLNAController.java b/src/github/daneren2005/dsub/service/DLNAController.java index cdff990b..d4777428 100644 --- a/src/github/daneren2005/dsub/service/DLNAController.java +++ b/src/github/daneren2005/dsub/service/DLNAController.java @@ -70,6 +70,7 @@ import github.daneren2005.serverproxy.FileProxy; public class DLNAController extends RemoteController { private static final String TAG = DLNAController.class.getSimpleName(); + private static final long SEARCH_UPDATE_INTERVAL_SECONDS = 10L * 60L * 1000L; private static final long STATUS_UPDATE_INTERVAL_SECONDS = 3000L; DLNADevice device; @@ -86,6 +87,17 @@ public class DLNAController extends RemoteController { String currentPlayingURI; boolean running = true; boolean hasDuration = false; + Runnable searchDLNA = new Runnable() { + @Override + public void run() { + if(controlPoint == null || !running) { + return; + } + + controlPoint.search(); + downloadService.postDelayed(searchDLNA, SEARCH_UPDATE_INTERVAL_SECONDS); + } + }; public DLNAController(DownloadService downloadService, ControlPoint controlPoint, DLNADevice device) { this.downloadService = downloadService; @@ -119,6 +131,7 @@ public class DLNAController extends RemoteController { } startSong(downloadService.getCurrentPlaying(), playing, seconds); + downloadService.postDelayed(searchDLNA, SEARCH_UPDATE_INTERVAL_SECONDS); } @Override -- cgit v1.2.3