diff --git a/library/common/build.gradle b/library/common/build.gradle index d4aa1615f8..b8080fba63 100644 --- a/library/common/build.gradle +++ b/library/common/build.gradle @@ -13,7 +13,21 @@ // limitations under the License. apply from: "$gradle.ext.exoplayerSettingsDir/common_library_config.gradle" -android.buildTypes.debug.testCoverageEnabled true +android { + defaultConfig { + multiDexEnabled true + } + + buildTypes { + debug { + testCoverageEnabled = true + } + } + + sourceSets { + androidTest.assets.srcDir '../../testdata/src/test/assets/' + } +} dependencies { api ('com.google.guava:guava:' + guavaVersion) { @@ -31,6 +45,12 @@ dependencies { compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion + androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion + androidTestImplementation 'com.linkedin.dexmaker:dexmaker:' + dexmakerVersion + androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion + androidTestImplementation(project(modulePrefix + 'testutils')) { + exclude module: modulePrefix.substring(1) + 'library-core' + } testImplementation 'org.mockito:mockito-core:' + mockitoVersion testImplementation 'androidx.test:core:' + androidxTestCoreVersion testImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion diff --git a/library/common/proguard-rules.txt b/library/common/proguard-rules.txt index 2eb313c45d..557df0f374 100644 --- a/library/common/proguard-rules.txt +++ b/library/common/proguard-rules.txt @@ -1,5 +1,16 @@ # Proguard rules specific to the common module. +# Constant folding for resource integers may mean that a resource passed to this method appears to be unused. Keep the method to prevent this from happening. +-keepclassmembers class com.google.android.exoplayer2.upstream.RawResourceDataSource { + public static android.net.Uri buildRawResourceUri(int); +} + +# Constructors accessed via reflection in DefaultDataSource +-dontnote com.google.android.exoplayer2.ext.rtmp.RtmpDataSource +-keepclassmembers class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource { + (); +} + # Don't warn about checkerframework and Kotlin annotations -dontwarn org.checkerframework.** -dontwarn kotlin.annotations.jvm.** diff --git a/library/common/src/androidTest/AndroidManifest.xml b/library/common/src/androidTest/AndroidManifest.xml new file mode 100644 index 0000000000..15db6a41e0 --- /dev/null +++ b/library/common/src/androidTest/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/library/core/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceContractTest.java b/library/common/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceContractTest.java similarity index 100% rename from library/core/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceContractTest.java rename to library/common/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceContractTest.java diff --git a/library/core/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceTest.java b/library/common/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceTest.java similarity index 100% rename from library/core/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceTest.java rename to library/common/src/androidTest/java/com/google/android/exoplayer2/upstream/ContentDataSourceTest.java diff --git a/library/core/src/androidTest/java/com/google/android/exoplayer2/upstream/RawResourceDataSourceContractTest.java b/library/common/src/androidTest/java/com/google/android/exoplayer2/upstream/RawResourceDataSourceContractTest.java similarity index 98% rename from library/core/src/androidTest/java/com/google/android/exoplayer2/upstream/RawResourceDataSourceContractTest.java rename to library/common/src/androidTest/java/com/google/android/exoplayer2/upstream/RawResourceDataSourceContractTest.java index d55e162a49..db0a58c086 100644 --- a/library/core/src/androidTest/java/com/google/android/exoplayer2/upstream/RawResourceDataSourceContractTest.java +++ b/library/common/src/androidTest/java/com/google/android/exoplayer2/upstream/RawResourceDataSourceContractTest.java @@ -19,7 +19,7 @@ import android.content.res.Resources; import android.net.Uri; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.android.exoplayer2.core.test.R; +import com.google.android.exoplayer2.common.test.R; import com.google.android.exoplayer2.testutil.DataSourceContractTest; import com.google.android.exoplayer2.util.Util; import com.google.common.collect.ImmutableList; diff --git a/library/core/src/androidTest/res/raw/resource1 b/library/common/src/androidTest/res/raw/resource1 similarity index 100% rename from library/core/src/androidTest/res/raw/resource1 rename to library/common/src/androidTest/res/raw/resource1 diff --git a/library/core/src/androidTest/res/raw/resource2 b/library/common/src/androidTest/res/raw/resource2 similarity index 100% rename from library/core/src/androidTest/res/raw/resource2 rename to library/common/src/androidTest/res/raw/resource2 diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSink.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSink.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSink.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSink.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSourceInputStream.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSourceInputStream.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSourceInputStream.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSourceInputStream.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ResolvingDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/ResolvingDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/ResolvingDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/ResolvingDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/StatsDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/StatsDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/StatsDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/StatsDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java similarity index 100% rename from library/core/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java rename to library/common/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceContractTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceContractTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceContractTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceContractTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/AssetDataSourceTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceContractTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceContractTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceContractTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceContractTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/ByteArrayDataSourceTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceContractTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceContractTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceContractTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceContractTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/DataSchemeDataSourceTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/DataSourceInputStreamTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/DataSourceInputStreamTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/DataSourceInputStreamTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/DataSourceInputStreamTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/FileDataSourceContractTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/FileDataSourceContractTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/FileDataSourceContractTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/FileDataSourceContractTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/ResolvingDataSourceContractTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/ResolvingDataSourceContractTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/ResolvingDataSourceContractTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/ResolvingDataSourceContractTest.java diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/UdpDataSourceContractTest.java b/library/common/src/test/java/com/google/android/exoplayer2/upstream/UdpDataSourceContractTest.java similarity index 100% rename from library/core/src/test/java/com/google/android/exoplayer2/upstream/UdpDataSourceContractTest.java rename to library/common/src/test/java/com/google/android/exoplayer2/upstream/UdpDataSourceContractTest.java diff --git a/library/core/proguard-rules.txt b/library/core/proguard-rules.txt index 90f9d11130..fc6787e09d 100644 --- a/library/core/proguard-rules.txt +++ b/library/core/proguard-rules.txt @@ -1,10 +1,5 @@ # Proguard rules specific to the core module. -# Constant folding for resource integers may mean that a resource passed to this method appears to be unused. Keep the method to prevent this from happening. --keepclassmembers class com.google.android.exoplayer2.upstream.RawResourceDataSource { - public static android.net.Uri buildRawResourceUri(int); -} - # Constructors accessed via reflection in DefaultRenderersFactory -dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer -keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer { @@ -31,12 +26,6 @@ (android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink); } -# Constructors accessed via reflection in DefaultDataSource --dontnote com.google.android.exoplayer2.ext.rtmp.RtmpDataSource --keepclassmembers class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource { - (); -} - # Constructors accessed via reflection in DefaultDownloaderFactory -dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader -keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader { diff --git a/library/core/src/androidTest/AndroidManifest.xml b/library/core/src/androidTest/AndroidManifest.xml index 6ccd2b3429..ea61783474 100644 --- a/library/core/src/androidTest/AndroidManifest.xml +++ b/library/core/src/androidTest/AndroidManifest.xml @@ -25,11 +25,7 @@ - - + android:usesCleartextTraffic="true"/>