From 3721afe49da773d952c6ff73adc9b96bada69ea6 Mon Sep 17 00:00:00 2001 From: liujt Date: Fri, 1 Mar 2019 17:27:45 +0800 Subject: [PATCH 01/33] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/codeStyles/Project.xml | 29 + .idea/misc.xml | 9 + .idea/modules.xml | 10 + .idea/runConfigurations.xml | 12 + LICENSE | 201 +++ app/build.gradle | 120 ++ app/proguard-rules.pro | 37 + app/src/main/AndroidManifest.xml | 51 + app/src/main/assets/test.mp4 | Bin 0 -> 513062 bytes app/src/main/ic_launcher-web.png | Bin 0 -> 44440 bytes .../dkplayer/activity/DemoActivity.java | 626 ++++++++++ .../dkplayer/activity/MainActivity.java | 58 + .../dkplayer/adapter/DLNADevicesAdapter.java | 54 + .../dueeeke/dkplayer/app/MyApplication.java | 33 + .../com/dueeeke/dkplayer/dlnaupnp/Config.java | 42 + .../dueeeke/dkplayer/dlnaupnp/Intents.java | 195 +++ .../dlnaupnp/control/ClingPlayControl.java | 493 ++++++++ .../dlnaupnp/control/IPlayControl.java | 67 + .../control/ISubscriptionControl.java | 30 + .../dlnaupnp/control/SubscriptionControl.java | 67 + .../control/callback/ControlCallback.java | 16 + .../callback/ControlReceiveCallback.java | 15 + .../dlnaupnp/entity/BaseClingResponse.java | 61 + .../dlnaupnp/entity/ClingControlPoint.java | 41 + .../dkplayer/dlnaupnp/entity/ClingDevice.java | 33 + .../dlnaupnp/entity/ClingDeviceList.java | 90 ++ .../entity/ClingPositionResponse.java | 27 + .../dlnaupnp/entity/ClingResponse.java | 49 + .../dlnaupnp/entity/ClingVolumeResponse.java | 22 + .../dlnaupnp/entity/DLANPlayState.java | 39 + .../dlnaupnp/entity/IControlPoint.java | 26 + .../dkplayer/dlnaupnp/entity/IDevice.java | 12 + .../dkplayer/dlnaupnp/entity/IResponse.java | 14 + .../listener/BrowseRegistryListener.java | 91 ++ .../listener/DeviceListChangedListener.java | 24 + .../dlnaupnp/service/ClingUpnpService.java | 60 + .../dlnaupnp/service/SystemService.java | 108 ++ .../AVTransportSubscriptionCallback.java | 101 ++ .../callback/BaseSubscriptionCallback.java | 47 + .../RenderingControlSubscriptionCallback.java | 70 ++ .../service/manager/ClingManager.java | 153 +++ .../service/manager/DeviceManager.java | 93 ++ .../service/manager/IClingManager.java | 22 + .../service/manager/IDLNAManager.java | 72 ++ .../service/manager/IDeviceManager.java | 47 + .../service/manager/IUpnpServiceManager.java | 52 + .../upnp/AndroidJettyServletContainer.java | 193 +++ .../dkplayer/dlnaupnp/util/ClingUtils.java | 65 + .../dkplayer/dlnaupnp/util/ListUtils.java | 17 + .../dueeeke/dkplayer/dlnaupnp/util/Utils.java | 59 + .../res/drawable-hdpi/dlna_icon_close.png | Bin 0 -> 1082 bytes .../res/drawable-hdpi/dlna_icon_progress.png | Bin 0 -> 706 bytes .../res/drawable-hdpi/dlna_icon_selected.png | Bin 0 -> 346 bytes .../main/res/drawable-hdpi/dlna_icon_wifi.png | Bin 0 -> 440 bytes .../main/res/drawable/anim_loading_rotate.xml | 7 + app/src/main/res/drawable/shape_ad_bg.xml | 9 + .../shape_float_window_background.xml | 6 + app/src/main/res/layout/activity_demo.xml | 9 + app/src/main/res/layout/activity_main.xml | 14 + app/src/main/res/layout/dlna_devices_item.xml | 55 + .../res/layout/layout_dlna_devices_pop.xml | 132 ++ app/src/main/res/menu/main_menu.xml | 10 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4015 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 2090 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4015 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2431 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 1237 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2431 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5737 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 2969 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 5737 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 9178 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 5182 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 9178 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 13320 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 7773 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 13320 bytes app/src/main/res/raw/bili.xml | 137 +++ app/src/main/res/raw/movie | Bin 0 -> 513062 bytes app/src/main/res/values-en/strings.xml | 40 + app/src/main/res/values/colors.xml | 12 + app/src/main/res/values/dimens.xml | 28 + .../res/values/ic_launcher_background.xml | 4 + app/src/main/res/values/ids.xml | 4 + app/src/main/res/values/strings.xml | 7 + app/src/main/res/values/styles.xml | 12 + build.gradle | 43 + clinglibrary/.gitignore | 1 + clinglibrary/build.gradle | 31 + clinglibrary/proguard-rules.pro | 25 + .../clinglibrary/ExampleInstrumentedTest.java | 26 + clinglibrary/src/main/AndroidManifest.xml | 13 + .../DefaultUpnpServiceConfiguration.java | 374 ++++++ .../main/java/org/fourthline/cling/Main.java | 106 ++ .../fourthline/cling/ManagedUpnpService.java | 237 ++++ .../ManagedUpnpServiceConfiguration.java | 260 ++++ .../org/fourthline/cling/UpnpService.java | 65 + .../cling/UpnpServiceConfiguration.java | 256 ++++ .../org/fourthline/cling/UpnpServiceImpl.java | 177 +++ .../android/AndroidNetworkAddressFactory.java | 113 ++ .../cling/android/AndroidRouter.java | 320 +++++ .../cling/android/AndroidUpnpService.java | 94 ++ .../AndroidUpnpServiceConfiguration.java | 143 +++ .../cling/android/AndroidUpnpServiceImpl.java | 122 ++ .../cling/android/FixedAndroidLogHandler.java | 145 +++ .../cling/android/NetworkUtils.java | 80 ++ .../cling/binding/AllowedValueProvider.java | 25 + .../binding/AllowedValueRangeProvider.java | 27 + .../cling/binding/LocalServiceBinder.java | 50 + .../binding/LocalServiceBindingException.java | 32 + .../annotations/AnnotationActionBinder.java | 338 +++++ .../AnnotationLocalServiceBinder.java | 293 +++++ .../AnnotationStateVariableBinder.java | 316 +++++ .../cling/binding/annotations/UpnpAction.java | 30 + .../annotations/UpnpInputArgument.java | 31 + .../annotations/UpnpOutputArgument.java | 32 + .../binding/annotations/UpnpService.java | 35 + .../binding/annotations/UpnpServiceId.java | 31 + .../binding/annotations/UpnpServiceType.java | 32 + .../annotations/UpnpStateVariable.java | 50 + .../annotations/UpnpStateVariables.java | 33 + .../cling/binding/staging/MutableAction.java | 45 + .../staging/MutableActionArgument.java | 34 + .../staging/MutableAllowedValueRange.java | 29 + .../cling/binding/staging/MutableDevice.java | 120 ++ .../cling/binding/staging/MutableIcon.java | 36 + .../cling/binding/staging/MutableService.java | 71 ++ .../binding/staging/MutableStateVariable.java | 58 + .../binding/staging/MutableUDAVersion.java | 24 + .../cling/binding/xml/Descriptor.java | 105 ++ .../xml/DescriptorBindingException.java | 33 + .../binding/xml/DeviceDescriptorBinder.java | 41 + ...veringUDA10DeviceDescriptorBinderImpl.java | 249 ++++ .../binding/xml/ServiceDescriptorBinder.java | 38 + .../xml/UDA10DeviceDescriptorBinderImpl.java | 626 ++++++++++ .../UDA10DeviceDescriptorBinderSAXImpl.java | 470 +++++++ .../xml/UDA10ServiceDescriptorBinderImpl.java | 504 ++++++++ .../UDA10ServiceDescriptorBinderSAXImpl.java | 448 +++++++ .../cling/controlpoint/ActionCallback.java | 202 +++ .../cling/controlpoint/ControlPoint.java | 43 + .../cling/controlpoint/ControlPointImpl.java | 115 ++ .../controlpoint/SubscriptionCallback.java | 374 ++++++ .../controlpoint/event/ExecuteAction.java | 34 + .../cling/controlpoint/event/Search.java | 53 + .../cling/mock/MockProtocolFactory.java | 101 ++ .../org/fourthline/cling/mock/MockRouter.java | 173 +++ .../cling/mock/MockUpnpService.java | 173 +++ .../mock/MockUpnpServiceConfiguration.java | 135 ++ .../org/fourthline/cling/model/Command.java | 26 + .../org/fourthline/cling/model/Constants.java | 69 ++ .../cling/model/DefaultServiceManager.java | 268 ++++ .../cling/model/DiscoveryOptions.java | 70 ++ .../cling/model/ExpirationDetails.java | 84 ++ .../org/fourthline/cling/model/Location.java | 89 ++ .../org/fourthline/cling/model/ModelUtil.java | 250 ++++ .../org/fourthline/cling/model/Namespace.java | 221 ++++ .../cling/model/NetworkAddress.java | 75 ++ .../cling/model/ServerClientTokens.java | 169 +++ .../cling/model/ServiceManager.java | 136 +++ .../cling/model/ServiceReference.java | 92 ++ .../cling/model/UnsupportedDataException.java | 51 + .../fourthline/cling/model/UserConstants.java | 31 + .../fourthline/cling/model/Validatable.java | 31 + .../cling/model/ValidationError.java | 58 + .../cling/model/ValidationException.java | 46 + .../fourthline/cling/model/VariableValue.java | 111 ++ .../org/fourthline/cling/model/XMLUtil.java | 220 ++++ .../model/action/AbstractActionExecutor.java | 178 +++ .../model/action/ActionArgumentValue.java | 41 + .../action/ActionCancelledException.java | 27 + .../cling/model/action/ActionException.java | 58 + .../cling/model/action/ActionExecutor.java | 28 + .../cling/model/action/ActionInvocation.java | 194 +++ .../model/action/MethodActionExecutor.java | 191 +++ .../action/QueryStateVariableExecutor.java | 81 ++ .../model/action/RemoteActionInvocation.java | 54 + .../cling/model/gena/CancelReason.java | 29 + .../cling/model/gena/GENASubscription.java | 96 ++ .../model/gena/LocalGENASubscription.java | 251 ++++ .../model/gena/RemoteGENASubscription.java | 129 ++ .../cling/model/message/Connection.java | 33 + .../message/IncomingDatagramMessage.java | 69 ++ .../message/OutgoingDatagramMessage.java | 56 + .../model/message/StreamRequestMessage.java | 88 ++ .../model/message/StreamResponseMessage.java | 78 ++ .../cling/model/message/UpnpHeaders.java | 197 +++ .../cling/model/message/UpnpMessage.java | 217 ++++ .../cling/model/message/UpnpOperation.java | 34 + .../cling/model/message/UpnpRequest.java | 108 ++ .../cling/model/message/UpnpResponse.java | 100 ++ .../model/message/control/ActionMessage.java | 31 + .../message/control/ActionRequestMessage.java | 23 + .../control/ActionResponseMessage.java | 22 + .../control/IncomingActionRequestMessage.java | 69 ++ .../IncomingActionResponseMessage.java | 50 + .../control/OutgoingActionRequestMessage.java | 112 ++ .../OutgoingActionResponseMessage.java | 77 ++ .../IncomingNotificationRequest.java | 100 ++ .../discovery/IncomingSearchRequest.java | 55 + .../discovery/IncomingSearchResponse.java | 92 ++ .../OutgoingNotificationRequest.java | 60 + ...OutgoingNotificationRequestDeviceType.java | 37 + ...OutgoingNotificationRequestRootDevice.java | 47 + ...utgoingNotificationRequestServiceType.java | 42 + .../OutgoingNotificationRequestUDN.java | 36 + .../discovery/OutgoingSearchRequest.java | 53 + .../discovery/OutgoingSearchResponse.java | 56 + .../OutgoingSearchResponseDeviceType.java | 39 + .../OutgoingSearchResponseRootDevice.java | 38 + .../OutgoingSearchResponseServiceType.java | 41 + .../discovery/OutgoingSearchResponseUDN.java | 37 + .../gena/IncomingEventRequestMessage.java | 90 ++ .../gena/IncomingSubscribeRequestMessage.java | 63 + .../IncomingSubscribeResponseMessage.java | 47 + .../IncomingUnsubscribeRequestMessage.java | 53 + .../gena/OutgoingEventRequestMessage.java | 66 + .../gena/OutgoingEventResponseMessage.java | 37 + .../gena/OutgoingRenewalRequestMessage.java | 50 + .../gena/OutgoingSubscribeRequestMessage.java | 66 + .../OutgoingSubscribeResponseMessage.java | 43 + .../OutgoingUnsubscribeRequestMessage.java | 44 + .../message/header/AVClientInfoHeader.java | 41 + .../model/message/header/CallbackHeader.java | 103 ++ .../message/header/ContentRangeHeader.java | 52 + .../message/header/ContentTypeHeader.java | 56 + .../message/header/DeviceTypeHeader.java | 49 + .../model/message/header/DeviceUSNHeader.java | 50 + .../cling/model/message/header/EXTHeader.java | 39 + .../message/header/EventSequenceHeader.java | 52 + .../model/message/header/HostHeader.java | 61 + .../message/header/InterfaceMacHeader.java | 54 + .../header/InvalidHeaderException.java | 29 + .../model/message/header/LocationHeader.java | 53 + .../cling/model/message/header/MANHeader.java | 78 ++ .../cling/model/message/header/MXHeader.java | 57 + .../model/message/header/MaxAgeHeader.java | 54 + .../model/message/header/NTEventHeader.java | 39 + .../cling/model/message/header/NTSHeader.java | 48 + .../model/message/header/PragmaHeader.java | 50 + .../model/message/header/RangeHeader.java | 50 + .../message/header/RootDeviceHeader.java | 39 + .../model/message/header/STAllHeader.java | 39 + .../model/message/header/ServerHeader.java | 125 ++ .../message/header/ServiceTypeHeader.java | 49 + .../message/header/ServiceUSNHeader.java | 50 + .../message/header/SoapActionHeader.java | 58 + .../message/header/SubscriptionIdHeader.java | 42 + .../model/message/header/TimeoutHeader.java | 66 + .../message/header/UDADeviceTypeHeader.java | 48 + .../message/header/UDAServiceTypeHeader.java | 47 + .../cling/model/message/header/UDNHeader.java | 49 + .../message/header/USNRootDeviceHeader.java | 50 + .../model/message/header/UpnpHeader.java | 193 +++ .../model/message/header/UserAgentHeader.java | 42 + .../fourthline/cling/model/meta/Action.java | 214 ++++ .../cling/model/meta/ActionArgument.java | 164 +++ .../fourthline/cling/model/meta/Device.java | 452 +++++++ .../cling/model/meta/DeviceDetails.java | 218 ++++ .../cling/model/meta/DeviceIdentity.java | 95 ++ .../org/fourthline/cling/model/meta/Icon.java | 221 ++++ .../cling/model/meta/LocalDevice.java | 317 +++++ .../cling/model/meta/LocalService.java | 133 ++ .../cling/model/meta/ManufacturerDetails.java | 58 + .../cling/model/meta/ModelDetails.java | 79 ++ .../model/meta/QueryStateVariableAction.java | 63 + .../cling/model/meta/RemoteDevice.java | 212 ++++ .../model/meta/RemoteDeviceIdentity.java | 110 ++ .../cling/model/meta/RemoteService.java | 114 ++ .../fourthline/cling/model/meta/Service.java | 208 ++++ .../cling/model/meta/StateVariable.java | 129 ++ .../meta/StateVariableAllowedValueRange.java | 81 ++ .../model/meta/StateVariableEventDetails.java | 55 + .../model/meta/StateVariableTypeDetails.java | 136 +++ .../cling/model/meta/UDAVersion.java | 73 ++ .../cling/model/profile/ClientInfo.java | 55 + .../model/profile/DeviceDetailsProvider.java | 41 + .../profile/HeaderDeviceDetailsProvider.java | 101 ++ .../cling/model/profile/RemoteClientInfo.java | 131 ++ .../resource/DeviceDescriptorResource.java | 30 + .../cling/model/resource/IconResource.java | 30 + .../cling/model/resource/Resource.java | 115 ++ .../resource/ServiceControlResource.java | 30 + .../resource/ServiceDescriptorResource.java | 30 + .../ServiceEventCallbackResource.java | 30 + .../ServiceEventSubscriptionResource.java | 30 + .../state/FieldStateVariableAccessor.java | 53 + .../state/GetterStateVariableAccessor.java | 54 + .../model/state/StateVariableAccessor.java | 59 + .../cling/model/state/StateVariableValue.java | 41 + .../cling/model/types/AbstractDatatype.java | 76 ++ .../cling/model/types/Base64Datatype.java | 51 + .../cling/model/types/BinHexDatatype.java | 51 + .../cling/model/types/BooleanDatatype.java | 49 + .../cling/model/types/BytesRange.java | 127 ++ .../cling/model/types/CharacterDatatype.java | 36 + .../cling/model/types/CustomDatatype.java | 42 + .../cling/model/types/DLNACaps.java | 70 ++ .../fourthline/cling/model/types/DLNADoc.java | 105 ++ .../cling/model/types/Datatype.java | 233 ++++ .../cling/model/types/DateTimeDatatype.java | 99 ++ .../cling/model/types/DeviceType.java | 170 +++ .../cling/model/types/DoubleDatatype.java | 40 + .../cling/model/types/ErrorCode.java | 67 + .../cling/model/types/FloatDatatype.java | 40 + .../cling/model/types/HostPort.java | 76 ++ .../cling/model/types/IntegerDatatype.java | 89 ++ .../model/types/InvalidValueException.java | 32 + .../cling/model/types/NamedDeviceType.java | 83 ++ .../cling/model/types/NamedServiceType.java | 83 ++ .../model/types/NotificationSubtype.java | 41 + .../cling/model/types/PragmaType.java | 92 ++ .../cling/model/types/ServiceId.java | 132 ++ .../cling/model/types/ServiceType.java | 192 +++ .../cling/model/types/ShortDatatype.java | 42 + .../cling/model/types/SoapActionType.java | 138 +++ .../cling/model/types/StringDatatype.java | 31 + .../cling/model/types/UDADeviceType.java | 58 + .../cling/model/types/UDAServiceId.java | 80 ++ .../cling/model/types/UDAServiceType.java | 57 + .../org/fourthline/cling/model/types/UDN.java | 148 +++ .../cling/model/types/URIDatatype.java | 38 + .../model/types/UnsignedIntegerFourBytes.java | 35 + .../UnsignedIntegerFourBytesDatatype.java | 32 + .../model/types/UnsignedIntegerOneByte.java | 35 + .../types/UnsignedIntegerOneByteDatatype.java | 32 + .../model/types/UnsignedIntegerTwoBytes.java | 35 + .../UnsignedIntegerTwoBytesDatatype.java | 32 + .../model/types/UnsignedVariableInteger.java | 118 ++ .../fourthline/cling/model/types/csv/CSV.java | 81 ++ .../cling/model/types/csv/CSVBoolean.java | 31 + .../cling/model/types/csv/CSVBytes.java | 31 + .../cling/model/types/csv/CSVCharacter.java | 31 + .../cling/model/types/csv/CSVDate.java | 33 + .../cling/model/types/csv/CSVDouble.java | 31 + .../cling/model/types/csv/CSVFloat.java | 31 + .../cling/model/types/csv/CSVInteger.java | 31 + .../cling/model/types/csv/CSVShort.java | 31 + .../cling/model/types/csv/CSVString.java | 31 + .../cling/model/types/csv/CSVURI.java | 33 + .../csv/CSVUnsignedIntegerFourBytes.java | 32 + .../types/csv/CSVUnsignedIntegerOneByte.java | 32 + .../types/csv/CSVUnsignedIntegerTwoBytes.java | 32 + .../protocol/ProtocolCreationException.java | 32 + .../cling/protocol/ProtocolFactory.java | 119 ++ .../cling/protocol/ProtocolFactoryImpl.java | 263 ++++ .../cling/protocol/ReceivingAsync.java | 108 ++ .../cling/protocol/ReceivingSync.java | 102 ++ .../protocol/RetrieveRemoteDescriptors.java | 375 ++++++ .../cling/protocol/SendingAsync.java | 74 ++ .../cling/protocol/SendingSync.java | 64 + .../protocol/async/ReceivingNotification.java | 142 +++ .../cling/protocol/async/ReceivingSearch.java | 363 ++++++ .../async/ReceivingSearchResponse.java | 101 ++ .../protocol/async/SendingNotification.java | 182 +++ .../async/SendingNotificationAlive.java | 48 + .../async/SendingNotificationByebye.java | 57 + .../cling/protocol/async/SendingSearch.java | 118 ++ .../cling/protocol/sync/ReceivingAction.java | 161 +++ .../cling/protocol/sync/ReceivingEvent.java | 142 +++ .../protocol/sync/ReceivingRetrieval.java | 154 +++ .../protocol/sync/ReceivingSubscribe.java | 211 ++++ .../protocol/sync/ReceivingUnsubscribe.java | 85 ++ .../cling/protocol/sync/SendingAction.java | 189 +++ .../cling/protocol/sync/SendingEvent.java | 97 ++ .../cling/protocol/sync/SendingRenewal.java | 115 ++ .../cling/protocol/sync/SendingSubscribe.java | 158 +++ .../protocol/sync/SendingUnsubscribe.java | 90 ++ .../registry/DefaultRegistryListener.java | 101 ++ .../fourthline/cling/registry/LocalItems.java | 312 +++++ .../cling/registry/RegistrationException.java | 47 + .../fourthline/cling/registry/Registry.java | 452 +++++++ .../cling/registry/RegistryImpl.java | 539 ++++++++ .../cling/registry/RegistryItem.java | 70 ++ .../cling/registry/RegistryItems.java | 178 +++ .../cling/registry/RegistryListener.java | 143 +++ .../cling/registry/RegistryMaintainer.java | 63 + .../cling/registry/RemoteItems.java | 320 +++++ .../cling/registry/event/After.java | 33 + .../cling/registry/event/Before.java | 33 + .../cling/registry/event/DeviceDiscovery.java | 36 + .../event/FailedRemoteDeviceDiscovery.java | 35 + .../registry/event/LocalDeviceDiscovery.java | 28 + .../cling/registry/event/Phase.java | 74 ++ .../registry/event/RegistryShutdown.java | 22 + .../registry/event/RemoteDeviceDiscovery.java | 28 + .../avtransport/AVTransportErrorCode.java | 65 + .../avtransport/AVTransportException.java | 49 + .../AbstractAVTransportService.java | 383 ++++++ .../callback/GetCurrentTransportActions.java | 49 + .../callback/GetDeviceCapabilities.java | 50 + .../avtransport/callback/GetMediaInfo.java | 50 + .../avtransport/callback/GetPositionInfo.java | 50 + .../callback/GetTransportInfo.java | 50 + .../support/avtransport/callback/Next.java | 55 + .../support/avtransport/callback/Pause.java | 55 + .../support/avtransport/callback/Play.java | 55 + .../avtransport/callback/Previous.java | 55 + .../support/avtransport/callback/Seek.java | 57 + .../callback/SetAVTransportURI.java | 56 + .../avtransport/callback/SetPlayMode.java | 47 + .../support/avtransport/callback/Stop.java | 46 + .../avtransport/impl/AVTransportService.java | 318 +++++ .../impl/AVTransportStateMachine.java | 36 + .../avtransport/impl/state/AbstractState.java | 38 + .../impl/state/NoMediaPresent.java | 61 + .../avtransport/impl/state/PausedPlay.java | 66 + .../avtransport/impl/state/Playing.java | 73 ++ .../avtransport/impl/state/Stopped.java | 71 ++ .../AVTransportLastChangeParser.java | 55 + .../lastchange/AVTransportVariable.java | 386 ++++++ ...stractPeeringConnectionManagerService.java | 246 ++++ .../ConnectionManagerErrorCode.java | 55 + .../ConnectionManagerException.java | 50 + .../ConnectionManagerService.java | 162 +++ .../callback/ConnectionComplete.java | 37 + .../callback/GetCurrentConnectionInfo.java | 70 ++ .../callback/GetProtocolInfo.java | 62 + .../callback/PrepareForConnection.java | 61 + .../AbstractContentDirectoryService.java | 290 +++++ .../ContentDirectoryErrorCode.java | 51 + .../ContentDirectoryException.java | 51 + .../support/contentdirectory/DIDLParser.java | 1082 +++++++++++++++++ .../contentdirectory/callback/Browse.java | 149 +++ .../callback/GetSystemUpdateID.java | 48 + .../contentdirectory/callback/Search.java | 137 +++ .../ui/ContentBrowseActionCallback.java | 166 +++ .../ContentBrowseActionCallbackCreator.java | 34 + .../contentdirectory/ui/ContentTree.java | 127 ++ .../ui/ContentTreeCellRenderer.java | 88 ++ .../ui/ContentTreeExpandListener.java | 67 + .../support/igd/PortMappingListener.java | 194 +++ .../support/igd/callback/GetExternalIP.java | 37 + .../support/igd/callback/GetStatusInfo.java | 60 + .../support/igd/callback/PortMappingAdd.java | 53 + .../igd/callback/PortMappingDelete.java | 47 + .../igd/callback/PortMappingEntryGet.java | 33 + .../cling/support/lastchange/Event.java | 94 ++ .../support/lastchange/EventedValue.java | 72 ++ .../support/lastchange/EventedValueEnum.java | 52 + .../lastchange/EventedValueEnumArray.java | 53 + .../support/lastchange/EventedValueShort.java | 39 + .../lastchange/EventedValueString.java | 40 + .../support/lastchange/EventedValueURI.java | 57 + .../EventedValueUnsignedIntegerFourBytes.java | 40 + .../EventedValueUnsignedIntegerTwoBytes.java | 40 + .../cling/support/lastchange/InstanceID.java | 47 + .../cling/support/lastchange/LastChange.java | 127 ++ .../LastChangeAwareServiceManager.java | 107 ++ .../lastchange/LastChangeDelegator.java | 40 + .../support/lastchange/LastChangeParser.java | 236 ++++ .../cling/support/messagebox/AddMessage.java | 39 + .../support/messagebox/RemoveMessage.java | 39 + .../support/messagebox/model/DateTime.java | 63 + .../messagebox/model/ElementAppender.java | 27 + .../support/messagebox/model/Message.java | 125 ++ .../messagebox/model/MessageIncomingCall.java | 62 + .../support/messagebox/model/MessageSMS.java | 71 ++ .../model/MessageScheduleReminder.java | 81 ++ .../support/messagebox/model/NumberName.java | 45 + .../support/messagebox/parser/MessageDOM.java | 54 + .../messagebox/parser/MessageDOMParser.java | 51 + .../messagebox/parser/MessageElement.java | 64 + .../cling/support/model/AVTransport.java | 98 ++ .../cling/support/model/BrowseFlag.java | 46 + .../cling/support/model/BrowseResult.java | 82 ++ .../cling/support/model/Channel.java | 35 + .../cling/support/model/Connection.java | 152 +++ .../cling/support/model/ConnectionInfo.java | 173 +++ .../cling/support/model/DIDLAttribute.java | 55 + .../cling/support/model/DIDLContent.java | 221 ++++ .../cling/support/model/DIDLObject.java | 898 ++++++++++++++ .../cling/support/model/DescMeta.java | 106 ++ .../support/model/DeviceCapabilities.java | 73 ++ .../cling/support/model/MediaInfo.java | 150 +++ .../cling/support/model/Person.java | 54 + .../cling/support/model/PersonWithRole.java | 46 + .../cling/support/model/PlayMode.java | 29 + .../cling/support/model/PortMapping.java | 188 +++ .../cling/support/model/PositionInfo.java | 168 +++ .../cling/support/model/PresetName.java | 23 + .../cling/support/model/Protocol.java | 56 + .../cling/support/model/ProtocolInfo.java | 112 ++ .../cling/support/model/ProtocolInfos.java | 45 + .../model/RecordMediumWriteStatus.java | 38 + .../support/model/RecordQualityMode.java | 69 ++ .../fourthline/cling/support/model/Res.java | 196 +++ .../cling/support/model/SearchResult.java | 82 ++ .../cling/support/model/SeekMode.java | 54 + .../cling/support/model/SortCriterion.java | 75 ++ .../cling/support/model/StorageMedium.java | 104 ++ .../cling/support/model/TransportAction.java | 50 + .../cling/support/model/TransportInfo.java | 73 ++ .../support/model/TransportSettings.java | 45 + .../cling/support/model/TransportState.java | 54 + .../cling/support/model/TransportStatus.java | 49 + .../cling/support/model/VolumeDBRange.java | 38 + .../cling/support/model/WriteStatus.java | 27 + .../cling/support/model/container/Album.java | 154 +++ .../support/model/container/Container.java | 162 +++ .../model/container/GenreContainer.java | 41 + .../support/model/container/MovieGenre.java | 42 + .../support/model/container/MusicAlbum.java | 160 +++ .../support/model/container/MusicArtist.java | 73 ++ .../support/model/container/MusicGenre.java | 42 + .../model/container/PersonContainer.java | 52 + .../support/model/container/PhotoAlbum.java | 78 ++ .../model/container/PlaylistContainer.java | 180 +++ .../model/container/StorageFolder.java | 57 + .../model/container/StorageSystem.java | 102 ++ .../model/container/StorageVolume.java | 91 ++ .../support/model/dlna/DLNAAttribute.java | 149 +++ .../model/dlna/DLNAConversionIndicator.java | 48 + .../DLNAConversionIndicatorAttribute.java | 45 + .../cling/support/model/dlna/DLNAFlags.java | 72 ++ .../model/dlna/DLNAFlagsAttribute.java | 67 + .../support/model/dlna/DLNAOperations.java | 53 + .../model/dlna/DLNAOperationsAttribute.java | 67 + .../model/dlna/DLNAPlaySpeedAttribute.java | 74 ++ .../model/dlna/DLNAProfileAttribute.java | 41 + .../support/model/dlna/DLNAProfiles.java | 417 +++++++ .../support/model/dlna/DLNAProtocolInfo.java | 117 ++ ...InvalidDLNAProtocolAttributeException.java | 29 + .../model/dlna/message/DLNAHeaders.java | 179 +++ .../message/header/AvailableRangeHeader.java | 43 + .../header/AvailableSeekRangeHeader.java | 97 ++ .../message/header/BufferBytesHeader.java | 43 + .../dlna/message/header/BufferInfoHeader.java | 43 + .../message/header/ContentFeaturesHeader.java | 58 + .../model/dlna/message/header/DLNAHeader.java | 150 +++ .../dlna/message/header/EventTypeHeader.java | 44 + .../message/header/FriendlyNameHeader.java | 45 + .../header/GetAvailableSeekRangeHeader.java | 44 + .../header/GetContentFeaturesHeader.java | 44 + .../dlna/message/header/MaxPrateHeader.java | 42 + .../message/header/PeerManagerHeader.java | 47 + .../dlna/message/header/PlaySpeedHeader.java | 49 + .../dlna/message/header/PragmaHeader.java | 60 + .../message/header/RealTimeInfoHeader.java | 49 + .../model/dlna/message/header/SCIDHeader.java | 41 + .../dlna/message/header/ScmsFlagHeader.java | 45 + .../dlna/message/header/SupportedHeader.java | 48 + .../message/header/TimeSeekRangeHeader.java | 62 + .../message/header/TransferModeHeader.java | 53 + .../model/dlna/message/header/WCTHeader.java | 44 + .../dlna/types/AvailableSeekRangeType.java | 73 ++ .../model/dlna/types/BufferInfoType.java | 113 ++ .../model/dlna/types/CodedDataBuffer.java | 50 + .../model/dlna/types/NormalPlayTime.java | 125 ++ .../model/dlna/types/NormalPlayTimeRange.java | 122 ++ .../model/dlna/types/ScmsFlagType.java | 49 + .../model/dlna/types/TimeSeekRangeType.java | 60 + .../cling/support/model/item/AudioBook.java | 114 ++ .../support/model/item/AudioBroadcast.java | 86 ++ .../cling/support/model/item/AudioItem.java | 150 +++ .../cling/support/model/item/ImageItem.java | 133 ++ .../cling/support/model/item/Item.java | 74 ++ .../cling/support/model/item/Movie.java | 111 ++ .../cling/support/model/item/MusicTrack.java | 152 +++ .../support/model/item/MusicVideoClip.java | 149 +++ .../cling/support/model/item/Photo.java | 59 + .../support/model/item/PlaylistItem.java | 134 ++ .../cling/support/model/item/TextItem.java | 196 +++ .../support/model/item/VideoBroadcast.java | 75 ++ .../cling/support/model/item/VideoItem.java | 194 +++ .../AbstractAudioRenderingControl.java | 226 ++++ .../RenderingControlErrorCode.java | 50 + .../RenderingControlException.java | 49 + .../renderingcontrol/callback/GetMute.java | 49 + .../renderingcontrol/callback/GetVolume.java | 63 + .../renderingcontrol/callback/SetMute.java | 50 + .../renderingcontrol/callback/SetVolume.java | 51 + .../lastchange/ChannelLoudness.java | 45 + .../lastchange/ChannelMute.java | 45 + .../lastchange/ChannelVolume.java | 45 + .../lastchange/ChannelVolumeDB.java | 45 + .../EventedValueChannelLoudness.java | 76 ++ .../lastchange/EventedValueChannelMute.java | 76 ++ .../lastchange/EventedValueChannelVolume.java | 81 ++ .../EventedValueChannelVolumeDB.java | 81 ++ .../RenderingControlLastChangeParser.java | 55 + .../lastchange/RenderingControlVariable.java | 222 ++++ .../support/shared/AWTExceptionHandler.java | 30 + .../cling/support/shared/AbstractMap.java | 506 ++++++++ .../cling/support/shared/CenterWindow.java | 34 + .../support/shared/CoreLogCategories.java | 163 +++ .../fourthline/cling/support/shared/Main.java | 170 +++ .../cling/support/shared/MainController.java | 147 +++ .../support/shared/NewPlatformApple.java | 81 ++ .../cling/support/shared/PlatformApple.java | 85 ++ .../cling/support/shared/ShutdownHandler.java | 24 + .../cling/support/shared/TextExpand.java | 32 + .../support/shared/TextExpandDialog.java | 75 ++ .../cling/support/shared/TextExpandEvent.java | 26 + .../fourthline/cling/support/shared/View.java | 29 + .../cling/support/shared/log/LogView.java | 44 + .../support/shared/log/impl/LogPresenter.java | 67 + .../support/shared/log/impl/LogViewImpl.java | 319 +++++ ...AbstractMediaReceiverRegistrarService.java | 140 +++ .../cling/transport/DisableRouter.java | 22 + .../cling/transport/EnableRouter.java | 22 + .../fourthline/cling/transport/Router.java | 161 +++ .../cling/transport/RouterException.java | 47 + .../cling/transport/RouterImpl.java | 525 ++++++++ ...cServletStreamServerConfigurationImpl.java | 89 ++ .../impl/AsyncServletStreamServerImpl.java | 203 ++++ .../impl/AsyncServletUpnpStream.java | 260 ++++ .../impl/DatagramIOConfigurationImpl.java | 56 + .../cling/transport/impl/DatagramIOImpl.java | 168 +++ .../transport/impl/DatagramProcessorImpl.java | 163 +++ .../impl/FixedSunURLStreamHandler.java | 108 ++ .../impl/GENAEventProcessorImpl.java | 220 ++++ .../impl/HttpExchangeUpnpStream.java | 185 +++ .../MulticastReceiverConfigurationImpl.java | 82 ++ .../transport/impl/MulticastReceiverImpl.java | 153 +++ .../impl/NetworkAddressFactoryImpl.java | 513 ++++++++ .../impl/PullGENAEventProcessorImpl.java | 96 ++ .../impl/PullSOAPActionProcessorImpl.java | 221 ++++ .../RecoveringGENAEventProcessorImpl.java | 131 ++ .../RecoveringSOAPActionProcessorImpl.java | 135 ++ .../impl/SOAPActionProcessorImpl.java | 632 ++++++++++ .../impl/StreamClientConfigurationImpl.java | 50 + .../transport/impl/StreamClientImpl.java | 300 +++++ .../impl/StreamServerConfigurationImpl.java | 60 + .../transport/impl/StreamServerImpl.java | 154 +++ .../impl/jetty/JettyServletContainer.java | 198 +++ .../jetty/StreamClientConfigurationImpl.java | 44 + .../impl/jetty/StreamClientImpl.java | 333 +++++ .../transport/spi/AbstractStreamClient.java | 131 ++ .../AbstractStreamClientConfiguration.java | 81 ++ .../cling/transport/spi/DatagramIO.java | 90 ++ .../spi/DatagramIOConfiguration.java | 35 + .../transport/spi/DatagramProcessor.java | 65 + .../transport/spi/GENAEventProcessor.java | 45 + .../spi/InitializationException.java | 37 + .../transport/spi/MulticastReceiver.java | 70 ++ .../spi/MulticastReceiverConfiguration.java | 42 + .../transport/spi/NetworkAddressFactory.java | 114 ++ .../transport/spi/NoNetworkException.java | 29 + .../transport/spi/SOAPActionProcessor.java | 72 ++ .../spi/ServletContainerAdapter.java | 91 ++ .../cling/transport/spi/StreamClient.java | 82 ++ .../spi/StreamClientConfiguration.java | 55 + .../cling/transport/spi/StreamServer.java | 102 ++ .../spi/StreamServerConfiguration.java | 30 + .../cling/transport/spi/UpnpStream.java | 120 ++ clinglibrary/src/main/res/values/strings.xml | 3 + .../zane/clinglibrary/ExampleUnitTest.java | 17 + devlin.jks | Bin 0 -> 2071 bytes dkplayer-java/build.gradle | 22 + dkplayer-java/proguard-rules.pro | 25 + dkplayer-java/src/main/AndroidManifest.xml | 11 + .../videoplayer/bean/M3u8PlayList.java | 71 ++ .../dueeeke/videoplayer/bean/VideoModel.java | 52 + .../controller/BaseVideoController.java | 232 ++++ .../controller/DLNAControllerInterface.java | 8 + .../controller/DanmuControlInterface.java | 9 + .../controller/GestureVideoController.java | 205 ++++ .../MediaPlayerControlInterface.java | 60 + .../controller/StandardVideoController.java | 575 +++++++++ .../danmaku/AcFunDanmakuParser.java | 91 ++ .../danmaku/BaseDanmakuConverter.java | 40 + .../videoplayer/danmaku/BaseDanmakuData.java | 67 + .../danmaku/BiliDanmukuParser.java | 275 +++++ .../videoplayer/danmaku/DanmakuType.java | 22 + .../danmaku/OnDanmakuListener.java | 20 + .../interf/ControllerListener.java | 10 + ...DefinitionMediaPlayerControlInterface.java | 15 + .../ListMediaPlayerControlInterface.java | 12 + .../OnVideoViewStateChangeListener.java | 6 + .../listener/PlayerEventListener.java | 19 + .../videoplayer/player/AbstractPlayer.java | 138 +++ .../videoplayer/player/BaseIjkVideoView.java | 669 ++++++++++ .../dueeeke/videoplayer/player/IjkPlayer.java | 242 ++++ .../videoplayer/player/IjkVideoView.java | 456 +++++++ .../videoplayer/player/PlayerConfig.java | 111 ++ .../player/RawDataSourceProvider.java | 89 ++ .../videoplayer/player/VideoViewManager.java | 48 + .../videoplayer/receive/BatteryReceiver.java | 26 + .../dueeeke/videoplayer/util/AnimHelper.java | 77 ++ .../dueeeke/videoplayer/util/Constants.java | 9 + .../dueeeke/videoplayer/util/HttpUtils.java | 14 + .../java/com/dueeeke/videoplayer/util/L.java | 38 + .../videoplayer/util/MemoryLeakUtil.java | 74 ++ .../dueeeke/videoplayer/util/NavUtils.java | 62 + .../dueeeke/videoplayer/util/PlayerUtils.java | 243 ++++ .../videoplayer/util/ProgressUtil.java | 38 + .../videoplayer/util/SoftInputUtils.java | 63 + .../dueeeke/videoplayer/util/StorageUtil.java | 123 ++ .../com/dueeeke/videoplayer/util/Utils.java | 16 + .../videoplayer/util/VideoCacheManager.java | 56 + .../videoplayer/widget/CacheIjkVideoView.java | 95 ++ .../videoplayer/widget/CenterView.java | 65 + .../videoplayer/widget/DanmukuVideoView.java | 284 +++++ .../widget/DefinitionIjkVideoView.java | 65 + .../videoplayer/widget/ListIjkVideoView.java | 266 ++++ .../videoplayer/widget/MarqueeTextView.java | 26 + .../videoplayer/widget/ResizeSurfaceView.java | 148 +++ .../videoplayer/widget/ResizeTextureView.java | 149 +++ .../videoplayer/widget/StatusView.java | 76 ++ .../widget/controller/AdController.java | 144 +++ .../widget/controller/DanmakuController.java | 320 +++++ .../controller/DefinitionController.java | 149 +++ .../main/jniLibs/armeabi-v7a/libijkffmpeg.so | Bin 0 -> 4555032 bytes .../main/jniLibs/armeabi-v7a/libijkplayer.so | Bin 0 -> 260968 bytes .../src/main/jniLibs/armeabi-v7a/libijksdl.so | Bin 0 -> 218836 bytes .../src/main/jniLibs/x86/libijkffmpeg.so | Bin 0 -> 6468380 bytes .../src/main/jniLibs/x86/libijkplayer.so | Bin 0 -> 396432 bytes .../src/main/jniLibs/x86/libijksdl.so | Bin 0 -> 625480 bytes .../src/main/res/anim/anim_alpha_in.xml | 6 + .../src/main/res/anim/anim_alpha_out.xml | 6 + .../main/res/anim/anim_float_window_enter.xml | 11 + .../main/res/anim/anim_float_window_exit.xml | 11 + .../main/res/anim/anim_slide_bottom_in.xml | 9 + .../main/res/anim/anim_slide_bottom_out.xml | 9 + .../src/main/res/anim/anim_slide_top_in.xml | 9 + .../src/main/res/anim/anim_slide_top_out.xml | 9 + .../main/res/anim/dkplayer_anim_alpha_in.xml | 6 + .../main/res/anim/dkplayer_anim_alpha_out.xml | 6 + .../res/anim/dkplayer_anim_center_view.xml | 6 + .../dkplayer_ic_action_arrow_back.png | Bin 0 -> 472 bytes .../dkplayer_ic_action_autorenew.png | Bin 0 -> 937 bytes .../dkplayer_ic_action_battery.png | Bin 0 -> 282 bytes .../dkplayer_ic_action_battery_10.png | Bin 0 -> 329 bytes .../dkplayer_ic_action_battery_20.png | Bin 0 -> 339 bytes .../dkplayer_ic_action_battery_30.png | Bin 0 -> 342 bytes .../dkplayer_ic_action_battery_40.png | Bin 0 -> 329 bytes .../dkplayer_ic_action_battery_50.png | Bin 0 -> 318 bytes .../dkplayer_ic_action_battery_60.png | Bin 0 -> 307 bytes .../dkplayer_ic_action_battery_70.png | Bin 0 -> 323 bytes .../dkplayer_ic_action_battery_80.png | Bin 0 -> 310 bytes .../dkplayer_ic_action_battery_90.png | Bin 0 -> 319 bytes .../dkplayer_ic_action_brightness.png | Bin 0 -> 717 bytes .../dkplayer_ic_action_close.png | Bin 0 -> 491 bytes .../dkplayer_ic_action_fast_forward.png | Bin 0 -> 556 bytes .../dkplayer_ic_action_fast_rewind.png | Bin 0 -> 557 bytes .../dkplayer_ic_action_fullscreen.png | Bin 0 -> 319 bytes .../dkplayer_ic_action_fullscreen_exit.png | Bin 0 -> 314 bytes .../dkplayer_ic_action_lock_open.png | Bin 0 -> 655 bytes .../dkplayer_ic_action_lock_outline.png | Bin 0 -> 673 bytes .../dkplayer_ic_action_pause.png | Bin 0 -> 237 bytes .../dkplayer_ic_action_play_arrow.png | Bin 0 -> 410 bytes .../dkplayer_ic_action_replay.png | Bin 0 -> 869 bytes .../dkplayer_ic_action_volume_off.png | Bin 0 -> 960 bytes .../dkplayer_ic_action_volume_up.png | Bin 0 -> 752 bytes .../res/drawable-hdpi/ic_cancel_danmaku.png | Bin 0 -> 221 bytes .../main/res/drawable-hdpi/ic_close_ad.png | Bin 0 -> 1082 bytes .../res/drawable-hdpi/ic_send_danmaku.png | Bin 0 -> 251 bytes .../dkplayer_ic_action_arrow_back.png | Bin 0 -> 247 bytes .../dkplayer_ic_action_autorenew.png | Bin 0 -> 529 bytes .../dkplayer_ic_action_battery.png | Bin 0 -> 250 bytes .../dkplayer_ic_action_battery_10.png | Bin 0 -> 268 bytes .../dkplayer_ic_action_battery_20.png | Bin 0 -> 304 bytes .../dkplayer_ic_action_battery_30.png | Bin 0 -> 271 bytes .../dkplayer_ic_action_battery_40.png | Bin 0 -> 307 bytes .../dkplayer_ic_action_battery_50.png | Bin 0 -> 298 bytes .../dkplayer_ic_action_battery_60.png | Bin 0 -> 270 bytes .../dkplayer_ic_action_battery_70.png | Bin 0 -> 299 bytes .../dkplayer_ic_action_battery_80.png | Bin 0 -> 273 bytes .../dkplayer_ic_action_battery_90.png | Bin 0 -> 305 bytes .../dkplayer_ic_action_brightness.png | Bin 0 -> 367 bytes .../dkplayer_ic_action_close.png | Bin 0 -> 249 bytes .../dkplayer_ic_action_fast_forward.png | Bin 0 -> 240 bytes .../dkplayer_ic_action_fast_rewind.png | Bin 0 -> 251 bytes .../dkplayer_ic_action_fullscreen.png | Bin 0 -> 190 bytes .../dkplayer_ic_action_fullscreen_exit.png | Bin 0 -> 195 bytes .../dkplayer_ic_action_lock_open.png | Bin 0 -> 364 bytes .../dkplayer_ic_action_lock_outline.png | Bin 0 -> 377 bytes .../dkplayer_ic_action_pause.png | Bin 0 -> 164 bytes .../dkplayer_ic_action_play_arrow.png | Bin 0 -> 231 bytes .../dkplayer_ic_action_replay.png | Bin 0 -> 492 bytes .../dkplayer_ic_action_volume_off.png | Bin 0 -> 521 bytes .../dkplayer_ic_action_volume_up.png | Bin 0 -> 352 bytes .../dkplayer_ic_action_arrow_back.png | Bin 0 -> 426 bytes .../dkplayer_ic_action_autorenew.png | Bin 0 -> 1062 bytes .../dkplayer_ic_action_battery.png | Bin 0 -> 428 bytes .../dkplayer_ic_action_battery_10.png | Bin 0 -> 467 bytes .../dkplayer_ic_action_battery_20.png | Bin 0 -> 505 bytes .../dkplayer_ic_action_battery_30.png | Bin 0 -> 467 bytes .../dkplayer_ic_action_battery_40.png | Bin 0 -> 507 bytes .../dkplayer_ic_action_battery_50.png | Bin 0 -> 492 bytes .../dkplayer_ic_action_battery_60.png | Bin 0 -> 464 bytes .../dkplayer_ic_action_battery_70.png | Bin 0 -> 500 bytes .../dkplayer_ic_action_battery_80.png | Bin 0 -> 461 bytes .../dkplayer_ic_action_battery_90.png | Bin 0 -> 493 bytes .../dkplayer_ic_action_brightness.png | Bin 0 -> 688 bytes .../dkplayer_ic_action_close.png | Bin 0 -> 436 bytes .../dkplayer_ic_action_fast_forward.png | Bin 0 -> 426 bytes .../dkplayer_ic_action_fast_rewind.png | Bin 0 -> 454 bytes .../dkplayer_ic_action_fullscreen.png | Bin 0 -> 324 bytes .../dkplayer_ic_action_fullscreen_exit.png | Bin 0 -> 319 bytes .../dkplayer_ic_action_lock_open.png | Bin 0 -> 745 bytes .../dkplayer_ic_action_lock_outline.png | Bin 0 -> 757 bytes .../dkplayer_ic_action_pause.png | Bin 0 -> 262 bytes .../dkplayer_ic_action_play_arrow.png | Bin 0 -> 412 bytes .../dkplayer_ic_action_replay.png | Bin 0 -> 1000 bytes .../dkplayer_ic_action_volume_off.png | Bin 0 -> 1054 bytes .../dkplayer_ic_action_volume_up.png | Bin 0 -> 689 bytes ...tn_danmaku_input_options_color_checked.png | Bin 0 -> 127 bytes .../res/drawable-xhdpi/ic_cancel_danmaku.png | Bin 0 -> 257 bytes .../ic_danmaku_input_more_color.png | Bin 0 -> 487 bytes .../ic_danmaku_input_options_bottom_type.png | Bin 0 -> 137 bytes ...maku_input_options_bottom_type_checked.png | Bin 0 -> 137 bytes ..._danmaku_input_options_medium_textsize.png | Bin 0 -> 366 bytes ..._input_options_medium_textsize_checked.png | Bin 0 -> 366 bytes .../ic_danmaku_input_options_rl_type.png | Bin 0 -> 172 bytes ..._danmaku_input_options_rl_type_checked.png | Bin 0 -> 212 bytes ...c_danmaku_input_options_small_textsize.png | Bin 0 -> 283 bytes ...u_input_options_small_textsize_checked.png | Bin 0 -> 283 bytes .../ic_danmaku_input_options_top_type.png | Bin 0 -> 138 bytes ...danmaku_input_options_top_type_checked.png | Bin 0 -> 138 bytes .../res/drawable-xhdpi/ic_send_danmaku.png | Bin 0 -> 344 bytes .../dkplayer_ic_action_arrow_back.png | Bin 0 -> 886 bytes .../dkplayer_ic_action_autorenew.png | Bin 0 -> 1969 bytes .../dkplayer_ic_action_battery.png | Bin 0 -> 547 bytes .../dkplayer_ic_action_battery_10.png | Bin 0 -> 589 bytes .../dkplayer_ic_action_battery_20.png | Bin 0 -> 594 bytes .../dkplayer_ic_action_battery_30.png | Bin 0 -> 593 bytes .../dkplayer_ic_action_battery_40.png | Bin 0 -> 606 bytes .../dkplayer_ic_action_battery_50.png | Bin 0 -> 586 bytes .../dkplayer_ic_action_battery_60.png | Bin 0 -> 590 bytes .../dkplayer_ic_action_battery_70.png | Bin 0 -> 575 bytes .../dkplayer_ic_action_battery_80.png | Bin 0 -> 573 bytes .../dkplayer_ic_action_battery_90.png | Bin 0 -> 566 bytes .../dkplayer_ic_action_brightness.png | Bin 0 -> 1467 bytes .../dkplayer_ic_action_close.png | Bin 0 -> 892 bytes .../dkplayer_ic_action_fast_forward.png | Bin 0 -> 848 bytes .../dkplayer_ic_action_fast_rewind.png | Bin 0 -> 913 bytes .../dkplayer_ic_action_fullscreen.png | Bin 0 -> 463 bytes .../dkplayer_ic_action_fullscreen_exit.png | Bin 0 -> 479 bytes .../dkplayer_ic_action_lock_open.png | Bin 0 -> 1309 bytes .../dkplayer_ic_action_lock_outline.png | Bin 0 -> 1333 bytes .../dkplayer_ic_action_pause.png | Bin 0 -> 398 bytes .../dkplayer_ic_action_play_arrow.png | Bin 0 -> 786 bytes .../dkplayer_ic_action_replay.png | Bin 0 -> 1776 bytes .../dkplayer_ic_action_volume_off.png | Bin 0 -> 1840 bytes .../dkplayer_ic_action_volume_up.png | Bin 0 -> 1501 bytes .../drawable-xxhdpi/dkplayer_icon_dlna.png | Bin 0 -> 1704 bytes .../res/drawable-xxhdpi/ic_cancel_danmaku.png | Bin 0 -> 347 bytes .../res/drawable-xxhdpi/ic_danmaku_closed.png | Bin 0 -> 2533 bytes .../res/drawable-xxhdpi/ic_danmaku_open.png | Bin 0 -> 2577 bytes .../drawable-xxhdpi/ic_open_edit_danmaku.png | Bin 0 -> 2057 bytes .../res/drawable-xxhdpi/ic_send_danmaku.png | Bin 0 -> 446 bytes .../sel_btn_danmaku_control.xml | 6 + ..._btn_danmaku_input_options_bottom_type.xml | 6 + .../sel_btn_danmaku_input_options_color.xml | 8 + ..._danmaku_input_options_medium_textsize.xml | 6 + .../sel_btn_danmaku_input_options_rl_type.xml | 6 + ...n_danmaku_input_options_small_textsize.xml | 6 + ...sel_btn_danmaku_input_options_top_type.xml | 6 + .../dkplayer_ic_action_arrow_back.png | Bin 0 -> 943 bytes .../dkplayer_ic_action_autorenew.png | Bin 0 -> 2321 bytes .../dkplayer_ic_action_battery.png | Bin 0 -> 873 bytes .../dkplayer_ic_action_battery_10.png | Bin 0 -> 911 bytes .../dkplayer_ic_action_battery_20.png | Bin 0 -> 954 bytes .../dkplayer_ic_action_battery_30.png | Bin 0 -> 930 bytes .../dkplayer_ic_action_battery_40.png | Bin 0 -> 967 bytes .../dkplayer_ic_action_battery_50.png | Bin 0 -> 950 bytes .../dkplayer_ic_action_battery_60.png | Bin 0 -> 913 bytes .../dkplayer_ic_action_battery_70.png | Bin 0 -> 960 bytes .../dkplayer_ic_action_battery_80.png | Bin 0 -> 913 bytes .../dkplayer_ic_action_battery_90.png | Bin 0 -> 959 bytes .../dkplayer_ic_action_brightness.png | Bin 0 -> 1625 bytes .../dkplayer_ic_action_close.png | Bin 0 -> 874 bytes .../dkplayer_ic_action_fast_forward.png | Bin 0 -> 1050 bytes .../dkplayer_ic_action_fast_rewind.png | Bin 0 -> 1010 bytes .../dkplayer_ic_action_fullscreen.png | Bin 0 -> 625 bytes .../dkplayer_ic_action_fullscreen_exit.png | Bin 0 -> 667 bytes .../dkplayer_ic_action_lock_open.png | Bin 0 -> 1568 bytes .../dkplayer_ic_action_lock_outline.png | Bin 0 -> 1568 bytes .../dkplayer_ic_action_pause.png | Bin 0 -> 542 bytes .../dkplayer_ic_action_play_arrow.png | Bin 0 -> 894 bytes .../dkplayer_ic_action_replay.png | Bin 0 -> 2137 bytes .../dkplayer_ic_action_volume_off.png | Bin 0 -> 2076 bytes .../dkplayer_ic_action_volume_up.png | Bin 0 -> 1516 bytes .../main/res/drawable-xxxhdpi/rectangle.png | Bin 0 -> 790328 bytes .../src/main/res/drawable-xxxhdpi/test.png | Bin 0 -> 371706 bytes .../res/drawable/dkplayer_battery_level.xml | 44 + .../drawable/dkplayer_layer_progress_bar.xml | 25 + .../drawable/dkplayer_progress_loading.xml | 20 + .../res/drawable/dkplayer_seekbar_thumb.xml | 7 + .../dkplayer_seekbar_thumb_normal.xml | 8 + .../dkplayer_seekbar_thumb_pressed.xml | 8 + .../dkplayer_selector_full_screen_button.xml | 7 + .../dkplayer_selector_lock_button.xml | 7 + .../dkplayer_selector_play_button.xml | 7 + .../res/drawable/dkplayer_shape_back_bg.xml | 8 + .../res/drawable/dkplayer_shape_play_bg.xml | 8 + ...layer_shape_standard_controller_top_bg.xml | 8 + ...er_shape_stardard_controller_bottom_bg.xml | 8 + .../dkplayer_shape_status_view_btn.xml | 5 + .../main/res/drawable/sel_item_background.xml | 7 + .../src/main/res/drawable/shape_ad_bg.xml | 9 + .../drawable/transition_item_background.xml | 6 + .../layout/dkplayer_layout_center_window.xml | 31 + .../dkplayer_layout_standard_controller.xml | 300 +++++ .../layout/dkplayer_layout_status_view.xml | 35 + .../main/res/layout/layout_ad_controller.xml | 56 + .../layout/layout_danmaku_input_options.xml | 163 +++ .../src/main/res/layout/layout_rate_item.xml | 14 + .../src/main/res/layout/layout_rate_pop.xml | 6 + .../main/res/layout/layout_send_danmaku.xml | 56 + dkplayer-java/src/main/res/raw/bili.xml | 137 +++ dkplayer-java/src/main/res/raw/movie | Bin 0 -> 513062 bytes .../src/main/res/values-en/strings.xml | 43 + dkplayer-java/src/main/res/values/colors.xml | 16 + dkplayer-java/src/main/res/values/dimens.xml | 30 + dkplayer-java/src/main/res/values/ids.xml | 30 + dkplayer-java/src/main/res/values/strings.xml | 54 + dkplayer-java/src/main/res/values/styles.xml | 54 + gradle.properties | 21 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 +++ gradlew.bat | 90 ++ other/module-lite.sh | 270 ++++ other/test.ffconcat | 7 + settings.gradle | 1 + temp.txt | 1 + 920 files changed, 69473 insertions(+) create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 LICENSE create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/test.mp4 create mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/java/com/dueeeke/dkplayer/activity/DemoActivity.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/activity/MainActivity.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/adapter/DLNADevicesAdapter.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/app/MyApplication.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Config.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Intents.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ClingPlayControl.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/IPlayControl.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ISubscriptionControl.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/SubscriptionControl.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlCallback.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlReceiveCallback.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/BaseClingResponse.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingControlPoint.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDevice.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDeviceList.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingPositionResponse.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingResponse.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingVolumeResponse.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/DLANPlayState.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IControlPoint.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IDevice.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IResponse.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/BrowseRegistryListener.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/DeviceListChangedListener.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/ClingUpnpService.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/SystemService.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/AVTransportSubscriptionCallback.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/BaseSubscriptionCallback.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/RenderingControlSubscriptionCallback.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/ClingManager.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/DeviceManager.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IClingManager.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDLNAManager.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDeviceManager.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IUpnpServiceManager.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/upnp/AndroidJettyServletContainer.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ClingUtils.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ListUtils.java create mode 100644 app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/Utils.java create mode 100644 app/src/main/res/drawable-hdpi/dlna_icon_close.png create mode 100644 app/src/main/res/drawable-hdpi/dlna_icon_progress.png create mode 100644 app/src/main/res/drawable-hdpi/dlna_icon_selected.png create mode 100644 app/src/main/res/drawable-hdpi/dlna_icon_wifi.png create mode 100644 app/src/main/res/drawable/anim_loading_rotate.xml create mode 100644 app/src/main/res/drawable/shape_ad_bg.xml create mode 100644 app/src/main/res/drawable/shape_float_window_background.xml create mode 100644 app/src/main/res/layout/activity_demo.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/dlna_devices_item.xml create mode 100644 app/src/main/res/layout/layout_dlna_devices_pop.xml create mode 100644 app/src/main/res/menu/main_menu.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/raw/bili.xml create mode 100644 app/src/main/res/raw/movie create mode 100644 app/src/main/res/values-en/strings.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/ic_launcher_background.xml create mode 100644 app/src/main/res/values/ids.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 build.gradle create mode 100644 clinglibrary/.gitignore create mode 100644 clinglibrary/build.gradle create mode 100644 clinglibrary/proguard-rules.pro create mode 100644 clinglibrary/src/androidTest/java/com/zane/clinglibrary/ExampleInstrumentedTest.java create mode 100644 clinglibrary/src/main/AndroidManifest.xml create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/DefaultUpnpServiceConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/Main.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/ManagedUpnpService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/ManagedUpnpServiceConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/UpnpService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/UpnpServiceConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/UpnpServiceImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/android/AndroidNetworkAddressFactory.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/android/AndroidRouter.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/android/AndroidUpnpService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/android/AndroidUpnpServiceConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/android/AndroidUpnpServiceImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/android/FixedAndroidLogHandler.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/android/NetworkUtils.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/AllowedValueProvider.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/AllowedValueRangeProvider.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/LocalServiceBinder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/LocalServiceBindingException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/AnnotationActionBinder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/AnnotationLocalServiceBinder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/AnnotationStateVariableBinder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpAction.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpInputArgument.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpOutputArgument.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpServiceId.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpServiceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpStateVariable.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/annotations/UpnpStateVariables.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableAction.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableActionArgument.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableAllowedValueRange.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableDevice.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableIcon.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableStateVariable.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/staging/MutableUDAVersion.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/Descriptor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/DescriptorBindingException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/DeviceDescriptorBinder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/RecoveringUDA10DeviceDescriptorBinderImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/ServiceDescriptorBinder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/UDA10DeviceDescriptorBinderImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/UDA10DeviceDescriptorBinderSAXImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/UDA10ServiceDescriptorBinderImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/binding/xml/UDA10ServiceDescriptorBinderSAXImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/controlpoint/ActionCallback.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/controlpoint/ControlPoint.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/controlpoint/ControlPointImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/controlpoint/SubscriptionCallback.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/controlpoint/event/ExecuteAction.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/controlpoint/event/Search.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/mock/MockProtocolFactory.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/mock/MockRouter.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/mock/MockUpnpService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/mock/MockUpnpServiceConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/Command.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/Constants.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/DefaultServiceManager.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/DiscoveryOptions.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/ExpirationDetails.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/Location.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/ModelUtil.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/Namespace.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/NetworkAddress.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/ServerClientTokens.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/ServiceManager.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/ServiceReference.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/UnsupportedDataException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/UserConstants.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/Validatable.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/ValidationError.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/ValidationException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/VariableValue.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/XMLUtil.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/AbstractActionExecutor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/ActionArgumentValue.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/ActionCancelledException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/ActionException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/ActionExecutor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/ActionInvocation.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/MethodActionExecutor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/QueryStateVariableExecutor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/action/RemoteActionInvocation.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/gena/CancelReason.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/gena/GENASubscription.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/gena/LocalGENASubscription.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/gena/RemoteGENASubscription.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/Connection.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/IncomingDatagramMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/OutgoingDatagramMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/StreamRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/StreamResponseMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/UpnpHeaders.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/UpnpMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/UpnpOperation.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/UpnpRequest.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/UpnpResponse.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/control/ActionMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/control/ActionRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/control/ActionResponseMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/control/IncomingActionRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/control/IncomingActionResponseMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/control/OutgoingActionRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/control/OutgoingActionResponseMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/IncomingNotificationRequest.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/IncomingSearchRequest.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/IncomingSearchResponse.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingNotificationRequest.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingNotificationRequestDeviceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingNotificationRequestRootDevice.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingNotificationRequestServiceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingNotificationRequestUDN.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingSearchRequest.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingSearchResponse.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingSearchResponseDeviceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingSearchResponseRootDevice.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingSearchResponseServiceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/discovery/OutgoingSearchResponseUDN.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/IncomingEventRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/IncomingSubscribeRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/IncomingSubscribeResponseMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/IncomingUnsubscribeRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/OutgoingEventRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/OutgoingEventResponseMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/OutgoingRenewalRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/OutgoingSubscribeRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/OutgoingSubscribeResponseMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/gena/OutgoingUnsubscribeRequestMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/AVClientInfoHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/CallbackHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/ContentRangeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/ContentTypeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/DeviceTypeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/DeviceUSNHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/EXTHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/EventSequenceHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/HostHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/InterfaceMacHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/InvalidHeaderException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/LocationHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/MANHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/MXHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/MaxAgeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/NTEventHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/NTSHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/PragmaHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/RangeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/RootDeviceHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/STAllHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/ServerHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/ServiceTypeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/ServiceUSNHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/SoapActionHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/SubscriptionIdHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/TimeoutHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/UDADeviceTypeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/UDAServiceTypeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/UDNHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/USNRootDeviceHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/UpnpHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/message/header/UserAgentHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/Action.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/ActionArgument.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/Device.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/DeviceDetails.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/DeviceIdentity.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/Icon.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/LocalDevice.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/LocalService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/ManufacturerDetails.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/ModelDetails.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/QueryStateVariableAction.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/RemoteDevice.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/RemoteDeviceIdentity.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/RemoteService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/Service.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/StateVariable.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/StateVariableAllowedValueRange.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/StateVariableEventDetails.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/StateVariableTypeDetails.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/meta/UDAVersion.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/profile/ClientInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/profile/DeviceDetailsProvider.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/profile/HeaderDeviceDetailsProvider.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/profile/RemoteClientInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/resource/DeviceDescriptorResource.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/resource/IconResource.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/resource/Resource.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/resource/ServiceControlResource.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/resource/ServiceDescriptorResource.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/resource/ServiceEventCallbackResource.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/resource/ServiceEventSubscriptionResource.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/state/FieldStateVariableAccessor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/state/GetterStateVariableAccessor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/state/StateVariableAccessor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/state/StateVariableValue.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/AbstractDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/Base64Datatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/BinHexDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/BooleanDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/BytesRange.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/CharacterDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/CustomDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/DLNACaps.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/DLNADoc.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/Datatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/DateTimeDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/DeviceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/DoubleDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/ErrorCode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/FloatDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/HostPort.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/IntegerDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/InvalidValueException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/NamedDeviceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/NamedServiceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/NotificationSubtype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/PragmaType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/ServiceId.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/ServiceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/ShortDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/SoapActionType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/StringDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UDADeviceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UDAServiceId.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UDAServiceType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UDN.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/URIDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UnsignedIntegerFourBytes.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UnsignedIntegerFourBytesDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UnsignedIntegerOneByte.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UnsignedIntegerOneByteDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UnsignedIntegerTwoBytes.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UnsignedIntegerTwoBytesDatatype.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/UnsignedVariableInteger.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSV.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVBoolean.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVBytes.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVCharacter.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVDate.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVDouble.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVFloat.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVInteger.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVShort.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVString.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVURI.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVUnsignedIntegerFourBytes.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVUnsignedIntegerOneByte.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/model/types/csv/CSVUnsignedIntegerTwoBytes.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/ProtocolCreationException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/ProtocolFactory.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/ProtocolFactoryImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/ReceivingAsync.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/ReceivingSync.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/RetrieveRemoteDescriptors.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/SendingAsync.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/SendingSync.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/async/ReceivingNotification.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/async/ReceivingSearch.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/async/ReceivingSearchResponse.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/async/SendingNotification.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/async/SendingNotificationAlive.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/async/SendingNotificationByebye.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/async/SendingSearch.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/ReceivingAction.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/ReceivingEvent.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/ReceivingRetrieval.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/ReceivingSubscribe.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/ReceivingUnsubscribe.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/SendingAction.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/SendingEvent.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/SendingRenewal.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/SendingSubscribe.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/protocol/sync/SendingUnsubscribe.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/DefaultRegistryListener.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/LocalItems.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/RegistrationException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/Registry.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/RegistryImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/RegistryItem.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/RegistryItems.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/RegistryListener.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/RegistryMaintainer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/RemoteItems.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/After.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/Before.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/DeviceDiscovery.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/FailedRemoteDeviceDiscovery.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/LocalDeviceDiscovery.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/Phase.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/RegistryShutdown.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/registry/event/RemoteDeviceDiscovery.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/AVTransportErrorCode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/AVTransportException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/AbstractAVTransportService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/GetCurrentTransportActions.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/GetDeviceCapabilities.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/GetMediaInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/GetPositionInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/GetTransportInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/Next.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/Pause.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/Play.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/Previous.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/Seek.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/SetAVTransportURI.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/SetPlayMode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/callback/Stop.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/impl/AVTransportService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/impl/AVTransportStateMachine.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/impl/state/AbstractState.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/impl/state/NoMediaPresent.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/impl/state/PausedPlay.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/impl/state/Playing.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/impl/state/Stopped.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/lastchange/AVTransportLastChangeParser.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/avtransport/lastchange/AVTransportVariable.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/AbstractPeeringConnectionManagerService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/ConnectionManagerErrorCode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/ConnectionManagerException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/ConnectionManagerService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/callback/ConnectionComplete.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/callback/GetCurrentConnectionInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/callback/GetProtocolInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/connectionmanager/callback/PrepareForConnection.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/AbstractContentDirectoryService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/ContentDirectoryErrorCode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/ContentDirectoryException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/DIDLParser.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/callback/Browse.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/callback/GetSystemUpdateID.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/callback/Search.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/ui/ContentBrowseActionCallback.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/ui/ContentBrowseActionCallbackCreator.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/ui/ContentTree.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/ui/ContentTreeCellRenderer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/contentdirectory/ui/ContentTreeExpandListener.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/igd/PortMappingListener.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/igd/callback/GetExternalIP.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/igd/callback/GetStatusInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/igd/callback/PortMappingAdd.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/igd/callback/PortMappingDelete.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/igd/callback/PortMappingEntryGet.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/Event.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValue.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValueEnum.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValueEnumArray.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValueShort.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValueString.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValueURI.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValueUnsignedIntegerFourBytes.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/EventedValueUnsignedIntegerTwoBytes.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/InstanceID.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/LastChange.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/LastChangeAwareServiceManager.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/LastChangeDelegator.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/lastchange/LastChangeParser.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/AddMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/RemoveMessage.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/model/DateTime.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/model/ElementAppender.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/model/Message.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/model/MessageIncomingCall.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/model/MessageSMS.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/model/MessageScheduleReminder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/model/NumberName.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/parser/MessageDOM.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/parser/MessageDOMParser.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/messagebox/parser/MessageElement.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/AVTransport.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/BrowseFlag.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/BrowseResult.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/Channel.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/Connection.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/ConnectionInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/DIDLAttribute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/DIDLContent.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/DIDLObject.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/DescMeta.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/DeviceCapabilities.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/MediaInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/Person.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/PersonWithRole.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/PlayMode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/PortMapping.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/PositionInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/PresetName.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/Protocol.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/ProtocolInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/ProtocolInfos.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/RecordMediumWriteStatus.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/RecordQualityMode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/Res.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/SearchResult.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/SeekMode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/SortCriterion.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/StorageMedium.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/TransportAction.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/TransportInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/TransportSettings.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/TransportState.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/TransportStatus.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/VolumeDBRange.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/WriteStatus.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/Album.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/Container.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/GenreContainer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/MovieGenre.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/MusicAlbum.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/MusicArtist.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/MusicGenre.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/PersonContainer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/PhotoAlbum.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/PlaylistContainer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/StorageFolder.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/StorageSystem.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/container/StorageVolume.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAAttribute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAConversionIndicator.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAConversionIndicatorAttribute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAFlags.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAFlagsAttribute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAOperations.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAOperationsAttribute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAPlaySpeedAttribute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAProfileAttribute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAProfiles.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/DLNAProtocolInfo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/InvalidDLNAProtocolAttributeException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/DLNAHeaders.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/AvailableRangeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/AvailableSeekRangeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/BufferBytesHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/BufferInfoHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/ContentFeaturesHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/DLNAHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/EventTypeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/FriendlyNameHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/GetAvailableSeekRangeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/GetContentFeaturesHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/MaxPrateHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/PeerManagerHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/PlaySpeedHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/PragmaHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/RealTimeInfoHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/SCIDHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/ScmsFlagHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/SupportedHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/TimeSeekRangeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/TransferModeHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/message/header/WCTHeader.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/types/AvailableSeekRangeType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/types/BufferInfoType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/types/CodedDataBuffer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/types/NormalPlayTime.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/types/NormalPlayTimeRange.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/types/ScmsFlagType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/dlna/types/TimeSeekRangeType.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/AudioBook.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/AudioBroadcast.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/AudioItem.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/ImageItem.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/Item.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/Movie.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/MusicTrack.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/MusicVideoClip.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/Photo.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/PlaylistItem.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/TextItem.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/VideoBroadcast.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/model/item/VideoItem.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/AbstractAudioRenderingControl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/RenderingControlErrorCode.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/RenderingControlException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/callback/GetMute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/callback/GetVolume.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/callback/SetMute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/callback/SetVolume.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/ChannelLoudness.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/ChannelMute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/ChannelVolume.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/ChannelVolumeDB.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/EventedValueChannelLoudness.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/EventedValueChannelMute.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/EventedValueChannelVolume.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/EventedValueChannelVolumeDB.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/RenderingControlLastChangeParser.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/renderingcontrol/lastchange/RenderingControlVariable.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/AWTExceptionHandler.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/AbstractMap.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/CenterWindow.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/CoreLogCategories.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/Main.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/MainController.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/NewPlatformApple.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/PlatformApple.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/ShutdownHandler.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/TextExpand.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/TextExpandDialog.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/TextExpandEvent.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/View.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/log/LogView.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/log/impl/LogPresenter.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/shared/log/impl/LogViewImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/support/xmicrosoft/AbstractMediaReceiverRegistrarService.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/DisableRouter.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/EnableRouter.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/Router.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/RouterException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/RouterImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/AsyncServletStreamServerConfigurationImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/AsyncServletStreamServerImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/AsyncServletUpnpStream.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/DatagramIOConfigurationImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/DatagramIOImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/DatagramProcessorImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/FixedSunURLStreamHandler.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/GENAEventProcessorImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/HttpExchangeUpnpStream.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/MulticastReceiverConfigurationImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/MulticastReceiverImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/NetworkAddressFactoryImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/PullGENAEventProcessorImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/PullSOAPActionProcessorImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/RecoveringGENAEventProcessorImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/RecoveringSOAPActionProcessorImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/SOAPActionProcessorImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/StreamClientConfigurationImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/StreamClientImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/StreamServerConfigurationImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/StreamServerImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/jetty/JettyServletContainer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/jetty/StreamClientConfigurationImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/impl/jetty/StreamClientImpl.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/AbstractStreamClient.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/AbstractStreamClientConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/DatagramIO.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/DatagramIOConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/DatagramProcessor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/GENAEventProcessor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/InitializationException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/MulticastReceiver.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/MulticastReceiverConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/NetworkAddressFactory.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/NoNetworkException.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/SOAPActionProcessor.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/ServletContainerAdapter.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/StreamClient.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/StreamClientConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/StreamServer.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/StreamServerConfiguration.java create mode 100644 clinglibrary/src/main/java/org/fourthline/cling/transport/spi/UpnpStream.java create mode 100644 clinglibrary/src/main/res/values/strings.xml create mode 100644 clinglibrary/src/test/java/com/zane/clinglibrary/ExampleUnitTest.java create mode 100644 devlin.jks create mode 100644 dkplayer-java/build.gradle create mode 100644 dkplayer-java/proguard-rules.pro create mode 100644 dkplayer-java/src/main/AndroidManifest.xml create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/bean/M3u8PlayList.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/bean/VideoModel.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/controller/BaseVideoController.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/controller/DLNAControllerInterface.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/controller/DanmuControlInterface.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/controller/GestureVideoController.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/controller/MediaPlayerControlInterface.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/controller/StandardVideoController.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/danmaku/AcFunDanmakuParser.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/danmaku/BaseDanmakuConverter.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/danmaku/BaseDanmakuData.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/danmaku/BiliDanmukuParser.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/danmaku/DanmakuType.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/danmaku/OnDanmakuListener.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/interf/ControllerListener.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/interf/DefinitionMediaPlayerControlInterface.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/interf/ListMediaPlayerControlInterface.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/listener/OnVideoViewStateChangeListener.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/listener/PlayerEventListener.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/player/AbstractPlayer.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/player/BaseIjkVideoView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/player/IjkPlayer.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/player/IjkVideoView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/player/PlayerConfig.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/player/RawDataSourceProvider.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/player/VideoViewManager.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/receive/BatteryReceiver.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/AnimHelper.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/Constants.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/HttpUtils.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/L.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/MemoryLeakUtil.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/NavUtils.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/PlayerUtils.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/ProgressUtil.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/SoftInputUtils.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/StorageUtil.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/Utils.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/util/VideoCacheManager.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/CacheIjkVideoView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/CenterView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/DanmukuVideoView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/DefinitionIjkVideoView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/ListIjkVideoView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/MarqueeTextView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/ResizeSurfaceView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/ResizeTextureView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/StatusView.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/controller/AdController.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/controller/DanmakuController.java create mode 100644 dkplayer-java/src/main/java/com/dueeeke/videoplayer/widget/controller/DefinitionController.java create mode 100644 dkplayer-java/src/main/jniLibs/armeabi-v7a/libijkffmpeg.so create mode 100644 dkplayer-java/src/main/jniLibs/armeabi-v7a/libijkplayer.so create mode 100644 dkplayer-java/src/main/jniLibs/armeabi-v7a/libijksdl.so create mode 100644 dkplayer-java/src/main/jniLibs/x86/libijkffmpeg.so create mode 100644 dkplayer-java/src/main/jniLibs/x86/libijkplayer.so create mode 100644 dkplayer-java/src/main/jniLibs/x86/libijksdl.so create mode 100644 dkplayer-java/src/main/res/anim/anim_alpha_in.xml create mode 100644 dkplayer-java/src/main/res/anim/anim_alpha_out.xml create mode 100644 dkplayer-java/src/main/res/anim/anim_float_window_enter.xml create mode 100644 dkplayer-java/src/main/res/anim/anim_float_window_exit.xml create mode 100644 dkplayer-java/src/main/res/anim/anim_slide_bottom_in.xml create mode 100644 dkplayer-java/src/main/res/anim/anim_slide_bottom_out.xml create mode 100644 dkplayer-java/src/main/res/anim/anim_slide_top_in.xml create mode 100644 dkplayer-java/src/main/res/anim/anim_slide_top_out.xml create mode 100644 dkplayer-java/src/main/res/anim/dkplayer_anim_alpha_in.xml create mode 100644 dkplayer-java/src/main/res/anim/dkplayer_anim_alpha_out.xml create mode 100644 dkplayer-java/src/main/res/anim/dkplayer_anim_center_view.xml create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_arrow_back.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_autorenew.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_10.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_20.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_30.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_40.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_50.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_60.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_70.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_80.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_battery_90.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_brightness.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_close.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_fast_forward.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_fast_rewind.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_fullscreen.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_fullscreen_exit.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_lock_open.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_lock_outline.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_pause.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_play_arrow.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_replay.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_volume_off.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/dkplayer_ic_action_volume_up.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/ic_cancel_danmaku.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/ic_close_ad.png create mode 100644 dkplayer-java/src/main/res/drawable-hdpi/ic_send_danmaku.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_arrow_back.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_autorenew.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_10.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_20.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_30.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_40.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_50.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_60.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_70.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_80.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_battery_90.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_brightness.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_close.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_fast_forward.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_fast_rewind.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_fullscreen.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_fullscreen_exit.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_lock_open.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_lock_outline.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_pause.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_play_arrow.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_replay.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_volume_off.png create mode 100644 dkplayer-java/src/main/res/drawable-mdpi/dkplayer_ic_action_volume_up.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_arrow_back.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_autorenew.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_10.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_20.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_30.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_40.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_50.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_60.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_70.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_80.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_battery_90.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_brightness.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_close.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_fast_forward.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_fast_rewind.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_fullscreen.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_fullscreen_exit.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_lock_open.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_lock_outline.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_pause.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_play_arrow.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_replay.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_volume_off.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/dkplayer_ic_action_volume_up.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_btn_danmaku_input_options_color_checked.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_cancel_danmaku.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_more_color.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_bottom_type.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_bottom_type_checked.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_medium_textsize.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_medium_textsize_checked.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_rl_type.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_rl_type_checked.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_small_textsize.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_small_textsize_checked.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_top_type.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_danmaku_input_options_top_type_checked.png create mode 100644 dkplayer-java/src/main/res/drawable-xhdpi/ic_send_danmaku.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_arrow_back.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_autorenew.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_10.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_20.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_30.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_40.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_50.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_60.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_70.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_80.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_battery_90.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_brightness.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_close.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_fast_forward.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_fast_rewind.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_fullscreen.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_fullscreen_exit.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_lock_open.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_lock_outline.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_pause.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_play_arrow.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_replay.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_volume_off.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_ic_action_volume_up.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/dkplayer_icon_dlna.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/ic_cancel_danmaku.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/ic_danmaku_closed.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/ic_danmaku_open.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/ic_open_edit_danmaku.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/ic_send_danmaku.png create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/sel_btn_danmaku_control.xml create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/sel_btn_danmaku_input_options_bottom_type.xml create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/sel_btn_danmaku_input_options_color.xml create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/sel_btn_danmaku_input_options_medium_textsize.xml create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/sel_btn_danmaku_input_options_rl_type.xml create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/sel_btn_danmaku_input_options_small_textsize.xml create mode 100644 dkplayer-java/src/main/res/drawable-xxhdpi/sel_btn_danmaku_input_options_top_type.xml create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_arrow_back.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_autorenew.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_10.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_20.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_30.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_40.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_50.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_60.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_70.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_80.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_battery_90.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_brightness.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_close.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_fast_forward.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_fast_rewind.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_fullscreen.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_fullscreen_exit.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_lock_open.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_lock_outline.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_pause.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_play_arrow.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_replay.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_volume_off.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/dkplayer_ic_action_volume_up.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/rectangle.png create mode 100644 dkplayer-java/src/main/res/drawable-xxxhdpi/test.png create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_battery_level.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_layer_progress_bar.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_progress_loading.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_seekbar_thumb.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_seekbar_thumb_normal.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_seekbar_thumb_pressed.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_selector_full_screen_button.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_selector_lock_button.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_selector_play_button.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_shape_back_bg.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_shape_play_bg.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_shape_standard_controller_top_bg.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_shape_stardard_controller_bottom_bg.xml create mode 100644 dkplayer-java/src/main/res/drawable/dkplayer_shape_status_view_btn.xml create mode 100644 dkplayer-java/src/main/res/drawable/sel_item_background.xml create mode 100644 dkplayer-java/src/main/res/drawable/shape_ad_bg.xml create mode 100644 dkplayer-java/src/main/res/drawable/transition_item_background.xml create mode 100644 dkplayer-java/src/main/res/layout/dkplayer_layout_center_window.xml create mode 100644 dkplayer-java/src/main/res/layout/dkplayer_layout_standard_controller.xml create mode 100644 dkplayer-java/src/main/res/layout/dkplayer_layout_status_view.xml create mode 100644 dkplayer-java/src/main/res/layout/layout_ad_controller.xml create mode 100644 dkplayer-java/src/main/res/layout/layout_danmaku_input_options.xml create mode 100644 dkplayer-java/src/main/res/layout/layout_rate_item.xml create mode 100644 dkplayer-java/src/main/res/layout/layout_rate_pop.xml create mode 100644 dkplayer-java/src/main/res/layout/layout_send_danmaku.xml create mode 100644 dkplayer-java/src/main/res/raw/bili.xml create mode 100644 dkplayer-java/src/main/res/raw/movie create mode 100644 dkplayer-java/src/main/res/values-en/strings.xml create mode 100644 dkplayer-java/src/main/res/values/colors.xml create mode 100644 dkplayer-java/src/main/res/values/dimens.xml create mode 100644 dkplayer-java/src/main/res/values/ids.xml create mode 100644 dkplayer-java/src/main/res/values/strings.xml create mode 100644 dkplayer-java/src/main/res/values/styles.xml create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 other/module-lite.sh create mode 100644 other/test.ffconcat create mode 100644 settings.gradle create mode 100644 temp.txt diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..30aa626 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..7bfef59 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..604bcbc --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8dada3e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..338f7a2 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,120 @@ +apply plugin: 'com.android.application' + +static def releaseTime() { + return new Date().format("yyyy_MM_dd", TimeZone.getTimeZone("UTC")) +} + +android { + compileSdkVersion rootProject.ext.compileSdkVersion + buildToolsVersion rootProject.ext.buildToolsVersion + + defaultConfig { + applicationId "com.dueeeke.dkplayer" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 29 + versionName "2.5.5" +// multiDexEnabled true + + ndk { + //打包时保留armeabi-v7a x86 so + abiFilters "armeabi-v7a", "x86" + } + } + + sourceSets { + main { + jniLibs.srcDirs = ['libs'] + } + } + + + signingConfigs { + release { + storeFile file("../devlin.jks") + storePassword KEYSTORE_PWD + keyAlias KEY_ALIAS + keyPassword KEY_PWD + } + } + + lintOptions { + checkReleaseBuilds false + // Or, if you prefer, you can continue to check for errors in release builds, + // but continue the build even when errors are found: + abortOnError false + } + + + buildTypes { + debug { + signingConfig signingConfigs.release + zipAlignEnabled false + minifyEnabled false + shrinkResources false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + + release { + signingConfig signingConfigs.release + zipAlignEnabled true + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + applicationVariants.all { variant -> + variant.outputs.all { output -> + outputFileName = "${variant.name}-${variant.versionName}-${releaseTime()}(${variant.versionCode}).apk" + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + packagingOptions { + exclude 'META-INF/DEPENDENCIES.txt' + exclude 'META-INF/NOTICE' + exclude 'META-INF/NOTICE.txt' + exclude 'META-INF/LICENSE' + exclude 'META-INF/LICENSE.txt' + exclude 'META-INF/beans.xml' + } + +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.2' + releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2' + debugImplementation 'com.squareup.leakcanary:leakcanary-support-fragment:1.6.2' + implementation "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion" +// implementation 'com.github.bumptech.glide:glide:3.7.0' + implementation 'com.yanzhenjie:permission:2.0.0-rc12' +// implementation 'com.github.ctiao:DanmakuFlameMaster:0.8.3' +// implementation 'com.github.ctiao:DanmakuFlameMaster:0.6.2' +// implementation 'com.github.ctiao:ndkbitmap-armv7a:0.8.3' + implementation "com.android.support:design:$rootProject.supportLibraryVersion" +// implementation 'com.google.android.exoplayer:exoplayer:2.8.2' +// implementation 'com.google.android.exoplayer:extension-rtmp:2.8.2' + //缓存 +// implementation 'com.danikula:videocache:2.7.1' + + + implementation project(':dkplayer-java') + + +// testCompile 'junit:junit:4.12' + // Cling library + implementation 'org.fourthline.cling:cling-core:2.1.1' + implementation 'org.fourthline.cling:cling-support:2.1.1' + // Jetty library + implementation 'org.eclipse.jetty:jetty-server:8.1.12.v20130726' + implementation 'org.eclipse.jetty:jetty-servlet:8.1.12.v20130726' + implementation 'org.eclipse.jetty:jetty-client:8.1.12.v20130726' +// implementation 'org.slf4j:slf4j-simple:1.7.21' +// implementation 'com.koushikdutta.urlimageviewhelper:urlimageviewhelper:1.0.4' + +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..47f008f --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,37 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in D:\sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile + +-keep class tv.danmaku.ijk.** { *; } +-dontwarn tv.danmaku.ijk.** +-keep class com.dueeeke.videoplayer.** { *; } +-dontwarn com.dueeeke.videoplayer.** + + +-dontwarn com.yanzhenjie.permission.** + +-keep class android.support.** { *; } + +-keep class com.bumptech.glide.** { *; } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..3122b71 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/test.mp4 b/app/src/main/assets/test.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..46c077249e3bddb2a4a681cc8ee904435623a37e GIT binary patch literal 513062 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 M%qa3T<76v8*UwxQusJ)Bw77a(7@Ps({_Z- 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%0D0-F-*n6f;5Bx*$FiYr)}e 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%0Dyw+18Cx~;V>lc!~0YHk1^vvz_&z=B7Z@jl8Vc! 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�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 z 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 E0pK_^yZ`_I literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/dueeeke/dkplayer/activity/DemoActivity.java b/app/src/main/java/com/dueeeke/dkplayer/activity/DemoActivity.java new file mode 100644 index 0000000..c237cbd --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/activity/DemoActivity.java @@ -0,0 +1,626 @@ +package com.dueeeke.dkplayer.activity; + +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.ServiceConnection; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.os.Handler; +import android.os.IBinder; +import android.os.Message; +import android.support.annotation.Nullable; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.util.Log; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.PopupWindow; +import android.widget.TextView; +import android.widget.Toast; + +import com.dueeeke.dkplayer.R; +import com.dueeeke.dkplayer.adapter.DLNADevicesAdapter; +import com.dueeeke.dkplayer.dlnaupnp.Intents; +import com.dueeeke.dkplayer.dlnaupnp.control.ClingPlayControl; +import com.dueeeke.dkplayer.dlnaupnp.control.callback.ControlCallback; +import com.dueeeke.dkplayer.dlnaupnp.control.callback.ControlReceiveCallback; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDevice; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDeviceList; +import com.dueeeke.dkplayer.dlnaupnp.entity.DLANPlayState; +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; +import com.dueeeke.dkplayer.dlnaupnp.entity.IResponse; +import com.dueeeke.dkplayer.dlnaupnp.listener.BrowseRegistryListener; +import com.dueeeke.dkplayer.dlnaupnp.listener.DeviceListChangedListener; +import com.dueeeke.dkplayer.dlnaupnp.service.ClingUpnpService; +import com.dueeeke.dkplayer.dlnaupnp.service.manager.ClingManager; +import com.dueeeke.dkplayer.dlnaupnp.service.manager.DeviceManager; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; +import com.dueeeke.videoplayer.bean.VideoModel; +import com.dueeeke.videoplayer.controller.DLNAControllerInterface; +import com.dueeeke.videoplayer.controller.StandardVideoController; +import com.dueeeke.videoplayer.player.PlayerConfig; +import com.dueeeke.videoplayer.util.Constants; +import com.dueeeke.videoplayer.util.MemoryLeakUtil; +import com.dueeeke.videoplayer.widget.ListIjkVideoView; + +import org.fourthline.cling.model.meta.Device; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +/** + * 弹幕+广告播放 + * Created by devlin on 17-6-11. + */ + +public class DemoActivity extends AppCompatActivity implements DLNAControllerInterface, View.OnClickListener { + private static final String TAG = "CHL_" + DemoActivity.class.getSimpleName(); + + private ListIjkVideoView ijkVideoView; + private static final String URL_VOD = "http://mov.bn.netease.com/open-movie/nos/flv/2017/01/03/SC8U8K7BC_hd.flv"; + // private static final String URL_VOD = "http://baobab.wdjcdn.com/14564977406580.mp4"; + // private static final String URL_VOD = "http://uploads.cutv.com:8088/video/data/201703/10/encode_file/515b6a95601ba6b39620358f2677a17358c2472411d53.mp4"; + private static final String URL_AD = "https://gslb.miaopai.com/stream/IR3oMYDhrON5huCmf7sHCfnU5YKEkgO2.mp4"; + private static final String URL_M3U8 = "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8"; + private static final String m3u8test = "http://192.168.0.140:8000/oceans/master.m3u8"; + + private static final String LIVE_URL = "http://ivi.bupt.edu.cn/hls/cctv6.m3u8"; + + + + + /** 连接设备状态: 播放状态 */ + public static final int PLAY_ACTION = 0xa1; + /** 连接设备状态: 暂停状态 */ + public static final int PAUSE_ACTION = 0xa2; + /** 连接设备状态: 停止状态 */ + public static final int STOP_ACTION = 0xa3; + /** 连接设备状态: 转菊花状态 */ + public static final int TRANSITIONING_ACTION = 0xa4; + /** 获取进度 */ + public static final int GET_POSITION_INFO_ACTION = 0xa5; + /** 投放失败 */ + public static final int ERROR_ACTION = 0xa5; + + private static Context mContext; + private static Handler mHandler = new InnerHandler(); + + private BroadcastReceiver mTransportStateBroadcastReceiver; + + private PopupWindow mPopupWindow; + private LinearLayout mPopLayout; + private ListView mDeviceList; + private LinearLayout mLLSearching; + private TextView mTVResearch; + private ImageView mIvDLNAPopClose; + + private ArrayList mDevices = new ArrayList<>(); + private ArrayAdapter mDevicesAdapter; + + private ClingDevice mSelectedDevice; + + private static ClingPlayControl mClingPlayControl = new ClingPlayControl(); + + /** 用于监听发现设备 */ + private BrowseRegistryListener mBrowseRegistryListener = new BrowseRegistryListener(); + private ServiceConnection mUpnpServiceConnection = new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName className, IBinder service) { + Log.e(TAG, "mUpnpServiceConnection onServiceConnected"); + + ClingUpnpService.LocalBinder binder = (ClingUpnpService.LocalBinder) service; + ClingUpnpService beyondUpnpService = binder.getService(); + + ClingManager mClingUpnpServiceManager = ClingManager.getInstance(); + mClingUpnpServiceManager.setUpnpService(beyondUpnpService); + mClingUpnpServiceManager.setDeviceManager(new DeviceManager()); + + mClingUpnpServiceManager.getRegistry().addListener(mBrowseRegistryListener); + //Search on service created. + mClingUpnpServiceManager.searchDevices(); + } + + @Override + public void onServiceDisconnected(ComponentName className) { + Log.e(TAG, "mUpnpServiceConnection onServiceDisconnected"); + ClingManager.getInstance().setUpnpService(null); + } + }; + private StandardVideoController mStandardVideoController; + + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_demo); + + Log.d(TAG, "onCreate"); + + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setTitle("Demo"); + actionBar.setDisplayHomeAsUpEnabled(true); + } + ijkVideoView = findViewById(R.id.player); + int widthPixels = getResources().getDisplayMetrics().widthPixels; + ijkVideoView.setLayoutParams(new LinearLayout.LayoutParams(widthPixels, widthPixels / 16 * 9)); + + ijkVideoView.setPlayerConfig(new PlayerConfig.Builder() + .autoRotate()//自动旋转屏幕 + .enableMediaCodec()//启动硬解码 + .build()); + + // 设置播放源 + List videos = new ArrayList<>(); + videos.add(new VideoModel(URL_AD, "广告", Constants.VIDEO_TYPE_AD, true)); +// videos.add(new VideoModel(LIVE_URL, "这是一个标题", Constants.VIDEO_TYPE_LIVE, false)); + videos.add(new VideoModel(URL_VOD, "这是一个标题", Constants.VIDEO_TYPE_VOD, false)); + + ijkVideoView.setVideos(videos); + ijkVideoView.setPauseAd(R.drawable.test); + ijkVideoView.initDanMuView(); + ijkVideoView.start(); + + mStandardVideoController = ijkVideoView.getStandardVideoController(); + mStandardVideoController.setControllerListener(this); + + + mContext = this; + initView(); + initListeners(); + bindServices(); + registerReceivers(); + } + + private void registerReceivers() { + //Register play status broadcast + mTransportStateBroadcastReceiver = new TransportStateBroadcastReceiver(); + IntentFilter filter = new IntentFilter(); + filter.addAction(Intents.ACTION_PLAYING); + filter.addAction(Intents.ACTION_PAUSED_PLAYBACK); + filter.addAction(Intents.ACTION_STOPPED); + filter.addAction(Intents.ACTION_TRANSITIONING); + registerReceiver(mTransportStateBroadcastReceiver, filter); + } + + + private void bindServices() { + // Bind UPnP service + Intent upnpServiceIntent = new Intent(DemoActivity.this, ClingUpnpService.class); + bindService(upnpServiceIntent, mUpnpServiceConnection, Context.BIND_AUTO_CREATE); + // Bind System service + // Intent systemServiceIntent = new Intent(MainActivity.this, SystemService.class); + // bindService(systemServiceIntent, mSystemServiceConnection, Context.BIND_AUTO_CREATE); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + finish(); + } + return super.onOptionsItemSelected(item); + } + + @Override + protected void onPause() { + super.onPause(); + ijkVideoView.pause(); + mPopupWindow.dismiss(); + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + ijkVideoView.release(); + +// mHandler.removeCallbacksAndMessages(null); + // Unbind UPnP service + unbindService(mUpnpServiceConnection); + // Unbind System service + // unbindService(mSystemServiceConnection); + // UnRegister Receiver + unregisterReceiver(mTransportStateBroadcastReceiver); + mBrowseRegistryListener.setOnDeviceListChangedListener(null); + + ClingManager.getInstance().destroy(); + ClingDeviceList.getInstance().destroy(); + MemoryLeakUtil.fixLeak(this); + } + + + @Override + public void onBackPressed() { + if (!ijkVideoView.onBackPressed()) { + super.onBackPressed(); + } + mPopupWindow.dismiss(); + } + + + @Override + public void onDLNAConnectClick() { + Log.d(TAG, " onDLNAConnectClick()!!!!"); + showDevicesPop(); + ClingManager.getInstance().searchDevices(); +// mClingUpnpServiceManager.searchDevices(); + mDeviceList.setEnabled(false); + refreshDeviceList(); + mDeviceList.setEnabled(true); + + mLLSearching.setVisibility(View.GONE); + mTVResearch.setVisibility(View.VISIBLE); + } + + @Override + public void onDLNADisconnectClick() { + + } + + @Override + public void onDLNADevicesClick() { + + } + + @Override + public void onDLNADefinitionClick() { + + } + + private void initView() { +// mPopupWindow = new PopupWindow(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + mPopLayout = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.layout_dlna_devices_pop, null); + mPopupWindow = new PopupWindow(mPopLayout, (int)getResources().getDimension(R.dimen.dlna_pop_width), ViewGroup.LayoutParams.WRAP_CONTENT, true); +// mPopupWindow.setContentView(mPopLayout); + mPopupWindow.setBackgroundDrawable(new ColorDrawable(0xaaffffff)); + mPopupWindow.setOutsideTouchable(true); + mPopupWindow.setClippingEnabled(false); + + mDeviceList = mPopLayout.findViewById(R.id.dlna_lv_devices); + mDeviceList.addFooterView(new View(this)); + + mDevicesAdapter = new DLNADevicesAdapter(this); + mDeviceList.setAdapter(mDevicesAdapter); + + mIvDLNAPopClose = mPopLayout.findViewById(R.id.dlna_iv_pop_close); + mLLSearching = mPopLayout.findViewById(R.id.dlna_ll_search_devices_prompt); + mTVResearch = mPopLayout.findViewById(R.id.dlna_tv_refresh_devices); + + mIvDLNAPopClose.setOnClickListener(this); + mTVResearch.setOnClickListener(this); + } + + private void initListeners() { +// mRefreshLayout.setOnRefreshListener(this); + + mDeviceList.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + // 选择连接设备 + mSelectedDevice = mDevicesAdapter.getItem(position); + Log.e(TAG, "onItemClick mSelectedDevice="+mSelectedDevice); + if (Utils.isNull(mSelectedDevice)) { + return; + } + + ClingManager.getInstance().setSelectedDevice(mSelectedDevice); + + Device device = mSelectedDevice.getDevice(); + if (Utils.isNull(device)) { + return; + } + + Log.e(TAG, "onItemClick name="+device.getDetails().getFriendlyName()+" getSerialNumber="+device.getDetails().getSerialNumber()); + Toast.makeText(mContext, device.getDetails().getFriendlyName(), + Toast.LENGTH_SHORT).show(); + + play(); + } + }); + + // 设置发现设备监听 + mBrowseRegistryListener.setOnDeviceListChangedListener(new DeviceListChangedListener() { + @Override + public void onDeviceAdded(final IDevice device) { + runOnUiThread(new Runnable() { + public void run() { +// mDevicesAdapter.add((ClingDevice) device); + } + }); + } + + @Override + public void onDeviceRemoved(final IDevice device) { + runOnUiThread(new Runnable() { + public void run() { +// mDevicesAdapter.remove((ClingDevice) device); + } + }); + } + }); + + // 静音开关 +// mSwitchMute.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { +// @Override +// public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { +// mClingPlayControl.setMute(isChecked, new ControlCallback() { +// @Override +// public void success(IResponse response) { +// Log.e(TAG, "setMute success"); +// } +// +// @Override +// public void fail(IResponse response) { +// Log.e(TAG, "setMute fail"); +// } +// }); +// } +// }); + +// mSeekProgress.setOnSeekBarChangeListener(this); +// mSeekVolume.setOnSeekBarChangeListener(this); + } + +// @Override +// public void onRefresh() { +// mRefreshLayout.setRefreshing(true); +// mDeviceList.setEnabled(false); +// +// //todo 放到回调接口中 +// mRefreshLayout.setRefreshing(false); +// refreshDeviceList(); +// mDeviceList.setEnabled(true); +// } + + /** + * 刷新设备 + */ + private void refreshDeviceList() { + Collection devices = ClingManager.getInstance().getDmrDevices(); + + ClingDeviceList.getInstance().setClingDeviceList(devices); + Log.d(TAG, "refreshDeviceList() devices="+devices); + int index = 0; + mDevicesAdapter.clear(); + if (devices != null) { + ClingDeviceList.getInstance().setClingDeviceList(devices); + mDevicesAdapter.addAll(devices); + } + +// showDevicesPop(); + } + +// public void onClick(View view) { +// int id = view.getId(); +// switch (id) { +// case R.id.bt_play: +// play(); +// break; +// +// case R.id.bt_pause: +// pause(); +// break; +// +// case R.id.bt_stop: +// stop(); +// break; +// } +// } + + + private void showDevicesPop() { + Log.d(TAG, "showDevicesPop()"); + mPopLayout.measure(View.MeasureSpec.AT_MOST, View.MeasureSpec.UNSPECIFIED); + mPopupWindow.showAtLocation(getWindow().getDecorView(), Gravity.CENTER, 0, 0); + mLLSearching.setVisibility(View.VISIBLE); + mTVResearch.setVisibility(View.GONE); +// mPopupWindow.showAsDropDown(m, -((mPopLayout.getMeasuredWidth() - multiRate.getMeasuredWidth()) / 2), +// -(mPopLayout.getMeasuredHeight() + multiRate.getMeasuredHeight() + PlayerUtils.dp2px(getContext(), 10))); + } + + private void stop() { + mClingPlayControl.stop(new ControlCallback() { + @Override + public void success(IResponse response) { + Log.e(TAG, "stop success"); + } + + @Override + public void fail(IResponse response) { + Log.e(TAG, "stop fail"); + } + }); + } + + private void pause() { + mClingPlayControl.pause(new ControlCallback() { + @Override + public void success(IResponse response) { + Log.e(TAG, "pause success"); + } + + @Override + public void fail(IResponse response) { + Log.e(TAG, "pause fail"); + } + }); + } + + public void getPositionInfo() { + mClingPlayControl.getPositionInfo(new ControlReceiveCallback() { + @Override + public void receive(IResponse response) { + + } + + @Override + public void success(IResponse response) { + + } + + @Override + public void fail(IResponse response) { + + } + }); + } + + /** + * 播放视频 + */ + private void play() { + @DLANPlayState.DLANPlayStates int currentState = mClingPlayControl.getCurrentState(); + + /** + * 通过判断状态 来决定 是继续播放 还是重新播放 + */ + if (currentState == DLANPlayState.STOP) { + mClingPlayControl.playNew(URL_VOD/*Config.TEST_URL*/, new ControlCallback() { + + @Override + public void success(IResponse response) { + Log.e(TAG, "playNew success"); + runOnUiThread(new Runnable() { + @Override + public void run() { + mPopupWindow.dismiss(); + Toast.makeText(mContext, "投屏成功,视频播放界面添加状态显示……", + Toast.LENGTH_LONG).show(); + } + }); + + + // ClingUpnpServiceManager.getInstance().subscribeMediaRender(); + // getPositionInfo(); + // TODO: 17/7/21 play success + ClingManager.getInstance().registerAVTransport(mContext); + ClingManager.getInstance().registerRenderingControl(mContext); + + } + + @Override + public void fail(IResponse response) { + Log.e(TAG, "playNew fail"); +// mHandler.sendEmptyMessage(ERROR_ACTION); + } + }); + } else { + mClingPlayControl.play(new ControlCallback() { + @Override + public void success(IResponse response) { + Log.e(TAG, "play success"); +// mPopupWindow.dismiss(); + runOnUiThread(new Runnable() { + @Override + public void run() { + mPopupWindow.dismiss(); + Toast.makeText(mContext, "投屏成功,视频播放界面添加状态显示……", + Toast.LENGTH_LONG).show(); + } + }); + } + + @Override + public void fail(IResponse response) { + Log.e(TAG, "play fail"); +// mHandler.sendEmptyMessage(ERROR_ACTION); + } + }); + } + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.dlna_iv_pop_close: + mPopupWindow.dismiss(); + break; + + case R.id.dlna_tv_refresh_devices: +// showDevicesPop(); + mLLSearching.setVisibility(View.VISIBLE); + mTVResearch.setVisibility(View.GONE); + ClingManager.getInstance().searchDevices(); + mDeviceList.setEnabled(false); + refreshDeviceList(); + mDeviceList.setEnabled(true); + + mLLSearching.setVisibility(View.GONE); + mTVResearch.setVisibility(View.VISIBLE); + break; + } + } + + private static final class InnerHandler extends Handler { + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + switch (msg.what) { + case PLAY_ACTION: + Log.i(TAG, "Execute PLAY_ACTION"); +// Toast.makeText(mContext, "正在投放", Toast.LENGTH_SHORT).show(); + mClingPlayControl.setCurrentState(DLANPlayState.PLAY); + + break; + case PAUSE_ACTION: + Log.i(TAG, "Execute PAUSE_ACTION"); + mClingPlayControl.setCurrentState(DLANPlayState.PAUSE); + + break; + case STOP_ACTION: + Log.i(TAG, "Execute STOP_ACTION"); + mClingPlayControl.setCurrentState(DLANPlayState.STOP); + + break; + case TRANSITIONING_ACTION: + Log.i(TAG, "Execute TRANSITIONING_ACTION"); +// Toast.makeText(mContext, "正在连接", Toast.LENGTH_SHORT).show(); + break; + case ERROR_ACTION: + Log.e(TAG, "Execute ERROR_ACTION"); +// Toast.makeText(mContext, "投放失败", Toast.LENGTH_SHORT).show(); + break; + } + } + } + + /** + * 接收状态改变信息 + */ + private static class TransportStateBroadcastReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + Log.e(TAG, "\n\n***************** Receive playback intent:" + action); + if (Intents.ACTION_PLAYING.equals(action)) { + mHandler.sendEmptyMessage(PLAY_ACTION); + + } else if (Intents.ACTION_PAUSED_PLAYBACK.equals(action)) { + mHandler.sendEmptyMessage(PAUSE_ACTION); + + } else if (Intents.ACTION_STOPPED.equals(action)) { + mHandler.sendEmptyMessage(STOP_ACTION); + + } else if (Intents.ACTION_TRANSITIONING.equals(action)) { + mHandler.sendEmptyMessage(TRANSITIONING_ACTION); + } + } + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/activity/MainActivity.java b/app/src/main/java/com/dueeeke/dkplayer/activity/MainActivity.java new file mode 100644 index 0000000..24f9806 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/activity/MainActivity.java @@ -0,0 +1,58 @@ +package com.dueeeke.dkplayer.activity; + +import android.Manifest; +import android.content.Intent; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.EditText; +import android.widget.Toast; + +import com.dueeeke.dkplayer.R; +import com.yanzhenjie.permission.AndPermission; + +public class MainActivity extends AppCompatActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + AndPermission + .with(this) + .runtime() + .permission(Manifest.permission.WRITE_EXTERNAL_STORAGE) + .onDenied(data -> { + + }) + .onGranted(data -> { + + }) + .start(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + switch (itemId) { + case R.id.clear_cache: +// if (VideoCacheManager.clearAllCache(this)) { +// Toast.makeText(this, "清除缓存成功", Toast.LENGTH_SHORT).show(); +// } + break; + } + return super.onOptionsItemSelected(item); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.main_menu, menu); + return super.onCreateOptionsMenu(menu); + } + + + public void adAndDanmaku(View view) { + startActivity(new Intent(this, DemoActivity.class)); + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/adapter/DLNADevicesAdapter.java b/app/src/main/java/com/dueeeke/dkplayer/adapter/DLNADevicesAdapter.java new file mode 100644 index 0000000..0774062 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/adapter/DLNADevicesAdapter.java @@ -0,0 +1,54 @@ +package com.dueeeke.dkplayer.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.dueeeke.dkplayer.R; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDevice; + +import org.fourthline.cling.model.meta.Device; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/28 15:50 + */ + +public class DLNADevicesAdapter extends ArrayAdapter { + private LayoutInflater mInflater; + + public DLNADevicesAdapter(Context context) { + super(context, 0); + mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + if (convertView == null) + convertView = mInflater.inflate(R.layout.dlna_devices_item, null); + + ClingDevice item = getItem(position); + if (item == null || item.getDevice() == null) { + return convertView; + } + + Device device = item.getDevice(); + + TextView textView = (TextView) convertView.findViewById(R.id.dlna_tv_device_name); + textView.setText(device.getDetails().getFriendlyName()); + + ProgressBar connecting = (ProgressBar) convertView.findViewById(R.id.dlna_progress_device_connecting); + + + ImageView imageView = (ImageView)convertView.findViewById(R.id.dlna_tv_device_connected); +// imageView.setBackgroundResource(R.drawable.ic_action_dock); + + return convertView; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dueeeke/dkplayer/app/MyApplication.java b/app/src/main/java/com/dueeeke/dkplayer/app/MyApplication.java new file mode 100644 index 0000000..da21e0b --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/app/MyApplication.java @@ -0,0 +1,33 @@ +package com.dueeeke.dkplayer.app; + +import android.app.Application; + +import com.dueeeke.dkplayer.BuildConfig; +import com.dueeeke.videoplayer.util.L; +import com.squareup.leakcanary.LeakCanary; + +/** + * app + * Created by Devlin_n on 2017/4/22. + */ + +public class MyApplication extends Application{ + + private static MyApplication instance; + + @Override + public void onCreate() { + super.onCreate(); + instance = this; + if (LeakCanary.isInAnalyzerProcess(this)) { + return; + } + LeakCanary.install(this); + //播放器日志 + L.setDebug(BuildConfig.DEBUG); + } + + public static MyApplication getInstance() { + return instance; + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Config.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Config.java new file mode 100644 index 0000000..41b25a8 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Config.java @@ -0,0 +1,42 @@ +package com.dueeeke.dkplayer.dlnaupnp; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/7/6 11:32 + */ + +public class Config { + + // mp4 格式 + //http://mp4.res.hunantv.com/video/1155/79c71f27a58042b23776691d206d23bf.mp4 + // ts 格式 +// public static String TEST_URL = "http://ottvideows.hifuntv.com/b36ea6f167c7b5785f3aa46c47b6d983/595f51c1/internettv/c1/2017/03/29/41E0B7C03C15AD472DB008A5FF4566EB.ts?uuid=0c18530ecda4454db49665b178396ff7"; + // m3u8 格式 +// public static String TEST_URL = "https://https-play-g3proxy.lecloud.com/vod/v2/MjYwLzM5LzEwNy9iY2xvdWQvMTAwMDAxL3Zlcl8wMF8yMi0xMTAwMzg4MTg5LWF2Yy00MTg4NTgtYWFjLTQ4MDAwLTU1MzYwLTMzMTk4MDYtMjUzY2MwODk0ODgyZDE3OGRiM2VjMjc3OTliMzc5ODYtMTQ5NDM4MzI2NTkzOC5tcDQ=?b=479&mmsid=234064503&tm=1496913122&pip=cbfbd2fac71c5662777858b9b5e8b611&key=d15f73e306619c49145da43a477197e2&platid=2&splatid=209&payff=0&cuid=100001&vtype=13&dur=55&p1=3&p2=31&p3=311&cf=h5-ios&p=101&playid=0&tss=ios&tag=mobile&sign=bcloud_100001&termid=2&pay=0&ostype=ios&hwtype=un&ajax=1"; + public static String TEST_URL = "http://flv2.bn.netease.com/videolib3/1505/29/DCNOo7461/SD/DCNOo7461-mobile.mp4"; + + /*** 因为后台给的地址是固定的,如果不测试投屏,请设置为 false*/ + public static final boolean DLAN_DEBUG = true; + /*** 轮询获取播放位置时间间隔(单位毫秒)*/ + public static final long REQUEST_GET_INFO_INTERVAL = 2000; + /** 投屏设备支持进度回传 */ + private boolean hasRelTimePosCallback; + private static Config mInstance; + + public static Config getInstance() { + if (null == mInstance) { + mInstance = new Config(); + } + return mInstance; + } + + public boolean getHasRelTimePosCallback() { + return hasRelTimePosCallback; + } + + public void setHasRelTimePosCallback(boolean hasRelTimePosCallback) { + this.hasRelTimePosCallback = hasRelTimePosCallback; + } + +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Intents.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Intents.java new file mode 100644 index 0000000..e2230df --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/Intents.java @@ -0,0 +1,195 @@ +/* + * Copyright (C) 2014 Kevin Shen + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.dueeeke.dkplayer.dlnaupnp; + +import android.content.Intent; + +import java.io.Serializable; + +public class Intents { + /** + * Prefix for all intents created + */ + public static final String INTENT_PREFIX = "com.dueeeke.dkplayer.androidupnpdemo."; + + /** + * Prefix for all extra data added to intents + */ + public static final String INTENT_EXTRA_PREFIX = INTENT_PREFIX + "extra."; + + /** + * Prefix for all action in intents + */ + public static final String INTENT_ACTION_PREFIX = INTENT_PREFIX + "action."; + + /** + * Playing action for MediaPlayer + */ + public static final String ACTION_PLAYING = INTENT_ACTION_PREFIX + "playing"; + + /** + * Paused playback action for MediaPlayer + */ + public static final String ACTION_PAUSED_PLAYBACK = INTENT_ACTION_PREFIX + "paused_playback"; + + /** + * Stopped action for MediaPlayer + */ + public static final String ACTION_STOPPED = INTENT_ACTION_PREFIX + "stopped"; + + /** + * transitioning action for MediaPlayer + */ + public static final String ACTION_TRANSITIONING = INTENT_ACTION_PREFIX + "transitioning"; + + /** + * Change device action for MediaPlayer + */ + public static final String ACTION_CHANGE_DEVICE = INTENT_ACTION_PREFIX + "change_device"; + + /** + * Set volume action for MediaPlayer + */ + public static final String ACTION_SET_VOLUME = INTENT_ACTION_PREFIX + "set_volume"; + + /** + * 主动获取播放进度 + */ + public static final String ACTION_GET_POSITION = INTENT_ACTION_PREFIX + "get_position"; + /** + * 远程设备回传播放进度 + */ + public static final String ACTION_POSITION_CALLBACK = INTENT_ACTION_PREFIX + "position_callback"; + /** + * 音量回传 + */ + public static final String ACTION_VOLUME_CALLBACK = INTENT_ACTION_PREFIX + "volume_callback"; + /** + * 播放进度回传值 + */ + public static final String EXTRA_POSITION = INTENT_ACTION_PREFIX + "extra_position"; + /** + * 音量回传值 + */ + public static final String EXTRA_VOLUME = INTENT_ACTION_PREFIX + "extra_volume"; + /** + * 投屏端播放完成 + */ + public static final String ACTION_PLAY_COMPLETE = INTENT_ACTION_PREFIX + "play_complete"; + + /** + * Update the lastChange value action for MediaPlayer + */ + public static final String ACTION_UPDATE_LAST_CHANGE = INTENT_ACTION_PREFIX + "update_last_change"; + + /** + * Builder for generating an intent configured with extra data. + */ + public static class Builder { + + private final Intent intent; + + /** + * Create builder with suffix + * + * @param actionSuffix + */ + public Builder(String actionSuffix) { + intent = new Intent(INTENT_PREFIX + actionSuffix); + } + + /** + * Add extra field data value to intent being built up + * + * @param fieldName + * @param value + * @return this builder + */ + public Builder add(String fieldName, String value) { + intent.putExtra(fieldName, value); + return this; + } + + /** + * Add extra field data values to intent being built up + * + * @param fieldName + * @param values + * @return this builder + */ + public Builder add(String fieldName, CharSequence[] values) { + intent.putExtra(fieldName, values); + return this; + } + + /** + * Add extra field data value to intent being built up + * + * @param fieldName + * @param value + * @return this builder + */ + public Builder add(String fieldName, int value) { + intent.putExtra(fieldName, value); + return this; + } + + /** + * Add extra field data value to intent being built up + * + * @param fieldName + * @param values + * @return this builder + */ + public Builder add(String fieldName, int[] values) { + intent.putExtra(fieldName, values); + return this; + } + + /** + * Add extra field data value to intent being built up + * + * @param fieldName + * @param values + * @return this builder + */ + public Builder add(String fieldName, boolean[] values) { + intent.putExtra(fieldName, values); + return this; + } + + /** + * Add extra field data value to intent being built up + * + * @param fieldName + * @param value + * @return this builder + */ + public Builder add(String fieldName, Serializable value) { + intent.putExtra(fieldName, value); + return this; + } + + /** + * Get built intent + * + * @return intent + */ + public Intent toIntent() { + return intent; + } + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ClingPlayControl.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ClingPlayControl.java new file mode 100644 index 0000000..e3a5384 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ClingPlayControl.java @@ -0,0 +1,493 @@ +package com.dueeeke.dkplayer.dlnaupnp.control; + +import android.support.annotation.Nullable; +import android.util.Log; + + +import com.dueeeke.dkplayer.dlnaupnp.control.callback.ControlCallback; +import com.dueeeke.dkplayer.dlnaupnp.control.callback.ControlReceiveCallback; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingPositionResponse; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingResponse; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingVolumeResponse; +import com.dueeeke.dkplayer.dlnaupnp.entity.DLANPlayState; +import com.dueeeke.dkplayer.dlnaupnp.entity.IResponse; +import com.dueeeke.dkplayer.dlnaupnp.service.manager.ClingManager; +import com.dueeeke.dkplayer.dlnaupnp.util.ClingUtils; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +import org.fourthline.cling.controlpoint.ControlPoint; +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.message.UpnpResponse; +import org.fourthline.cling.model.meta.Service; +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.model.DIDLObject; +import org.fourthline.cling.support.model.PositionInfo; +import org.fourthline.cling.support.model.ProtocolInfo; +import org.fourthline.cling.support.model.Res; +import org.fourthline.cling.support.model.item.VideoItem; +import org.fourthline.cling.support.renderingcontrol.callback.GetVolume; +import org.fourthline.cling.support.renderingcontrol.callback.SetMute; +import org.fourthline.cling.support.renderingcontrol.callback.SetVolume; +import org.seamless.util.MimeType; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 说明:Cling 实现的控制方法 + * 作者:zhouzhan + * 日期:17/6/27 17:17 + */ + +public class ClingPlayControl implements IPlayControl { + + private static final String TAG = "CHL_" + ClingPlayControl.class.getSimpleName(); + /** 每次接收 500ms 延迟 */ + private static final int RECEIVE_DELAY = 500; + /** 上次设置音量时间戳, 防抖动 */ + private long mVolumeLastTime; + /** + * 当前状态 + */ + private @DLANPlayState.DLANPlayStates int mCurrentState = DLANPlayState.STOP; + private static final String DIDL_LITE_FOOTER = ""; + private static final String DIDL_LITE_HEADER = "" + + ""; + + @Override + public void playNew(final String url, final ControlCallback callback) { + + stop(new ControlCallback() { // 1、 停止当前播放视频 + @Override + public void success(IResponse response) { + + setAVTransportURI(url, new ControlCallback() { // 2、设置 url + @Override + public void success(IResponse response) { + play(callback); // 3、播放视频 + } + + @Override + public void fail(IResponse response) { + if (Utils.isNotNull(callback)) { + callback.fail(response); + } + } + }); + } + + @Override + public void fail(IResponse response) { + if (Utils.isNotNull(callback)) { + callback.fail(response); + } + } + }); + } + + @Override + public void play(final ControlCallback callback) { + final Service avtService = ClingUtils.findServiceFromSelectedDevice(ClingManager.AV_TRANSPORT_SERVICE); + if (Utils.isNull(avtService)) { + return; + } + + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + controlPointImpl.execute(new Play(avtService) { + + @Override + public void success(ActionInvocation invocation) { + super.success(invocation); + if (Utils.isNotNull(callback)) { + callback.success(new ClingResponse(invocation)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingResponse(invocation, operation, defaultMsg)); + } + } + }); + } + + @Override + public void pause(final ControlCallback callback) { + final Service avtService = ClingUtils.findServiceFromSelectedDevice(ClingManager.AV_TRANSPORT_SERVICE); + if (Utils.isNull(avtService)) { + return; + } + + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + controlPointImpl.execute(new Pause(avtService) { + + @Override + public void success(ActionInvocation invocation) { + super.success(invocation); + if (Utils.isNotNull(callback)) { + callback.success(new ClingResponse(invocation)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingResponse(invocation, operation, defaultMsg)); + } + } + }); + } + + @Override + public void stop(final ControlCallback callback) { + final Service avtService = ClingUtils.findServiceFromSelectedDevice(ClingManager.AV_TRANSPORT_SERVICE); + if (Utils.isNull(avtService)) { + return; + } + + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + controlPointImpl.execute(new Stop(avtService) { + + @Override + public void success(ActionInvocation invocation) { + super.success(invocation); + if (Utils.isNotNull(callback)) { + callback.success(new ClingResponse(invocation)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingResponse(invocation, operation, defaultMsg)); + } + } + }); + } + + @Override + public void seek(int pos, final ControlCallback callback) { + final Service avtService = ClingUtils.findServiceFromSelectedDevice(ClingManager.AV_TRANSPORT_SERVICE); + if (Utils.isNull(avtService)) { + return; + } + + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + String time = Utils.getStringTime(pos); + Log.e(TAG, "seek->pos: " + pos + ", time: " + time); + controlPointImpl.execute(new Seek(avtService, time) { + + @Override + public void success(ActionInvocation invocation) { + super.success(invocation); + if (Utils.isNotNull(callback)) { + callback.success(new ClingResponse(invocation)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingResponse(invocation, operation, defaultMsg)); + } + } + }); + } + + //todo 调节音量似乎无作用 + @Override + public void setVolume(int pos, @Nullable final ControlCallback callback) { + final Service rcService = ClingUtils.findServiceFromSelectedDevice(ClingManager.RENDERING_CONTROL_SERVICE); + if (Utils.isNull(rcService)) { + return; + } + + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + long currentTimeMillis = System.currentTimeMillis(); + if (currentTimeMillis > mVolumeLastTime + RECEIVE_DELAY){ + controlPointImpl.execute(new SetVolume(rcService, pos) { + + @Override + public void success(ActionInvocation invocation) { + if (Utils.isNotNull(callback)) { + callback.success(new ClingResponse(invocation)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingResponse(invocation, operation, defaultMsg)); + } + } + }); + } + mVolumeLastTime = currentTimeMillis; + } + + @Override + public void setMute(boolean desiredMute, @Nullable final ControlCallback callback) { + final Service rcService = ClingUtils.findServiceFromSelectedDevice(ClingManager.RENDERING_CONTROL_SERVICE); + if (Utils.isNull(rcService)) { + return; + } + + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + controlPointImpl.execute(new SetMute(rcService, desiredMute) { + + @Override + public void success(ActionInvocation invocation) { + if (Utils.isNotNull(callback)) { + callback.success(new ClingResponse(invocation)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingResponse(invocation, operation, defaultMsg)); + } + } + }); + } + + /** + * 设置片源,用于首次播放 + * + * @param url 片源地址 + * @param callback 回调 + */ + private void setAVTransportURI(String url, final ControlCallback callback) { + if (Utils.isNull(url)) { + return; + } + + String metadata = pushMediaToRender(url, "id", "name", "0"); + + final Service avtService = ClingUtils.findServiceFromSelectedDevice(ClingManager.AV_TRANSPORT_SERVICE); + if (Utils.isNull(avtService)) { + return; + } + + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + controlPointImpl.execute(new SetAVTransportURI(avtService, url, metadata) { + + @Override + public void success(ActionInvocation invocation) { + super.success(invocation); + if (Utils.isNotNull(callback)) { + callback.success(new ClingResponse(invocation)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingResponse(invocation, operation, defaultMsg)); + } + } + }); + } + + @Override + public void getPositionInfo(final ControlReceiveCallback callback) { + + final Service avtService = ClingUtils.findServiceFromSelectedDevice(ClingManager.AV_TRANSPORT_SERVICE); + if (Utils.isNull(avtService)) { + return; + } + + Log.d(TAG, "Found media render service in device, sending get position"); + + GetPositionInfo getPositionInfo = new GetPositionInfo(avtService) { + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingPositionResponse(invocation, operation, defaultMsg)); + } + } + + @Override + public void success(ActionInvocation invocation) { + super.success(invocation); + if (Utils.isNotNull(callback)) { + callback.success(new ClingPositionResponse(invocation)); + } + } + + @Override + public void received(ActionInvocation invocation, PositionInfo info) { + if (Utils.isNotNull(callback)) { + callback.receive(new ClingPositionResponse(invocation, info)); + } + } + }; + + ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + controlPointImpl.execute(getPositionInfo); + } + + @Override + public void getVolume(final ControlReceiveCallback callback) { + final Service avtService = ClingUtils.findServiceFromSelectedDevice(ClingManager.RENDERING_CONTROL_SERVICE); + if (Utils.isNull(avtService)) { + return; + } + GetVolume getVolume = new GetVolume(avtService) { + @Override + public void received(ActionInvocation actionInvocation, int currentVolume) { + if (Utils.isNotNull(callback)) { + callback.receive(new ClingVolumeResponse(actionInvocation, currentVolume)); + } + } + + @Override + public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { + if (Utils.isNotNull(callback)) { + callback.fail(new ClingVolumeResponse(invocation, operation, defaultMsg)); + } + } + }; + + ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + controlPointImpl.execute(getVolume); + } + + public @DLANPlayState.DLANPlayStates + int getCurrentState() { + return mCurrentState; + } + + public void setCurrentState(@DLANPlayState.DLANPlayStates int currentState) { + if (this.mCurrentState != currentState) { + this.mCurrentState = currentState; + } + } + + private String pushMediaToRender(String url, String id, String name, String duration) { + long size = 0; + long bitrate = 0; + Res res = new Res(new MimeType(ProtocolInfo.WILDCARD, ProtocolInfo.WILDCARD), size, url); + + String creator = "unknow"; + String resolution = "unknow"; + VideoItem videoItem = new VideoItem(id, "0", name, creator, res); + + String metadata = createItemMetadata(videoItem); + Log.e(TAG, "metadata: " + metadata); + return metadata; + } + + private String createItemMetadata(DIDLObject item) { + StringBuilder metadata = new StringBuilder(); + metadata.append(DIDL_LITE_HEADER); + + metadata.append(String.format("", item.getId(), item.getParentID(), item.isRestricted() ? "1" : "0")); + + metadata.append(String.format("%s", item.getTitle())); + String creator = item.getCreator(); + if (creator != null) { + creator = creator.replaceAll("<", "_"); + creator = creator.replaceAll(">", "_"); + } + metadata.append(String.format("%s", creator)); + + metadata.append(String.format("%s", item.getClazz().getValue())); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + Date now = new Date(); + String time = sdf.format(now); + metadata.append(String.format("%s", time)); + + // metadata.append(String.format("%s", + // item.get); + + // http://192.168.1.104:8088/Music/07.我醒著做夢.mp3 + + Res res = item.getFirstResource(); + if (res != null) { + // protocol info + String protocolinfo = ""; + ProtocolInfo pi = res.getProtocolInfo(); + if (pi != null) { + protocolinfo = String.format("protocolInfo=\"%s:%s:%s:%s\"", pi.getProtocol(), pi.getNetwork(), pi.getContentFormatMimeType(), pi + .getAdditionalInfo()); + } + Log.e(TAG, "protocolinfo: " + protocolinfo); + + // resolution, extra info, not adding yet + String resolution = ""; + if (res.getResolution() != null && res.getResolution().length() > 0) { + resolution = String.format("resolution=\"%s\"", res.getResolution()); + } + + // duration + String duration = ""; + if (res.getDuration() != null && res.getDuration().length() > 0) { + duration = String.format("duration=\"%s\"", res.getDuration()); + } + + // res begin + // metadata.append(String.format("", protocolinfo)); // no resolution & duration yet + metadata.append(String.format("", protocolinfo, resolution, duration)); + + // url + String url = res.getValue(); + metadata.append(url); + + // res end + metadata.append(""); + } + metadata.append(""); + + metadata.append(DIDL_LITE_FOOTER); + + return metadata.toString(); + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/IPlayControl.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/IPlayControl.java new file mode 100644 index 0000000..786b4d4 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/IPlayControl.java @@ -0,0 +1,67 @@ +package com.dueeeke.dkplayer.dlnaupnp.control; + +import android.support.annotation.Nullable; + +import com.dueeeke.dkplayer.dlnaupnp.control.callback.ControlCallback; +import com.dueeeke.dkplayer.dlnaupnp.control.callback.ControlReceiveCallback; + +/** + * 说明:对视频的控制操作定义 + * 作者:zhouzhan + * 日期:17/6/27 17:13 + */ +public interface IPlayControl { + + /** + * 播放一个新片源 + * + * @param url 片源地址 + */ + void playNew(String url, @Nullable ControlCallback callback); + + /** + * 播放 + */ + void play(@Nullable ControlCallback callback); + + /** + * 暂停 + */ + void pause(@Nullable ControlCallback callback); + + /** + * 停止 + */ + void stop(@Nullable ControlCallback callback); + + /** + * 视频 seek + * + * @param pos seek到的位置(单位:毫秒) + */ + void seek(int pos, @Nullable ControlCallback callback); + + /** + * 设置音量 + * + * @param pos 音量值,最大为 100,最小为 0 + */ + void setVolume(int pos, @Nullable ControlCallback callback); + + /** + * 设置静音 + * + * @param desiredMute 是否静音 + */ + void setMute(boolean desiredMute, @Nullable ControlCallback callback); + + /** + * 获取tv进度 + */ + void getPositionInfo(@Nullable ControlReceiveCallback callback); + + /** + * 获取音量 + */ + void getVolume(@Nullable ControlReceiveCallback callback); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ISubscriptionControl.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ISubscriptionControl.java new file mode 100644 index 0000000..be84c8d --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/ISubscriptionControl.java @@ -0,0 +1,30 @@ +package com.dueeeke.dkplayer.dlnaupnp.control; + +import android.content.Context; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; + + +/** + * 说明:tv端回调 + * 作者:zhouzhan + * 日期:17/7/21 16:38 + */ + +public interface ISubscriptionControl { + + /** + * 监听投屏端 AVTransport 回调 + */ + void registerAVTransport(IDevice device, Context context); + + /** + * 监听投屏端 RenderingControl 回调 + */ + void registerRenderingControl(IDevice device, Context context); + + /** + * 销毁: 释放资源 + */ + void destroy(); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/SubscriptionControl.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/SubscriptionControl.java new file mode 100644 index 0000000..5d767b3 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/SubscriptionControl.java @@ -0,0 +1,67 @@ +package com.dueeeke.dkplayer.dlnaupnp.control; + +import android.content.Context; +import android.support.annotation.NonNull; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; +import com.dueeeke.dkplayer.dlnaupnp.service.callback.AVTransportSubscriptionCallback; +import com.dueeeke.dkplayer.dlnaupnp.service.callback.RenderingControlSubscriptionCallback; +import com.dueeeke.dkplayer.dlnaupnp.service.manager.ClingManager; +import com.dueeeke.dkplayer.dlnaupnp.util.ClingUtils; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +import org.fourthline.cling.controlpoint.ControlPoint; +import org.fourthline.cling.model.meta.Device; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/7/21 16:43 + */ + +public class SubscriptionControl implements ISubscriptionControl { + + private AVTransportSubscriptionCallback mAVTransportSubscriptionCallback; + private RenderingControlSubscriptionCallback mRenderingControlSubscriptionCallback; + + public SubscriptionControl() { + } + + @Override + public void registerAVTransport(@NonNull IDevice device, @NonNull Context context) { + if (Utils.isNotNull(mAVTransportSubscriptionCallback)) { + mAVTransportSubscriptionCallback.end(); + } + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + + mAVTransportSubscriptionCallback = new AVTransportSubscriptionCallback(device.getDevice().findService(ClingManager.AV_TRANSPORT_SERVICE), context); + controlPointImpl.execute(mAVTransportSubscriptionCallback); + } + + @Override + public void registerRenderingControl(@NonNull IDevice device, @NonNull Context context) { + if (Utils.isNotNull(mRenderingControlSubscriptionCallback)) { + mRenderingControlSubscriptionCallback.end(); + } + final ControlPoint controlPointImpl = ClingUtils.getControlPoint(); + if (Utils.isNull(controlPointImpl)) { + return; + } + mRenderingControlSubscriptionCallback = new RenderingControlSubscriptionCallback(device.getDevice().findService(ClingManager + .RENDERING_CONTROL_SERVICE), context); + controlPointImpl.execute(mRenderingControlSubscriptionCallback); + } + + @Override + public void destroy() { + if (Utils.isNotNull(mAVTransportSubscriptionCallback)) { + mAVTransportSubscriptionCallback.end(); + } + if (Utils.isNotNull(mRenderingControlSubscriptionCallback)) { + mRenderingControlSubscriptionCallback.end(); + } + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlCallback.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlCallback.java new file mode 100644 index 0000000..af64a81 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlCallback.java @@ -0,0 +1,16 @@ +package com.dueeeke.dkplayer.dlnaupnp.control.callback; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IResponse; + +/** + * 说明:设备控制操作 回调 + * 作者:zhouzhan + * 日期:17/7/4 10:56 + */ + +public interface ControlCallback { + + void success(IResponse response); + + void fail(IResponse response); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlReceiveCallback.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlReceiveCallback.java new file mode 100644 index 0000000..bdb95b0 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/control/callback/ControlReceiveCallback.java @@ -0,0 +1,15 @@ +package com.dueeeke.dkplayer.dlnaupnp.control.callback; + + +import com.dueeeke.dkplayer.dlnaupnp.entity.IResponse; + +/** + * 说明:手机端接收投屏端信息回调 + * 作者:zhouzhan + * 日期:17/7/19 11:13 + */ + +public interface ControlReceiveCallback extends ControlCallback{ + + void receive(IResponse response); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/BaseClingResponse.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/BaseClingResponse.java new file mode 100644 index 0000000..1d138e5 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/BaseClingResponse.java @@ -0,0 +1,61 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.message.UpnpResponse; + +/** + * 说明:Cling 服务回调基类 + * 作者:zhouzhan + * 日期:17/7/19 16:25 + */ + +public class BaseClingResponse implements IResponse { + + protected ActionInvocation mActionInvocation; + protected UpnpResponse operation; + protected String defaultMsg; + protected T info; + + /** + * 控制操作成功 构造器 + * + * @param actionInvocation cling action 调用 + */ + public BaseClingResponse(ActionInvocation actionInvocation) { + mActionInvocation = actionInvocation; + } + + /** + * 控制操作失败 构造器 + * + * @param actionInvocation cling action 调用 + * @param operation 执行状态 + * @param defaultMsg 错误信息 + */ + public BaseClingResponse(ActionInvocation actionInvocation, UpnpResponse operation, String defaultMsg) { + mActionInvocation = actionInvocation; + this.operation = operation; + this.defaultMsg = defaultMsg; + } + + /** + * 接收时的回调 + * + * @param actionInvocation cling action 调用 + * @param info 回调的对象 + */ + public BaseClingResponse(ActionInvocation actionInvocation, T info) { + mActionInvocation = actionInvocation; + this.info = info; + } + + @Override + public T getResponse() { + return info; + } + + @Override + public void setResponse(T response) { + info = response; + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingControlPoint.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingControlPoint.java new file mode 100644 index 0000000..2c2d97d --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingControlPoint.java @@ -0,0 +1,41 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import org.fourthline.cling.controlpoint.ControlPoint; + +/** + * 说明:cling 控制点实现类 + * 作者:zhouzhan + * 日期:17/6/28 17:03 + */ + +public class ClingControlPoint implements IControlPoint { + + private static ClingControlPoint INSTANCE = null; + private ControlPoint mControlPoint; + + private ClingControlPoint() { + } + + public static ClingControlPoint getInstance() { + if (INSTANCE == null) { + INSTANCE = new ClingControlPoint(); + } + return INSTANCE; + } + + @Override + public ControlPoint getControlPoint() { + return mControlPoint; + } + + @Override + public void setControlPoint(ControlPoint controlPoint) { + mControlPoint = controlPoint; + } + + @Override + public void destroy() { + mControlPoint = null; + INSTANCE = null; + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDevice.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDevice.java new file mode 100644 index 0000000..3107b49 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDevice.java @@ -0,0 +1,33 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import org.fourthline.cling.model.meta.Device; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/27 17:47 + */ + +public class ClingDevice implements IDevice { + + private Device mDevice; + /** 是否已选中 */ + private boolean isSelected; + + public ClingDevice(Device device) { + this.mDevice = device; + } + + @Override + public Device getDevice() { + return mDevice; + } + + public boolean isSelected() { + return isSelected; + } + + public void setSelected(boolean selected) { + isSelected = selected; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDeviceList.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDeviceList.java new file mode 100644 index 0000000..51ec6a5 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingDeviceList.java @@ -0,0 +1,90 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import android.support.annotation.Nullable; + +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +import org.fourthline.cling.model.meta.Device; + +import java.util.ArrayList; +import java.util.Collection; + +/** + * 说明:单例设备列表, 保证全局只有一个设备列表 + * 作者:zhouzhan + * 日期:17/6/30 11:25 + */ + +public class ClingDeviceList { + + private static ClingDeviceList INSTANCE = null; + + /** + * 投屏设备列表 都是引用该 list + */ + private Collection mClingDeviceList; + + private ClingDeviceList(){ + mClingDeviceList = new ArrayList<>(); + } + + public static ClingDeviceList getInstance() { + /*if (Utils.isNull(INSTANCE)) { + INSTANCE = new ClingDeviceList(); + }*/ + if (Utils.isNull(INSTANCE)){ + synchronized(ClingDeviceList.class){ + if (Utils.isNull(INSTANCE)) + INSTANCE = new ClingDeviceList(); + } + } + return INSTANCE; + } + + public void removeDevice(ClingDevice device){ + mClingDeviceList.remove(device); + } + + public void addDevice(ClingDevice device){ + mClingDeviceList.add(device); + } + + @Nullable + public ClingDevice getClingDevice(Device device){ + for (ClingDevice clingDevice : mClingDeviceList){ + Device deviceTemp = clingDevice.getDevice(); + if (deviceTemp != null && deviceTemp.equals(device)){ + return clingDevice; + } + } + return null; + } + + public boolean contain(Device device){ + for (ClingDevice clingDevice : mClingDeviceList){ + Device deviceTemp = clingDevice.getDevice(); + if (deviceTemp != null && deviceTemp.equals(device)){ + return true; + } + } + return false; + } + + @Nullable + public Collection getClingDeviceList(){ + return mClingDeviceList; + } + + public void setClingDeviceList(Collection clingDeviceList) { +// mClingDeviceList = clingDeviceList; + mClingDeviceList.clear(); + if (clingDeviceList != null) { + mClingDeviceList.addAll(clingDeviceList); + } + } + + public void destroy(){ + mClingDeviceList = null; + INSTANCE = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingPositionResponse.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingPositionResponse.java new file mode 100644 index 0000000..7105786 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingPositionResponse.java @@ -0,0 +1,27 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.message.UpnpResponse; +import org.fourthline.cling.support.model.PositionInfo; + +/** + * 说明:获取播放进度回调结果 + * 作者:zhouzhan + * 日期:17/7/19 12:26 + */ + +public class ClingPositionResponse extends BaseClingResponse implements IResponse { + + + public ClingPositionResponse(ActionInvocation actionInvocation) { + super(actionInvocation); + } + + public ClingPositionResponse(ActionInvocation actionInvocation, UpnpResponse operation, String defaultMsg) { + super(actionInvocation, operation, defaultMsg); + } + + public ClingPositionResponse(ActionInvocation actionInvocation, PositionInfo info) { + super(actionInvocation, info); + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingResponse.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingResponse.java new file mode 100644 index 0000000..a6a2a36 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingResponse.java @@ -0,0 +1,49 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.message.UpnpResponse; + +/** + * 说明:Cling 库中,控制操作返回结果 + * 作者:zhouzhan + * 日期:17/7/4 10:50 + */ + +public class ClingResponse implements IResponse { + + private ActionInvocation mActionInvocation; + private UpnpResponse operation; + private String defaultMsg; + + /** + * 控制操作成功 构造器 + * + * @param actionInvocation cling action 调用 + */ + public ClingResponse(ActionInvocation actionInvocation) { + mActionInvocation = actionInvocation; + } + + /** + * 控制操作失败 构造器 + * + * @param actionInvocation cling action 调用 + * @param operation 执行状态 + * @param defaultMsg 错误信息 + */ + public ClingResponse(ActionInvocation actionInvocation, UpnpResponse operation, String defaultMsg) { + mActionInvocation = actionInvocation; + this.operation = operation; + this.defaultMsg = defaultMsg; + } + + @Override + public ActionInvocation getResponse() { + return null; + } + + @Override + public void setResponse(ActionInvocation response) { + mActionInvocation = response; + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingVolumeResponse.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingVolumeResponse.java new file mode 100644 index 0000000..94ec152 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/ClingVolumeResponse.java @@ -0,0 +1,22 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import org.fourthline.cling.model.action.ActionInvocation; +import org.fourthline.cling.model.message.UpnpResponse; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/7/19 16:22 + */ + +public class ClingVolumeResponse extends BaseClingResponse { + + + public ClingVolumeResponse(ActionInvocation actionInvocation, UpnpResponse operation, String defaultMsg) { + super(actionInvocation, operation, defaultMsg); + } + + public ClingVolumeResponse(ActionInvocation actionInvocation, Integer info) { + super(actionInvocation, info); + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/DLANPlayState.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/DLANPlayState.java new file mode 100644 index 0000000..c4cba49 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/DLANPlayState.java @@ -0,0 +1,39 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +import android.support.annotation.IntDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * 说明:连接设备状态 + * 作者:zhouzhan + * 日期:17/7/10 17:21 + */ + +public class DLANPlayState { + /** 播放状态 */ + public static final int PLAY = 1; + /** 暂停状态 */ + public static final int PAUSE = 2; + /** 停止状态 */ + public static final int STOP = 3; + /** 转菊花状态 */ + public static final int BUFFER = 4; + /** 投放失败 */ + public static final int ERROR = 5; + + /** 设备状态 */ + @IntDef({PLAY, PAUSE,STOP, BUFFER, ERROR}) + @Retention(RetentionPolicy.SOURCE) + public @interface DLANPlayStates {} + + + // 以下不算设备状态, 只是常量 + /** 主动轮询获取播放进度(在远程设备不支持播放进度回传时使用) */ + public static final int GET_POSITION_POLING = 6; + /** 远程设备播放进度回传 */ + public static final int POSITION_CALLBACK = 7; + /** 投屏端播放完成 */ + public static final int PLAY_COMPLETE = 8; +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IControlPoint.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IControlPoint.java new file mode 100644 index 0000000..a4b35ed --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IControlPoint.java @@ -0,0 +1,26 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +/** + * 说明:控制点 + * 作者:zhouzhan + * 日期:17/6/27 17:47 + */ + +public interface IControlPoint { + + /** + * @return 返回控制点 + */ + T getControlPoint(); + + /** + * 设置控制点 + * @param controlPoint 控制点 + */ + void setControlPoint(T controlPoint); + + /** + * 销毁 清空缓存 + */ + void destroy(); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IDevice.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IDevice.java new file mode 100644 index 0000000..aef5361 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IDevice.java @@ -0,0 +1,12 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/27 17:47 + */ + +public interface IDevice { + + T getDevice(); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IResponse.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IResponse.java new file mode 100644 index 0000000..32fe712 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/entity/IResponse.java @@ -0,0 +1,14 @@ +package com.dueeeke.dkplayer.dlnaupnp.entity; + +/** + * 说明:设备控制 返回结果 + * 作者:zhouzhan + * 日期:17/7/4 10:50 + */ + +public interface IResponse { + + T getResponse(); + + void setResponse(T response); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/BrowseRegistryListener.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/BrowseRegistryListener.java new file mode 100644 index 0000000..0f6958f --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/BrowseRegistryListener.java @@ -0,0 +1,91 @@ +package com.dueeeke.dkplayer.dlnaupnp.listener; + +import android.util.Log; + +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDevice; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDeviceList; +import com.dueeeke.dkplayer.dlnaupnp.service.manager.ClingManager; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +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.DefaultRegistryListener; +import org.fourthline.cling.registry.Registry; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/29 11:05 + */ + +public class BrowseRegistryListener extends DefaultRegistryListener { + + + private static final String TAG = "CHL_" + BrowseRegistryListener.class.getSimpleName(); + + private DeviceListChangedListener mOnDeviceListChangedListener; + + /* Discovery performance optimization for very slow Android devices! */ + @Override + public void remoteDeviceDiscoveryStarted(Registry registry, RemoteDevice device) { + // 在这里设备拥有服务 也木有 action。。 +// deviceAdded(device); + } + + @Override + public void remoteDeviceDiscoveryFailed(Registry registry, final RemoteDevice device, final Exception ex) { + Log.e(TAG, "remoteDeviceDiscoveryFailed device: " + device.getDisplayString()); + deviceRemoved(device); + } + /* End of optimization, you can remove the whole block if your Android handset is fast (>= 600 Mhz) */ + + @Override + public void remoteDeviceAdded(Registry registry, RemoteDevice device) { + deviceAdded(device); + } + + @Override + public void remoteDeviceRemoved(Registry registry, RemoteDevice device) { + deviceRemoved(device); + } + + @Override + public void localDeviceAdded(Registry registry, LocalDevice device) { + // deviceAdded(device); // 本地设备 已加入 + } + + @Override + public void localDeviceRemoved(Registry registry, LocalDevice device) { + // deviceRemoved(device); // 本地设备 已移除 + } + + private void deviceAdded(Device device) { + Log.e(TAG, "deviceAdded " + device.getDetails().getFriendlyName()+" type="+device.getType()); + if (!device.getType().equals(ClingManager.DMR_DEVICE_TYPE)) { + Log.e(TAG, "deviceAdded called, but not match"); + return; + } + + if (Utils.isNotNull(mOnDeviceListChangedListener)) { + ClingDevice clingDevice = new ClingDevice(device); + ClingDeviceList.getInstance().addDevice(clingDevice); + mOnDeviceListChangedListener.onDeviceAdded(clingDevice); + } + } + + public void deviceRemoved(Device device) { + Log.e(TAG, "deviceRemoved"); + if (Utils.isNotNull(mOnDeviceListChangedListener)) { + ClingDevice clingDevice = ClingDeviceList.getInstance().getClingDevice(device); + if (clingDevice != null) { + ClingDeviceList.getInstance().removeDevice(clingDevice); + mOnDeviceListChangedListener.onDeviceRemoved(clingDevice); + } + } + } + + public void setOnDeviceListChangedListener(DeviceListChangedListener onDeviceListChangedListener) { + mOnDeviceListChangedListener = onDeviceListChangedListener; + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/DeviceListChangedListener.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/DeviceListChangedListener.java new file mode 100644 index 0000000..a0fc114 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/listener/DeviceListChangedListener.java @@ -0,0 +1,24 @@ +package com.dueeeke.dkplayer.dlnaupnp.listener; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; + +/** + * 说明:设备状态改变监听接口 + * 作者:zhouzhan + * 日期:17/6/30 11:09 + */ + +public interface DeviceListChangedListener { + + /** + * 某设备被发现之后回调该方法 + * @param device 被发现的设备 + */ + void onDeviceAdded(IDevice device); + + /** + * 在已发现设备中 移除了某设备之后回调该接口 + * @param device 被移除的设备 + */ + void onDeviceRemoved(IDevice device); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/ClingUpnpService.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/ClingUpnpService.java new file mode 100644 index 0000000..1877858 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/ClingUpnpService.java @@ -0,0 +1,60 @@ +package com.dueeeke.dkplayer.dlnaupnp.service; + +import android.content.Intent; +import android.os.IBinder; + +import org.fourthline.cling.UpnpServiceConfiguration; +import org.fourthline.cling.android.AndroidUpnpServiceImpl; +import org.fourthline.cling.controlpoint.ControlPoint; +import org.fourthline.cling.model.meta.LocalDevice; +import org.fourthline.cling.registry.Registry; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/28 16:11 + */ + +public class ClingUpnpService extends AndroidUpnpServiceImpl { + private LocalDevice mLocalDevice = null; + + @Override + public void onCreate() { + super.onCreate(); + + //LocalBinder instead of binder + binder = new LocalBinder(); + } + + @Override + public void onDestroy() { + super.onDestroy(); + } + + @Override + public IBinder onBind(Intent intent) { + return binder; + } + + public LocalDevice getLocalDevice() { + return mLocalDevice; + } + + public UpnpServiceConfiguration getConfiguration() { + return upnpService.getConfiguration(); + } + + public Registry getRegistry() { + return upnpService.getRegistry(); + } + + public ControlPoint getControlPoint() { + return upnpService.getControlPoint(); + } + + public class LocalBinder extends Binder { + public ClingUpnpService getService() { + return ClingUpnpService.this; + } + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/SystemService.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/SystemService.java new file mode 100644 index 0000000..128f279 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/SystemService.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2014 Kevin Shen + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.dueeeke.dkplayer.dlnaupnp.service; + +import android.app.Service; +import android.content.Intent; +import android.os.Binder; +import android.os.IBinder; +import android.util.Log; + + +import com.dueeeke.dkplayer.dlnaupnp.Intents; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDevice; +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; +import com.dueeeke.dkplayer.dlnaupnp.service.callback.AVTransportSubscriptionCallback; +import com.dueeeke.dkplayer.dlnaupnp.service.manager.ClingManager; + +import org.fourthline.cling.controlpoint.ControlPoint; + +/** + * Application service,process background task. + */ +public class SystemService extends Service { + private static final String TAG = "CHL_" + SystemService.class.getSimpleName(); + + private Binder binder = new LocalBinder(); + private ClingDevice mSelectedDevice; + private int mDeviceVolume; + private AVTransportSubscriptionCallback mAVTransportSubscriptionCallback; + + @Override + public void onCreate() { + super.onCreate(); + } + + @Override + public void onDestroy() { + //End all subscriptions + if (mAVTransportSubscriptionCallback != null) { +// mAVTransportSubscriptionCallback.run();//todo + mAVTransportSubscriptionCallback.end(); + } + + super.onDestroy(); + } + + @Override + public IBinder onBind(Intent intent) { + return binder; + } + + public class LocalBinder extends Binder { + public SystemService getService() { + return SystemService.this; + } + } + + public IDevice getSelectedDevice() { + return mSelectedDevice; + } + + public void setSelectedDevice(IDevice selectedDevice, ControlPoint controlPoint) { + if (selectedDevice == mSelectedDevice) return; + + Log.i(TAG, "Change selected device."); + mSelectedDevice = (ClingDevice) selectedDevice; + //End last device's subscriptions + if (mAVTransportSubscriptionCallback != null) { + mAVTransportSubscriptionCallback.end(); + } + //Init Subscriptions + mAVTransportSubscriptionCallback = new AVTransportSubscriptionCallback( + mSelectedDevice.getDevice().findService(ClingManager.AV_TRANSPORT_SERVICE), this); + controlPoint.execute(mAVTransportSubscriptionCallback); + + Intent intent = new Intent(Intents.ACTION_CHANGE_DEVICE); + sendBroadcast(intent); + } + + public void subscribeMediaRender(ControlPoint controlPoint){ + //Init Subscriptions +// mAVTransportSubscriptionCallback = new AVTransportSubscriptionCallback( +// mSelectedDevice.getDevice().findService(ClingUpnpServiceManager.AV_TRANSPORT_SERVICE), this); +// controlPoint.execute(mAVTransportSubscriptionCallback); + } + + public int getDeviceVolume() { + return mDeviceVolume; + } + + public void setDeviceVolume(int currentVolume) { + mDeviceVolume = currentVolume; + } + +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/AVTransportSubscriptionCallback.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/AVTransportSubscriptionCallback.java new file mode 100644 index 0000000..d7934a6 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/AVTransportSubscriptionCallback.java @@ -0,0 +1,101 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.callback; + +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +import com.dueeeke.dkplayer.dlnaupnp.Config; +import com.dueeeke.dkplayer.dlnaupnp.Intents; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +import org.fourthline.cling.model.gena.GENASubscription; +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.TransportState; + +import java.util.Map; + +/** + * 说明:设备事件处理,监听 tv端 的状态 + * 作者:zhouzhan + * 日期:15/7/17 AM11:33 + */ + +public class AVTransportSubscriptionCallback extends BaseSubscriptionCallback { + + private static final String TAG = "CHL_" + AVTransportSubscriptionCallback.class.getSimpleName(); + + public AVTransportSubscriptionCallback(org.fourthline.cling.model.meta.Service service, Context context) { + super(service, context); + } + + @Override + protected void eventReceived(GENASubscription subscription) { // 这里进行 事件接收处理 + if (Utils.isNull(mContext)) + return; + + Map values = subscription.getCurrentValues(); + if (values != null && values.containsKey("LastChange")) { + String lastChangeValue = values.get("LastChange").toString(); + Log.i(TAG, "LastChange:" + lastChangeValue); + doAVTransportChange(lastChangeValue); + } + } + + private void doAVTransportChange(String lastChangeValue) { + try { + LastChange lastChange = new LastChange(new AVTransportLastChangeParser(), lastChangeValue); + + //Parse TransportState value. + AVTransportVariable.TransportState transportState = lastChange.getEventedValue(0, AVTransportVariable.TransportState.class); + if (transportState != null) { + TransportState ts = transportState.getValue(); + if (ts == TransportState.PLAYING) { + Log.e(TAG, "PLAYING"); + Intent intent = new Intent(Intents.ACTION_PLAYING); + mContext.sendBroadcast(intent); + return; + } else if (ts == TransportState.PAUSED_PLAYBACK) { + Log.e(TAG, "PAUSED_PLAYBACK"); + Intent intent = new Intent(Intents.ACTION_PAUSED_PLAYBACK); + mContext.sendBroadcast(intent); + return; + } else if (ts == TransportState.STOPPED) { + Log.e(TAG, "STOPPED"); + Intent intent = new Intent(Intents.ACTION_STOPPED); + mContext.sendBroadcast(intent); + return; + } else if (ts == TransportState.TRANSITIONING) { // 转菊花状态 + Log.e(TAG, "BUFFER"); + Intent intent = new Intent(Intents.ACTION_TRANSITIONING); + mContext.sendBroadcast(intent); + return; + } + } + + //RelativeTimePosition + String position = "00:00:00"; + AVTransportVariable.RelativeTimePosition eventedValue = lastChange.getEventedValue(0, AVTransportVariable.RelativeTimePosition.class); + if (Utils.isNotNull(eventedValue)) { + position = lastChange.getEventedValue(0, AVTransportVariable.RelativeTimePosition.class).getValue(); + int intTime = Utils.getIntTime(position); + Log.e(TAG, "position: " + position + ", intTime: " + intTime); + + // 该设备支持进度回传 + Config.getInstance().setHasRelTimePosCallback(true); + + Intent intent = new Intent(Intents.ACTION_POSITION_CALLBACK); + intent.putExtra(Intents.EXTRA_POSITION, intTime); + mContext.sendBroadcast(intent); + + // TODO: 17/7/20 ACTION_PLAY_COMPLETE 播完了 + + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/BaseSubscriptionCallback.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/BaseSubscriptionCallback.java new file mode 100644 index 0000000..5ab94d0 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/BaseSubscriptionCallback.java @@ -0,0 +1,47 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.callback; + +import android.content.Context; +import android.util.Log; + +import org.fourthline.cling.controlpoint.SubscriptionCallback; +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.Service; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/7/20 15:48 + */ + +public abstract class BaseSubscriptionCallback extends SubscriptionCallback { + + private static final int SUBSCRIPTION_DURATION_SECONDS = 3600 * 3; + private static final String TAG = BaseSubscriptionCallback.class.getSimpleName(); + protected Context mContext; + + protected BaseSubscriptionCallback(Service service, Context context) { + super(service, SUBSCRIPTION_DURATION_SECONDS); + mContext = context; + } + + @Override + protected void failed(GENASubscription subscription, UpnpResponse responseStatus, Exception exception, String defaultMsg) { + Log.e(TAG, "AVTransportSubscriptionCallback failed."); + } + + @Override + protected void established(GENASubscription subscription) { + } + + @Override + protected void eventsMissed(GENASubscription subscription, int numberOfMissedEvents) { + } + + @Override + protected void ended(GENASubscription subscription, CancelReason reason, UpnpResponse responseStatus) { + mContext = null; + Log.e(TAG, "ended"); + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/RenderingControlSubscriptionCallback.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/RenderingControlSubscriptionCallback.java new file mode 100644 index 0000000..fc7c2ce --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/callback/RenderingControlSubscriptionCallback.java @@ -0,0 +1,70 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.callback; + +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +import com.dueeeke.dkplayer.dlnaupnp.Intents; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +import org.fourthline.cling.model.gena.GENASubscription; +import org.fourthline.cling.model.meta.Service; +import org.fourthline.cling.model.state.StateVariableValue; +import org.fourthline.cling.support.lastchange.LastChange; +import org.fourthline.cling.support.renderingcontrol.lastchange.RenderingControlLastChangeParser; +import org.fourthline.cling.support.renderingcontrol.lastchange.RenderingControlVariable; + +import java.util.Map; + +/** + * 说明:RenderingControl 事件回传 + * 作者:zhouzhan + * 日期:17/7/18 18:54 + */ + +public class RenderingControlSubscriptionCallback extends BaseSubscriptionCallback { + + private static final String TAG = "CHL_" + RenderingControlSubscriptionCallback.class.getSimpleName(); + + public RenderingControlSubscriptionCallback(Service service, Context context) { + super(service, context); + } + + @Override + protected void eventReceived(GENASubscription subscription) { + Map values = subscription.getCurrentValues(); + if (Utils.isNull(values)) { + return; + } + if (Utils.isNull(mContext)) { + return; + } + if (!values.containsKey("LastChange")) { + return; + } + + String lastChangeValue = values.get("LastChange").toString(); + Log.i(TAG, "LastChange:" + lastChangeValue); + LastChange lastChange; + try { + lastChange = new LastChange(new RenderingControlLastChangeParser(), lastChangeValue); + //获取音量 volume + int volume = 0; + if (lastChange.getEventedValue(0, RenderingControlVariable.Volume.class) != null) { + + volume = lastChange.getEventedValue(0, RenderingControlVariable.Volume.class).getValue().getVolume(); + + Log.e(TAG, "onVolumeChange volume: " + volume); + Intent intent = new Intent(Intents.ACTION_VOLUME_CALLBACK); + intent.putExtra(Intents.EXTRA_VOLUME, volume); + mContext.sendBroadcast(intent); + + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + +} + diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/ClingManager.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/ClingManager.java new file mode 100644 index 0000000..4c3774e --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/ClingManager.java @@ -0,0 +1,153 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.manager; + +import android.content.Context; +import android.support.annotation.Nullable; +import android.util.Log; + +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingControlPoint; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDevice; +import com.dueeeke.dkplayer.dlnaupnp.entity.IControlPoint; +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; +import com.dueeeke.dkplayer.dlnaupnp.service.ClingUpnpService; +import com.dueeeke.dkplayer.dlnaupnp.util.ListUtils; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +import org.fourthline.cling.model.meta.Device; +import org.fourthline.cling.model.types.DeviceType; +import org.fourthline.cling.model.types.ServiceType; +import org.fourthline.cling.model.types.UDADeviceType; +import org.fourthline.cling.model.types.UDAServiceType; +import org.fourthline.cling.registry.Registry; + +import java.util.ArrayList; +import java.util.Collection; + +/** + * 说明:所有对服务的操作都通过该类代理执行 + * 作者:zhouzhan + * 日期:17/6/27 18:12 + */ + +public class ClingManager implements IClingManager { + +// public static final ServiceType CONTENT_DIRECTORY_SERVICE = new UDAServiceType("ContentDirectory"); + public static final ServiceType AV_TRANSPORT_SERVICE = new UDAServiceType("AVTransport"); + /** 控制服务 */ + public static final ServiceType RENDERING_CONTROL_SERVICE = new UDAServiceType("RenderingControl"); + public static final DeviceType DMR_DEVICE_TYPE = new UDADeviceType("MediaRenderer"); + private static final String TAG = "CHL_" + ClingManager.class.getSimpleName(); + + private static ClingManager INSTANCE = null; + + private ClingUpnpService mUpnpService; + private IDeviceManager mDeviceManager; + +// private SystemService mSystemService; + + private ClingManager() { + } + + public static ClingManager getInstance() { + if (Utils.isNull(INSTANCE)) { + INSTANCE = new ClingManager(); + } + return INSTANCE; + } + + + @Override + public void searchDevices() { + if (!Utils.isNull(mUpnpService)) { + mUpnpService.getControlPoint().search(); + } + } + + @Override + @Nullable + public Collection getDmrDevices() { //todo may return null + if (Utils.isNull(mUpnpService)) { + return null; + } + + Collection devices = mUpnpService.getRegistry().getDevices(DMR_DEVICE_TYPE); + Log.e(TAG, "getDmrDevices devices="+devices+" size="+devices.size()); + if (ListUtils.isEmpty(devices)) { + return null; + } + + Collection clingDevices = new ArrayList<>(); + for (Device device : devices) { + ClingDevice clingDevice = new ClingDevice(device); + clingDevices.add(clingDevice); + } + return clingDevices; + } + + @Override + @Nullable + public IControlPoint getControlPoint() { + if (Utils.isNull(mUpnpService)) { + return null; + } + ClingControlPoint.getInstance().setControlPoint(mUpnpService.getControlPoint()); + + return ClingControlPoint.getInstance(); + } + + @Override + public Registry getRegistry() { + return mUpnpService.getRegistry(); + } + + @Override + public IDevice getSelectedDevice() { + if (Utils.isNull(mDeviceManager)) { + return null; + } + return mDeviceManager.getSelectedDevice(); + } + + @Override + public void cleanSelectedDevice() { + if (Utils.isNull(mDeviceManager)) { + return; + } + mDeviceManager.cleanSelectedDevice(); + } + + @Override + public void setSelectedDevice(IDevice device) { + mDeviceManager.setSelectedDevice(device); + } + + @Override + public void registerAVTransport(Context context) { + if (Utils.isNull(mDeviceManager)) + return; + mDeviceManager.registerAVTransport(context); + } + + @Override + public void registerRenderingControl(Context context) { + if (Utils.isNull(mDeviceManager)) + return; + + mDeviceManager.registerRenderingControl(context); + } + + @Override + public void setUpnpService(ClingUpnpService upnpService) { + mUpnpService = upnpService; + } + + @Override + public void setDeviceManager(IDeviceManager deviceManager) { + mDeviceManager = deviceManager; + } + + @Override + public void destroy() { + mUpnpService.onDestroy(); + mDeviceManager.destroy(); + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/DeviceManager.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/DeviceManager.java new file mode 100644 index 0000000..5c3227d --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/DeviceManager.java @@ -0,0 +1,93 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.manager; + + +import android.content.Context; +import android.util.Log; + + +import com.dueeeke.dkplayer.dlnaupnp.Config; +import com.dueeeke.dkplayer.dlnaupnp.control.SubscriptionControl; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDevice; +import com.dueeeke.dkplayer.dlnaupnp.entity.ClingDeviceList; +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; +import com.dueeeke.dkplayer.dlnaupnp.util.Utils; + +import java.util.Collection; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/7/21 16:33 + */ + +public class DeviceManager implements IDeviceManager { + private static final String TAG = "CHL_" + DeviceManager.class.getSimpleName(); + /** + * 已选中的设备, 它也是 ClingDeviceList 中的一员 + */ + private ClingDevice mSelectedDevice; + private SubscriptionControl mSubscriptionControl; + + public DeviceManager() { + mSubscriptionControl = new SubscriptionControl(); + } + + @Override + public IDevice getSelectedDevice() { + return mSelectedDevice; + } + + @Override + public void setSelectedDevice(IDevice selectedDevice) { +// if (selectedDevice != mSelectedDevice){ +// Intent intent = new Intent(Intents.ACTION_CHANGE_DEVICE); +// sendBroadcast(intent); +// } + + Log.i(TAG, "Change selected device."); + mSelectedDevice = (ClingDevice) selectedDevice; + + // 重置选中状态 + Collection clingDeviceList = ClingDeviceList.getInstance().getClingDeviceList(); + if (Utils.isNotNull(clingDeviceList)){ + for (ClingDevice device : clingDeviceList){ + device.setSelected(false); + } + } + // 设置选中状态 + mSelectedDevice.setSelected(true); + // 清空状态 + Config.getInstance().setHasRelTimePosCallback(false); + } + + @Override + public void cleanSelectedDevice() { + if (Utils.isNull(mSelectedDevice)) + return; + + mSelectedDevice.setSelected(false); + } + + @Override + public void registerAVTransport(Context context) { + if (Utils.isNull(mSelectedDevice)) + return; + + mSubscriptionControl.registerAVTransport(mSelectedDevice, context); + } + + @Override + public void registerRenderingControl(Context context) { + if (Utils.isNull(mSelectedDevice)) + return; + + mSubscriptionControl.registerRenderingControl(mSelectedDevice, context); + } + + @Override + public void destroy() { + if (Utils.isNotNull(mSubscriptionControl)){ + mSubscriptionControl.destroy(); + } + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IClingManager.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IClingManager.java new file mode 100644 index 0000000..e40dadb --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IClingManager.java @@ -0,0 +1,22 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.manager; + + + +import com.dueeeke.dkplayer.dlnaupnp.service.ClingUpnpService; + +import org.fourthline.cling.registry.Registry; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/28 16:30 + */ + +public interface IClingManager extends IDLNAManager { + + void setUpnpService(ClingUpnpService upnpService); + + void setDeviceManager(IDeviceManager deviceManager); + + Registry getRegistry(); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDLNAManager.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDLNAManager.java new file mode 100644 index 0000000..4145ac8 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDLNAManager.java @@ -0,0 +1,72 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.manager; + + +import android.content.Context; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IControlPoint; +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; + +import java.util.Collection; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/27 17:41 + */ + +public interface IDLNAManager { + + /** + * 搜索所有的设备 + */ + void searchDevices(); + + /** + * 获取支持 Media 类型的设备 + * + * @return 设备列表 + */ + Collection getDmrDevices(); + + /** + * 获取控制点 + * + * @return 控制点 + */ + IControlPoint getControlPoint(); + + /** + * 获取选中的设备 + * + * @return 选中的设备 + */ + IDevice getSelectedDevice(); + + /** + * 取消选中的设备 + */ + void cleanSelectedDevice(); + + /** + * 设置选中的设备 + * @param device 已选中设备 + */ + void setSelectedDevice(IDevice device); + + /** + * 监听投屏端 AVTransport 回调 + * @param context 用于接收到消息发广播 + */ + void registerAVTransport(Context context); + + /** + * 监听投屏端 RenderingControl 回调 + * @param context 用于接收到消息发广播 + */ + void registerRenderingControl(Context context); + + /** + * 销毁 + */ + void destroy(); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDeviceManager.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDeviceManager.java new file mode 100644 index 0000000..991df51 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IDeviceManager.java @@ -0,0 +1,47 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.manager; + +import android.content.Context; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; + + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/7/21 16:34 + */ + +public interface IDeviceManager { + + /** + * 获取选中设备 + */ + IDevice getSelectedDevice(); + + /** + * 设置选中设备 + */ + void setSelectedDevice(IDevice selectedDevice); + + /** + * 取消选中设备 + */ + void cleanSelectedDevice(); + + /** + * 监听投屏端 AVTransport 回调 + * @param context 用于接收到消息发广播 + */ + void registerAVTransport(Context context); + + /** + * 监听投屏端 RenderingControl 回调 + * @param context 用于接收到消息发广播 + */ + void registerRenderingControl(Context context); + + /** + * 销毁 + */ + void destroy(); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IUpnpServiceManager.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IUpnpServiceManager.java new file mode 100644 index 0000000..44dbeb9 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/service/manager/IUpnpServiceManager.java @@ -0,0 +1,52 @@ +package com.dueeeke.dkplayer.dlnaupnp.service.manager; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IControlPoint; +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; + +import java.util.Collection; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/27 17:41 + */ + +public interface IUpnpServiceManager { + + /** + * 搜索所有的设备 + */ + void searchDevices(); + + /** + * 获取支持 Media 类型的设备 + * + * @return 设备列表 + */ + Collection getDmrDevices(); + + /** + * 获取控制点 + * + * @return 控制点 + */ + IControlPoint getControlPoint(); + + /** + * 获取选中的设备 + * + * @return 选中的设备 + */ + IDevice getSelectedDevice(); + + /** + * 设置选中的设备 + * @param device 已选中设备 + */ + void setSelectedDevice(IDevice device); + + /** + * 销毁 + */ + void destroy(); +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/upnp/AndroidJettyServletContainer.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/upnp/AndroidJettyServletContainer.java new file mode 100644 index 0000000..07452a3 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/upnp/AndroidJettyServletContainer.java @@ -0,0 +1,193 @@ +/* + * Copyright (C) 2014 Kevin Shen + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.dueeeke.dkplayer.dlnaupnp.upnp; + +import org.eclipse.jetty.server.AbstractHttpConnection; +import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.bio.SocketConnector; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.util.thread.ExecutorThreadPool; +import org.fourthline.cling.transport.spi.ServletContainerAdapter; + +import java.io.IOException; +import java.net.Socket; +import java.util.concurrent.ExecutorService; +import java.util.logging.Level; +import java.util.logging.Logger; + +import javax.servlet.Servlet; +import javax.servlet.http.HttpServletRequest; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/27 17:20 + */ + +public class AndroidJettyServletContainer implements ServletContainerAdapter { + final private static Logger log = Logger.getLogger(AndroidJettyServletContainer.class.getName()); + + // Singleton + public static final AndroidJettyServletContainer INSTANCE = new AndroidJettyServletContainer(); + + private AndroidJettyServletContainer() { + resetServer(); + } + + protected Server server; + + @Override + synchronized public void setExecutorService(ExecutorService executorService) { + if (INSTANCE.server.getThreadPool() == null) { + INSTANCE.server.setThreadPool(new ExecutorThreadPool(executorService) { + @Override + protected void doStop() throws Exception { + // Do nothing, don't shut down the Cling ExecutorService when Jetty stops! + } + }); + } + } + + @Override + synchronized public int addConnector(String host, int port) throws IOException { + SocketConnector connector = new SocketConnector(); + connector.setHost(host); + connector.setPort(port); + + // Open immediately so we can get the assigned local port + connector.open(); + + // Only add if open() succeeded + server.addConnector(connector); + + // stats the connector if the server is started (server starts all connectors when started) + if (server.isStarted()) { + try { + connector.start(); + } catch (Exception ex) { + log.severe("Couldn't start connector: " + connector + " " + ex); + throw new RuntimeException(ex); + } + } + return connector.getLocalPort(); + } + + synchronized public void removeConnector(String host, int port) { + Connector[] connectors = server.getConnectors(); + if (connectors == null) + return; + + for (Connector connector : connectors) { + //Fix getPort() + if (connector.getHost().equals(host) && connector.getLocalPort() == port) { + if (connector.isStarted() || connector.isStarting()) { + try { + connector.stop(); + } catch (Exception ex) { + log.severe("Couldn't stop connector: " + connector + " " + ex); + throw new RuntimeException(ex); + } + } + server.removeConnector(connector); + if (connectors.length == 1) { + log.info("No more connectors, stopping Jetty server"); + stopIfRunning(); + } + break; + } + } + } + + @Override + synchronized public void registerServlet(String contextPath, Servlet servlet) { + if (server.getHandler() != null) { + return; + } + log.info("Registering UPnP servlet under context path: " + contextPath); + ServletContextHandler servletHandler = + new ServletContextHandler(ServletContextHandler.NO_SESSIONS); + if (contextPath != null && contextPath.length() > 0) + servletHandler.setContextPath(contextPath); + ServletHolder s = new ServletHolder(servlet); + servletHandler.addServlet(s, "/*"); + server.setHandler(servletHandler); + } + + @Override + synchronized public void startIfNotRunning() { + if (!server.isStarted() && !server.isStarting()) { + log.info("Starting Jetty server... "); + try { + server.start(); + } catch (Exception ex) { + log.severe("Couldn't start Jetty server: " + ex); + throw new RuntimeException(ex); + } + } + } + + @Override + synchronized public void stopIfRunning() { + if (!server.isStopped() && !server.isStopping()) { + log.info("Stopping Jetty server..."); + try { + server.stop(); + } catch (Exception ex) { + log.severe("Couldn't stop Jetty server: " + ex); + throw new RuntimeException(ex); + } finally { + resetServer(); + } + } + } + + protected void resetServer() { + server = new Server(); // Has its own QueuedThreadPool + server.setGracefulShutdown(1000); // Let's wait a second for ongoing transfers to complete + } + + /** + * Casts the request to a Jetty API and tries to write a space character to the output stream of the socket. + *

+ * This space character might confuse the HTTP client. The Cling transports for Jetty Client and + * Apache HttpClient have been tested to work with space characters. Unfortunately, Sun JDK's + * HttpURLConnection does not gracefully handle any garbage in the HTTP request! + *

+ */ + public static boolean isConnectionOpen(HttpServletRequest request) { + return isConnectionOpen(request, " ".getBytes()); + } + + public static boolean isConnectionOpen(HttpServletRequest request, byte[] heartbeat) { + Request jettyRequest = (Request) request; + AbstractHttpConnection connection = jettyRequest.getConnection(); + Socket socket = (Socket) connection.getEndPoint().getTransport(); + if (log.isLoggable(Level.FINE)) + log.fine("Checking if client connection is still open: " + socket.getRemoteSocketAddress()); + try { + socket.getOutputStream().write(heartbeat); + socket.getOutputStream().flush(); + return true; + } catch (IOException ex) { + if (log.isLoggable(Level.FINE)) + log.fine("Client connection has been closed: " + socket.getRemoteSocketAddress()); + return false; + } + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ClingUtils.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ClingUtils.java new file mode 100644 index 0000000..d95b366 --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ClingUtils.java @@ -0,0 +1,65 @@ +package com.dueeeke.dkplayer.dlnaupnp.util; + +import android.support.annotation.Nullable; + +import com.dueeeke.dkplayer.dlnaupnp.entity.IControlPoint; +import com.dueeeke.dkplayer.dlnaupnp.entity.IDevice; +import com.dueeeke.dkplayer.dlnaupnp.service.manager.ClingManager; + +import org.fourthline.cling.controlpoint.ControlPoint; +import org.fourthline.cling.model.meta.Device; +import org.fourthline.cling.model.meta.Service; +import org.fourthline.cling.model.types.ServiceType; + +/** + * 说明:Cling 库使用工具类 + * 作者:zhouzhan + * 日期:17/7/4 10:27 + */ + +public class ClingUtils { + + + /** + * 通过 ServiceType 获取已选择设备的服务 + * + * @param serviceType 服务类型 + * @return 服务 + */ + @Nullable + public static Service findServiceFromSelectedDevice(ServiceType serviceType) { + IDevice selectedDevice = ClingManager.getInstance().getSelectedDevice(); + if (Utils.isNull(selectedDevice)) { + return null; + } + + Device device = (Device) selectedDevice.getDevice(); + return device.findService(serviceType); + } + + /** + * 获取 device 的 avt 服务 + * + * @param device 设备 + * @return 服务 + */ + @Nullable + public static Service findAVTServiceByDevice(Device device) { + return device.findService(ClingManager.AV_TRANSPORT_SERVICE); + } + + /** + * 获取控制点 + * + * @return 控制点 + */ + @Nullable + public static ControlPoint getControlPoint() { + IControlPoint controlPoint = ClingManager.getInstance().getControlPoint(); + if (Utils.isNull(controlPoint)) { + return null; + } + + return (ControlPoint) controlPoint.getControlPoint(); + } +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ListUtils.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ListUtils.java new file mode 100644 index 0000000..ddcf9ef --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/ListUtils.java @@ -0,0 +1,17 @@ +package com.dueeeke.dkplayer.dlnaupnp.util; + +import java.util.Collection; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/28 16:54 + */ + +public class ListUtils { + + public static boolean isEmpty(Collection list){ + return !(list != null && list.size() != 0); + } + +} diff --git a/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/Utils.java b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/Utils.java new file mode 100644 index 0000000..2007bcc --- /dev/null +++ b/app/src/main/java/com/dueeeke/dkplayer/dlnaupnp/util/Utils.java @@ -0,0 +1,59 @@ +package com.dueeeke.dkplayer.dlnaupnp.util; + +import java.util.Formatter; +import java.util.Locale; + +/** + * 说明: + * 作者:zhouzhan + * 日期:17/6/29 10:47 + */ + +public class Utils { + + public static boolean isNull(Object obj) { + return obj == null; + } + + public static boolean isNotNull(Object obj) { + return !isNull(obj); + } + + /** + * 把时间戳转换成 00:00:00 格式 + * @param timeMs 时间戳 + * @return 00:00:00 时间格式 + */ + public static String getStringTime(int timeMs) { + StringBuilder formatBuilder = new StringBuilder(); + Formatter formatter = new Formatter(formatBuilder, Locale.getDefault()); + + int totalSeconds = timeMs / 1000; + int seconds = totalSeconds % 60; + int minutes = (totalSeconds / 60) % 60; + int hours = totalSeconds / 3600; + + formatBuilder.setLength(0); + return formatter.format("%02d:%02d:%02d", hours, minutes, seconds).toString(); + } + + /** + * 把 00:00:00 格式转成时间戳 + * @param formatTime 00:00:00 时间格式 + * @return 时间戳(毫秒) + */ + public static int getIntTime(String formatTime) { + if (isNull(formatTime)) { + return 0; + } + + String[] tmp = formatTime.split(":"); + if (tmp.length < 3) { + return 0; + } + int second = Integer.valueOf(tmp[0]) * 3600 + Integer.valueOf(tmp[1]) * 60 + Integer.valueOf(tmp[2]); + + return second * 1000; + } +} + diff --git a/app/src/main/res/drawable-hdpi/dlna_icon_close.png b/app/src/main/res/drawable-hdpi/dlna_icon_close.png new file mode 100644 index 0000000000000000000000000000000000000000..2e1b9efd684b49221f64075dd77b8b0eac97e0b7 GIT binary patch literal 1082 zcmV-A1jYM_P)Px&^hrcPRA>e5nafL6Q543_K~E}rzr!B%6hs6mf(U{j2n0be97sZeP~bo?aA4%1 zLC_#-5H#q2kRXU4h#-h4>|KUd_9E$NWm(;REB1oT70+|udp)uje5`%WUh7-m+V|Xh z&pxND%$r{UzXE;*{0jIL@GIa~z^_1wS0I$ra(`oX>-2(IC zauhWlfz3dh?q|F@ssLh-0=3%==10vfX&gdZz+a>M8GdD$AY$50ytrPlAS`D>%_H~_ z(59a$<%RBL(JI=@`&Rx z3zDg3RV<(Bsc{-&N8nQPRvWJ$vw7s8}8;xxK_vU|6 zG-7WbW$#?4F){|apT5g@vCd`E=QSjI=KB0b z`~8sdGM&qWN3i{nPa0_q6D~18o0i+qaqqpuxQaTDPFyCVu5ZgpD6gHp-CYD!eO{@xqeU)l2V*$gzNxcfm*Ap$`IPy#{rJlxZ+O4gMe+|3s5_ph$tWl zV*3GsJPlnJ5MH<`3fBU8SFF}nsA?3j_tP&qPW{|FmR1VZ0C`8O)*g!>K`@2v{q!r2 zoxR}*ltZCvAn%6NIsy|MPExQ#i{jPx%d`Uz>R9Fe^m%C3?K@`Tls}#hTh++uRh_8ag!e}8;LISaY*l0y1QA_^w8mBv6qt(4*;kr+sb8XxgdYoW6KzGcojJ9l>E-rRCe@^PNuIm6t$v$NTbl2WhN zN1#qP`a+gvPfNBcPGk5C*aRlBXNq?!!C=r3_+yhjt=Le}mb;1)sMprlB0R;;fmO?~ zpkvr)oxjXuTDM$ML+k=)99kAhYznlKDQir@Ecope%AU1+TTM|vcm3r6%c>lM`y9!5xWelht`@WHE-J!&=Bt6nZN-&kE#Q@s{4@SD%oNW{9q zutT>OuMzXN9=ApGvhK9{oF@6WrF_eo&lM&DP&OhxEc7-(Z9G4H%)VGP`ZGA5Bn3(8 zZ-RDmD=5#qF!iEMgUeulz9JogqfgO12t~0jpPl(m)i%R)RO{T3JmDNz+%h|VgB@V2 zdcYm<2wV)(mAUl3^ZL4 zHQvlky1xo0tOR})ZrJmMo835kjCSNi3CP|T`I6zzzUD^JfevT8n-JT}re+3`FKN*?v zztAZP#5K`Px$6iGxuR9Fe^lFJRkFbsx!f&pL$F1%)e6SHuIGqdnIF$HS?8*nI}+d7I+T1uM+ zA;pqw6Ka3IohC`NxPibMNYk{B@9<$@bdnVCGg0h{4}ysRCX*|iG_y+(0ib&LDQBAJ zjcnYx03Z==c1|K|pZsd=_mJ?TJvR9tz)?ABb2rq>*WPS$3fK4(Uo;UxU28Z!GW%Kt zRRTZc<>o1OKCLwjFK$d(p41k>>+RsGutdaC|93@iaBWV*EpD4^!YP7tKa(q5BaJ_b zD1kpXuXpDPD~nYk3izIAn?JaUqPuGoE6!c;nbvuY4iWa$lFQ`Xz;zM;@0$>?SoiP> s5#itt5#iyMh&8L9>+cxj27GPc1#OJv5iz6@H2?qr07*qoM6N<$g6?UL3jhEB literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/dlna_icon_wifi.png b/app/src/main/res/drawable-hdpi/dlna_icon_wifi.png new file mode 100644 index 0000000000000000000000000000000000000000..54d513b44ede4659aed1bed48ec17bd30175b055 GIT binary patch literal 440 zcmV;p0Z0CcP)Px$a!Eu%R45gll0Pg%Q542|{jZ3$T?}HDh_DONU}++xlf@<>Hj~L{>0mHnGg#Oq z6&;#JEEbK#U=$B+cd`^x5J+@qzjQW<~WG3_6LcFs%(o z@8mb|2zp@(2B8~V6O|V1LH~{h`~f7Wr iU&Q8wnT9OGhWZ8d`Gvb>+T$t!0000b`3L literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/anim_loading_rotate.xml b/app/src/main/res/drawable/anim_loading_rotate.xml new file mode 100644 index 0000000..c69a5ab --- /dev/null +++ b/app/src/main/res/drawable/anim_loading_rotate.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_ad_bg.xml b/app/src/main/res/drawable/shape_ad_bg.xml new file mode 100644 index 0000000..fe25ff6 --- /dev/null +++ b/app/src/main/res/drawable/shape_ad_bg.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/app/src/main/res/drawable/shape_float_window_background.xml b/app/src/main/res/drawable/shape_float_window_background.xml new file mode 100644 index 0000000..b13b861 --- /dev/null +++ b/app/src/main/res/drawable/shape_float_window_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_demo.xml b/app/src/main/res/layout/activity_demo.xml new file mode 100644 index 0000000..9eee27c --- /dev/null +++ b/app/src/main/res/layout/activity_demo.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..d0a64cd --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + +