diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..5d9144b5 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +language: android +jdk: oraclejdk7 + +android: + components: + - android-22 + - build-tools-22.0.1 + - extra-google-google_play_services + - extra-google-m2repository + - extra-android-m2repository + +before_script: + - curl -L -ofling.zip https://s3-us-west-1.amazonaws.com/amazon-fling/AmazonFling-SDK.zip + - unzip fling.zip 'android-sdk/lib/*' + - mv -v android-sdk/lib/{AmazonFling,android/WhisperPlay}.jar modules/firetv/libs + +after_success: + - bash <(curl -s https://codecov.io/bash) + +script: + - gradle build + diff --git a/AndroidManifest.xml b/AndroidManifest.xml index bc346516..dba65c45 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,11 +1,13 @@ + android:versionCode="12" + android:versionName="1.6.0" > + + diff --git a/CHANGELOG.md b/CHANGELOG.md index f1968501..a54deb7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Connect SDK Android Changelog +## 1.6.0 -- 09 Sep 2015 + +- Added subtitles support for WebOS, Netcast, DLNA, Chromecast and FireTV +- Added PairingType.MIXED for WebOS +- Fixed playing media on Roku 6.2 +- Removed Rewind and FastForward capabilities from Netcast service because they are not supported +- Supports Android TV devices +- Miscellaneous bug fixes +- [See commits between 1.5.0 and 1.6.0](https://github.com/ConnectSDK/Connect-SDK-Android/compare/1.5.0...1.6.0) + +[View files at version 1.6.0](https://github.com/ConnectSDK/Connect-SDK-Android/tree/1.6.0) + ## 1.5.0 -- 09 Jul 2015 - Added Amazon Fling SDK support to play and control media on Fire TV devices diff --git a/README.md b/README.md index 321deb80..add97436 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,11 @@ #Connect SDK Android + +[![Build Status](https://travis-ci.org/ConnectSDK/Connect-SDK-Android.svg)](https://travis-ci.org/ConnectSDK/Connect-SDK-Android) +[![Code Coverage](https://img.shields.io/codecov/c/github/ConnectSDK/Connect-SDK-Android/dev.svg)](https://codecov.io/github/ConnectSDK/Connect-SDK-Android) +[![Maven Central](http://img.shields.io/maven-central/v/com.connectsdk/connect-sdk-android.svg)](http://search.maven.org/#artifactdetails|com.connectsdk|connect-sdk-android|1.6.0|aar) +[![Apache License, 2.0](https://img.shields.io/github/license/ConnectSDK/Connect-SDK-Android.svg)](https://github.com/ConnectSDK/Connect-SDK-Android/blob/master/LICENSE) +[![Twitter](https://img.shields.io/badge/twitter-@ConnectSDK-blue.svg)](https://twitter.com/connectsdk) + Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms. Because most TV platforms support a variety of protocols, Connect SDK integrates and abstracts the discovery and connectivity between all supported protocols. This project can be built in Android Studio or directly with Gradle. Eclipse IDE is not supported since 1.5.0 version. @@ -25,7 +32,7 @@ Edit your project's build.gradle to add this in the "dependencies" section ```groovy dependencies { //... - compile 'com.connectsdk:connect-sdk-android:1.5.0' + compile 'com.connectsdk:connect-sdk-android:1.6.0' } ``` This prebuilt library doesn't have Amazon Fling SDK support, because it’s not available on maven. You need to set the project up from sources @@ -108,6 +115,18 @@ gradle jacocoTestReport ``` The test coverage report will be in this folder `Connect-SDK-Android/build/reports/jacoco/jacocoTestReport/html`. +##Limitations/Caveats + +###Subtitles + +- DLNA service support `SRT` format only. Since there is no official specification for them, subtitles may not work on all DLNA-compatible devices. This feature has been tested and works on LG WebOS and Netcast TVs. +- FireTV service supports `WebVTT` format only. Subtitles on Fire TV are hidden by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to make them appear remotely. +- Google Cast service supports `WebVTT` format only. Servers providing subtitles and media files should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/android_sender#cors-requirements](https://developers.google.com/cast/docs/android_sender#cors-requirements). +- Netcast service support `SRT` format only. It uses DLNA and has the same restrictions as DLNA service. +- WebOS service supports `WebVTT` format only. The server providing subtitles should support CORS headers, similarly to Cast service's requirements. + + + ##Contact * Twitter [@ConnectSDK](https://www.twitter.com/ConnectSDK) * Ask a question on Stack Overflow with the [Connect-SDK tag](https://stackoverflow.com/tags/connect-sdk) (or [TV tag](https://stackoverflow.com/tags/tv)) @@ -131,6 +150,7 @@ These projects are used in tests: * [Mockito](http://mockito.org/) (MIT) * [Robolectric](http://robolectric.org) (MIT) * [PowerMock](https://github.com/jayway/powermock) (Apache License, Version 2.0) +* [XMLUnit](http://www.xmlunit.org/) (Apache License, Version 2.0) ##License Copyright (c) 2013-2015 LG Electronics. diff --git a/build.gradle b/build.gradle index f9c0027d..26881923 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ allprojects { apply plugin: 'com.android.library' apply plugin: 'org.robolectric' -apply plugin: "jacoco" +apply plugin: 'jacoco' jacoco { @@ -109,16 +109,17 @@ dependencies { compile fileTree(dir: 'modules/firetv/libs', include: '*.jar') - compile 'com.android.support:support-v4:22.2.0' - compile 'com.android.support:appcompat-v7:22.2.0' - compile 'com.android.support:mediarouter-v7:21.0.0' - compile 'com.google.android.gms:play-services-cast:7.5.0' + compile 'com.android.support:support-v4:22.2.1' + compile 'com.android.support:appcompat-v7:22.2.1' + compile 'com.android.support:mediarouter-v7:22.2.1' + compile 'com.google.android.gms:play-services-cast:7.8.0' testCompile 'org.apache.maven:maven-ant-tasks:2.1.3' testCompile 'junit:junit:4.12' testCompile 'org.robolectric:robolectric:2.4' testCompile 'org.mockito:mockito-all:1.10.19' testCompile 'org.powermock:powermock-api-mockito:1.6.2' + testCompile 'xmlunit:xmlunit:1.4' } apply from: 'maven-push.gradle' diff --git a/build.xml b/build.xml deleted file mode 100644 index 0d0580dd..00000000 --- a/build.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core b/core index 8cae6868..2c04b6f2 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 8cae68689b63fa7b08c153bddc76d25c83137d98 +Subproject commit 2c04b6f2112e3b26c08b8c5635af929b882f4354 diff --git a/gradle.properties b/gradle.properties index 0b9d5c3e..6b5a82f0 100755 --- a/gradle.properties +++ b/gradle.properties @@ -3,8 +3,8 @@ POM_NAME=Connect SDK Android POM_ARTIFACT_ID=connect-sdk-android POM_PACKAGING=aar -VERSION_NAME=1.5.0 -VERSION_CODE=11 +VERSION_NAME=1.6.0 +VERSION_CODE=12 GROUP=com.connectsdk POM_DESCRIPTION=Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms. Because most TV platforms support a variety of protocols, Connect SDK integrates and abstracts the discovery and connectivity between all supported protocols. diff --git a/modules/firetv b/modules/firetv index de203e34..0c07d038 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit de203e34719e465588bf6c2c3bb1b6c97cc6c725 +Subproject commit 0c07d03880f1f457107aa8dbc078bbd6404437fc diff --git a/modules/google_cast b/modules/google_cast index ca252fc9..809e5b48 160000 --- a/modules/google_cast +++ b/modules/google_cast @@ -1 +1 @@ -Subproject commit ca252fc9708618a691e73af3ade041e33cb98558 +Subproject commit 809e5b48f081dab93801ba17b86c1b29ec6ad89c