From 46f1bef7a8b729699e60e85217e91c4c20dfb7a3 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Tue, 17 Feb 2015 08:29:41 -0800 Subject: Improve DLNA discovery proccess --- .../daneren2005/dsub/provider/DLNARouteProvider.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/github/daneren2005/dsub/provider/DLNARouteProvider.java b/src/github/daneren2005/dsub/provider/DLNARouteProvider.java index 57785c0c..8d9c5f45 100644 --- a/src/github/daneren2005/dsub/provider/DLNARouteProvider.java +++ b/src/github/daneren2005/dsub/provider/DLNARouteProvider.java @@ -70,6 +70,7 @@ public class DLNARouteProvider extends MediaRouteProvider { private List adding = new ArrayList(); private AndroidUpnpService dlnaService; private ServiceConnection dlnaServiceConnection; + private boolean searchOnConnect = false; public DLNARouteProvider(Context context) { super(context); @@ -85,12 +86,12 @@ public class DLNARouteProvider extends MediaRouteProvider { dlnaService.getRegistry().addListener(new RegistryListener() { @Override public void remoteDeviceDiscoveryStarted(Registry registry, RemoteDevice remoteDevice) { - Log.i(TAG, "Stared DLNA discovery"); + } @Override public void remoteDeviceDiscoveryFailed(Registry registry, RemoteDevice remoteDevice, Exception e) { - Log.w(TAG, "Failed to discover DLNA devices"); + // Error is displayed in log anyways under W/trieveRemoteDescriptors } @Override @@ -132,7 +133,9 @@ public class DLNARouteProvider extends MediaRouteProvider { for (Device device : dlnaService.getControlPoint().getRegistry().getDevices()) { deviceAdded(device); } - dlnaService.getControlPoint().search(); + if(searchOnConnect) { + dlnaService.getControlPoint().search(); + } } @Override @@ -182,7 +185,11 @@ public class DLNARouteProvider extends MediaRouteProvider { @Override public void onDiscoveryRequestChanged(MediaRouteDiscoveryRequest request) { if (request != null && request.isActiveScan()) { - dlnaService.getControlPoint().search(); + if(dlnaService != null) { + dlnaService.getControlPoint().search(); + } else { + searchOnConnect = true; + } } } -- cgit v1.2.3