diff --git a/build.gradle b/build.gradle index c6999cb..4c0530e 100644 --- a/build.gradle +++ b/build.gradle @@ -22,8 +22,12 @@ repositories { dependencies { compile 'com.android.support:appcompat-v7:19.1.+' compile 'com.android.support:mediarouter-v7:19.1.+' - compile 'org.teleal.cling:cling-core:1.0.5+' - compile 'org.teleal.cling:cling-support:1.0.5+' + compile 'org.fourthline.cling:cling-core:2.1.0' + compile 'org.fourthline.cling:cling-support:2.1.0' + compile 'org.eclipse.jetty:jetty-server:8.1.8.v20121106' + compile 'org.eclipse.jetty:jetty-servlet:8.1.8.v20121106' + compile 'org.eclipse.jetty:jetty-client:8.1.8.v20121106' + compile 'org.slf4j:slf4j-jdk14:1.6.1' } android { @@ -35,6 +39,11 @@ android { disable 'InvalidPackage' } + packagingOptions { + exclude 'META-INF/beans.xml' + exclude 'about.html' + } + signingConfigs { release { // Android Studio does not pass environment variables. diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 99ea882..96b9fd1 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -12,9 +12,10 @@ + - + diff --git a/src/main/java/com/github/nutomic/controldlna/gui/MainActivity.java b/src/main/java/com/github/nutomic/controldlna/gui/MainActivity.java index f7513dd..b33d47d 100644 --- a/src/main/java/com/github/nutomic/controldlna/gui/MainActivity.java +++ b/src/main/java/com/github/nutomic/controldlna/gui/MainActivity.java @@ -49,7 +49,7 @@ import android.view.MenuItem; import com.github.nutomic.controldlna.R; -import org.teleal.cling.support.model.item.Item; +import org.fourthline.cling.support.model.item.Item; import java.util.List; diff --git a/src/main/java/com/github/nutomic/controldlna/gui/RouteFragment.java b/src/main/java/com/github/nutomic/controldlna/gui/RouteFragment.java index c8d171c..698dfe0 100644 --- a/src/main/java/com/github/nutomic/controldlna/gui/RouteFragment.java +++ b/src/main/java/com/github/nutomic/controldlna/gui/RouteFragment.java @@ -68,7 +68,7 @@ import com.github.nutomic.controldlna.mediarouter.MediaRouterPlayServiceBinder; import com.github.nutomic.controldlna.utility.FileArrayAdapter; import com.github.nutomic.controldlna.utility.RouteAdapter; -import org.teleal.cling.support.model.item.Item; +import org.fourthline.cling.support.model.item.Item; import java.util.List; diff --git a/src/main/java/com/github/nutomic/controldlna/gui/ServerFragment.java b/src/main/java/com/github/nutomic/controldlna/gui/ServerFragment.java index 7fb3a6a..091e31b 100644 --- a/src/main/java/com/github/nutomic/controldlna/gui/ServerFragment.java +++ b/src/main/java/com/github/nutomic/controldlna/gui/ServerFragment.java @@ -56,19 +56,19 @@ import com.github.nutomic.controldlna.gui.MainActivity.OnBackPressedListener; import com.github.nutomic.controldlna.utility.DeviceArrayAdapter; import com.github.nutomic.controldlna.utility.FileArrayAdapter; -import org.teleal.cling.android.AndroidUpnpService; -import org.teleal.cling.android.AndroidUpnpServiceImpl; -import org.teleal.cling.model.action.ActionInvocation; -import org.teleal.cling.model.message.UpnpResponse; -import org.teleal.cling.model.meta.Device; -import org.teleal.cling.model.meta.Service; -import org.teleal.cling.model.types.ServiceType; -import org.teleal.cling.model.types.UDN; -import org.teleal.cling.support.contentdirectory.callback.Browse; -import org.teleal.cling.support.model.BrowseFlag; -import org.teleal.cling.support.model.DIDLContent; -import org.teleal.cling.support.model.container.Container; -import org.teleal.cling.support.model.item.Item; +import org.fourthline.cling.android.AndroidUpnpService; +import org.fourthline.cling.android.AndroidUpnpServiceImpl; +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.message.UpnpResponse; +import org.fourthline.cling.model.meta.Device; +import org.fourthline.cling.model.meta.Service; +import org.fourthline.cling.model.types.ServiceType; +import org.fourthline.cling.model.types.UDN; +import org.fourthline.cling.support.contentdirectory.callback.Browse; +import org.fourthline.cling.support.model.BrowseFlag; +import org.fourthline.cling.support.model.DIDLContent; +import org.fourthline.cling.support.model.container.Container; +import org.fourthline.cling.support.model.item.Item; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/github/nutomic/controldlna/mediarouter/MediaRouterPlayService.java b/src/main/java/com/github/nutomic/controldlna/mediarouter/MediaRouterPlayService.java index e7cb6aa..94b7548 100644 --- a/src/main/java/com/github/nutomic/controldlna/mediarouter/MediaRouterPlayService.java +++ b/src/main/java/com/github/nutomic/controldlna/mediarouter/MediaRouterPlayService.java @@ -55,11 +55,11 @@ import com.github.nutomic.controldlna.gui.PreferencesActivity; import com.github.nutomic.controldlna.gui.RouteFragment; import com.github.nutomic.controldlna.utility.LoadImageTask; -import org.teleal.cling.support.contentdirectory.DIDLParser; -import org.teleal.cling.support.model.DIDLContent; -import org.teleal.cling.support.model.DIDLObject; -import org.teleal.cling.support.model.item.Item; -import org.teleal.cling.support.model.item.MusicTrack; +import org.fourthline.cling.support.contentdirectory.DIDLParser; +import org.fourthline.cling.support.model.DIDLContent; +import org.fourthline.cling.support.model.DIDLObject; +import org.fourthline.cling.support.model.item.Item; +import org.fourthline.cling.support.model.item.MusicTrack; import java.lang.ref.WeakReference; import java.util.ArrayList; diff --git a/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayService.java b/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayService.java index 48f187f..914a0cd 100644 --- a/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayService.java +++ b/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayService.java @@ -45,19 +45,19 @@ import android.util.Log; import com.github.nutomic.controldlna.R; -import org.teleal.cling.android.AndroidUpnpService; -import org.teleal.cling.android.AndroidUpnpServiceImpl; -import org.teleal.cling.model.action.ActionInvocation; -import org.teleal.cling.model.message.UpnpResponse; -import org.teleal.cling.model.meta.Device; -import org.teleal.cling.model.meta.LocalDevice; -import org.teleal.cling.model.meta.RemoteDevice; -import org.teleal.cling.model.meta.StateVariableAllowedValueRange; -import org.teleal.cling.model.types.ServiceType; -import org.teleal.cling.model.types.UDN; -import org.teleal.cling.registry.Registry; -import org.teleal.cling.registry.RegistryListener; -import org.teleal.cling.support.renderingcontrol.callback.GetVolume; +import org.fourthline.cling.android.AndroidUpnpService; +import org.fourthline.cling.android.AndroidUpnpServiceImpl; +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.message.UpnpResponse; +import org.fourthline.cling.model.meta.Device; +import org.fourthline.cling.model.meta.LocalDevice; +import org.fourthline.cling.model.meta.RemoteDevice; +import org.fourthline.cling.model.meta.StateVariableAllowedValueRange; +import org.fourthline.cling.model.types.ServiceType; +import org.fourthline.cling.model.types.UDN; +import org.fourthline.cling.registry.Registry; +import org.fourthline.cling.registry.RegistryListener; +import org.fourthline.cling.support.renderingcontrol.callback.GetVolume; import java.util.Map.Entry; import java.util.WeakHashMap; @@ -208,7 +208,7 @@ public class RemotePlayService extends Service implements RegistryListener { /** * Returns a device service by name for direct queries. */ - org.teleal.cling.model.meta.Service getService( + org.fourthline.cling.model.meta.Service getService( Device device, String name) { return device.findService(new ServiceType("schemas-upnp-org", name)); } @@ -220,7 +220,7 @@ public class RemotePlayService extends Service implements RegistryListener { if (mDevices.containsValue(device)) return; - final org.teleal.cling.model.meta.Service rc = getService(device, "RenderingControl"); + final org.fourthline.cling.model.meta.Service rc = getService(device, "RenderingControl"); if (rc == null || mListener == null) return; diff --git a/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayServiceBinder.java b/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayServiceBinder.java index 9b05106..46927cc 100644 --- a/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayServiceBinder.java +++ b/src/main/java/com/github/nutomic/controldlna/upnp/RemotePlayServiceBinder.java @@ -33,26 +33,26 @@ import java.util.Date; import java.util.Map; import java.util.TimeZone; -import org.teleal.cling.controlpoint.SubscriptionCallback; -import org.teleal.cling.model.action.ActionInvocation; -import org.teleal.cling.model.gena.CancelReason; -import org.teleal.cling.model.gena.GENASubscription; -import org.teleal.cling.model.message.UpnpResponse; -import org.teleal.cling.model.meta.Device; -import org.teleal.cling.model.state.StateVariableValue; -import org.teleal.cling.model.types.ServiceType; -import org.teleal.cling.support.avtransport.callback.GetPositionInfo; -import org.teleal.cling.support.avtransport.callback.Pause; -import org.teleal.cling.support.avtransport.callback.Play; -import org.teleal.cling.support.avtransport.callback.Seek; -import org.teleal.cling.support.avtransport.callback.SetAVTransportURI; -import org.teleal.cling.support.avtransport.callback.Stop; -import org.teleal.cling.support.avtransport.lastchange.AVTransportLastChangeParser; -import org.teleal.cling.support.avtransport.lastchange.AVTransportVariable; -import org.teleal.cling.support.lastchange.LastChange; -import org.teleal.cling.support.model.PositionInfo; -import org.teleal.cling.support.model.SeekMode; -import org.teleal.cling.support.renderingcontrol.callback.SetVolume; +import org.fourthline.cling.controlpoint.SubscriptionCallback; +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.gena.CancelReason; +import org.fourthline.cling.model.gena.GENASubscription; +import org.fourthline.cling.model.message.UpnpResponse; +import org.fourthline.cling.model.meta.Device; +import org.fourthline.cling.model.state.StateVariableValue; +import org.fourthline.cling.model.types.ServiceType; +import org.fourthline.cling.support.avtransport.callback.GetPositionInfo; +import org.fourthline.cling.support.avtransport.callback.Pause; +import org.fourthline.cling.support.avtransport.callback.Play; +import org.fourthline.cling.support.avtransport.callback.Seek; +import org.fourthline.cling.support.avtransport.callback.SetAVTransportURI; +import org.fourthline.cling.support.avtransport.callback.Stop; +import org.fourthline.cling.support.avtransport.lastchange.AVTransportLastChangeParser; +import org.fourthline.cling.support.avtransport.lastchange.AVTransportVariable; +import org.fourthline.cling.support.lastchange.LastChange; +import org.fourthline.cling.support.model.PositionInfo; +import org.fourthline.cling.support.model.SeekMode; +import org.fourthline.cling.support.renderingcontrol.callback.SetVolume; import android.annotation.SuppressLint; import android.os.Message; @@ -218,7 +218,7 @@ public class RemotePlayServiceBinder extends IRemotePlayService.Stub { @SuppressWarnings("rawtypes") @Override public void failure(ActionInvocation invocation, - org.teleal.cling.model.message.UpnpResponse operation, + org.fourthline.cling.model.message.UpnpResponse operation, String defaultMessage) { Log.w(TAG, "Stop failed: " + defaultMessage); mRps.sendError("Stop failed: " + defaultMessage); @@ -320,7 +320,7 @@ public class RemotePlayServiceBinder extends IRemotePlayService.Stub { @SuppressWarnings("rawtypes") @Override public void failure(ActionInvocation invocation, - org.teleal.cling.model.message.UpnpResponse operation, + org.fourthline.cling.model.message.UpnpResponse operation, String defaultMessage) { Log.w(TAG, "Stop failed: " + defaultMessage); mRps.sendError("Stop failed: " + defaultMessage); diff --git a/src/main/java/com/github/nutomic/controldlna/utility/DeviceArrayAdapter.java b/src/main/java/com/github/nutomic/controldlna/utility/DeviceArrayAdapter.java index cc12c1a..bfe0905 100644 --- a/src/main/java/com/github/nutomic/controldlna/utility/DeviceArrayAdapter.java +++ b/src/main/java/com/github/nutomic/controldlna/utility/DeviceArrayAdapter.java @@ -38,11 +38,11 @@ import android.widget.TextView; import com.github.nutomic.controldlna.R; -import org.teleal.cling.model.meta.Device; -import org.teleal.cling.model.meta.LocalDevice; -import org.teleal.cling.model.meta.RemoteDevice; -import org.teleal.cling.registry.Registry; -import org.teleal.cling.registry.RegistryListener; +import org.fourthline.cling.model.meta.Device; +import org.fourthline.cling.model.meta.LocalDevice; +import org.fourthline.cling.model.meta.RemoteDevice; +import org.fourthline.cling.registry.Registry; +import org.fourthline.cling.registry.RegistryListener; import java.net.URI; import java.net.URISyntaxException; diff --git a/src/main/java/com/github/nutomic/controldlna/utility/FileArrayAdapter.java b/src/main/java/com/github/nutomic/controldlna/utility/FileArrayAdapter.java index c347448..4b7e264 100644 --- a/src/main/java/com/github/nutomic/controldlna/utility/FileArrayAdapter.java +++ b/src/main/java/com/github/nutomic/controldlna/utility/FileArrayAdapter.java @@ -30,13 +30,13 @@ package com.github.nutomic.controldlna.utility; import java.net.URI; import java.util.List; -import org.teleal.cling.support.model.DIDLObject; -import org.teleal.cling.support.model.item.AudioItem; -import org.teleal.cling.support.model.item.ImageItem; -import org.teleal.cling.support.model.item.Item; -import org.teleal.cling.support.model.item.PlaylistItem; -import org.teleal.cling.support.model.item.VideoItem; -import org.teleal.cling.support.model.item.MusicTrack; +import org.fourthline.cling.support.model.DIDLObject; +import org.fourthline.cling.support.model.item.AudioItem; +import org.fourthline.cling.support.model.item.ImageItem; +import org.fourthline.cling.support.model.item.Item; +import org.fourthline.cling.support.model.item.PlaylistItem; +import org.fourthline.cling.support.model.item.VideoItem; +import org.fourthline.cling.support.model.item.MusicTrack; import android.content.Context; import android.view.LayoutInflater;