
1. Pull up all subclasses of DownloadAction into DownloadAction 2. Add DownloaderFactory for Downloader instantiation, and DefaultDownloaderFactory to replace the instantiation logic being removed from the DownloadAction subclasses. This change will upgrade existing action files gracefully (i.e. it does not lose compatibility with the existing offline implementation, other than some minor breaking changes to the API). TODOs: 1. Move test methods from the XDownloadActionTest classes into DownloadActionTest. This will be done in a subsequent CL. There's a lot of consolidation that can be done here, including de-duplicating some of the test code added in this CL. 2. Look at merging DownloaderConstructorHelper into DefaultDownloaderFactory. 3. Use customCacheKey in DASH/HLS/SS Downloaders, for completeness. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=222258983
49 lines
2.7 KiB
Plaintext
49 lines
2.7 KiB
Plaintext
# Proguard rules specific to the core module.
|
|
|
|
# Constructors accessed via reflection in DefaultRenderersFactory
|
|
-dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
|
|
<init>(boolean, long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
|
}
|
|
|
|
# Constructors accessed via reflection in DefaultExtractorsFactory
|
|
-dontnote com.google.android.exoplayer2.ext.flac.FlacExtractor
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.flac.FlacExtractor {
|
|
<init>();
|
|
}
|
|
|
|
# Constructors accessed via reflection in DefaultDataSource
|
|
-dontnote com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource {
|
|
<init>();
|
|
}
|
|
|
|
# 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 {
|
|
<init>(android.net.Uri, java.util.List, com.google.android.exoplayer2.offlineDownloaderConstructorHelper);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader
|
|
-keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader {
|
|
<init>(android.net.Uri, java.util.List, com.google.android.exoplayer2.offlineDownloaderConstructorHelper);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
|
|
-keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader {
|
|
<init>(android.net.Uri, java.util.List, com.google.android.exoplayer2.offlineDownloaderConstructorHelper);
|
|
}
|
|
|
|
# Don't warn about checkerframework
|
|
-dontwarn org.checkerframework.**
|