Compare commits

...

4 Commits

Author SHA1 Message Date
adripo
5126fd1486
Merge 343b8e9617 into e4c11e8d61 2024-06-26 04:30:04 +02:00
Docile-Alligator
e4c11e8d61 Version 7.2.8. 2024-06-25 16:52:49 -04:00
Docile-Alligator
5a1b67f599 Upgrade Media3 and enable decoder fallback. 2024-06-25 16:51:22 -04:00
adripo
343b8e9617
fix: buildconfig warning 2024-06-17 17:06:46 +02:00
5 changed files with 22 additions and 8 deletions

View File

@ -8,8 +8,8 @@ android {
applicationId "ml.docilealligator.infinityforreddit" applicationId "ml.docilealligator.infinityforreddit"
minSdk 21 minSdk 21
targetSdk 33 targetSdk 33
versionCode 174 versionCode 175
versionName "7.2.7" versionName "7.2.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions { javaCompileOptions {
annotationProcessorOptions { annotationProcessorOptions {
@ -50,7 +50,8 @@ android {
} }
buildFeatures { buildFeatures {
viewBinding true buildConfig = true
viewBinding = true
} }
namespace 'ml.docilealligator.infinityforreddit' namespace 'ml.docilealligator.infinityforreddit'
} }
@ -85,7 +86,7 @@ dependencies {
implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.android.material:material:1.12.0'
/** ExoPlayer **/ /** ExoPlayer **/
def media3_version = "1.3.1" def media3_version = "1.4.0-alpha02"
implementation "androidx.media3:media3-exoplayer:$media3_version" implementation "androidx.media3:media3-exoplayer:$media3_version"
implementation "androidx.media3:media3-exoplayer-dash:$media3_version" implementation "androidx.media3:media3-exoplayer-dash:$media3_version"
implementation "androidx.media3:media3-exoplayer-hls:$media3_version" implementation "androidx.media3:media3-exoplayer-hls:$media3_version"

View File

@ -61,6 +61,7 @@ import androidx.media3.datasource.DataSource;
import androidx.media3.datasource.DefaultHttpDataSource; import androidx.media3.datasource.DefaultHttpDataSource;
import androidx.media3.datasource.cache.CacheDataSource; import androidx.media3.datasource.cache.CacheDataSource;
import androidx.media3.datasource.cache.SimpleCache; import androidx.media3.datasource.cache.SimpleCache;
import androidx.media3.exoplayer.DefaultRenderersFactory;
import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.hls.HlsMediaSource; import androidx.media3.exoplayer.hls.HlsMediaSource;
import androidx.media3.exoplayer.source.ProgressiveMediaSource; import androidx.media3.exoplayer.source.ProgressiveMediaSource;
@ -404,7 +405,10 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe
trackSelector.buildUponParameters() trackSelector.buildUponParameters()
.setMaxVideoSize(dataSavingModeDefaultResolution, dataSavingModeDefaultResolution)); .setMaxVideoSize(dataSavingModeDefaultResolution, dataSavingModeDefaultResolution));
} }
player = new ExoPlayer.Builder(this).setTrackSelector(trackSelector).build(); player = new ExoPlayer.Builder(this)
.setTrackSelector(trackSelector)
.setRenderersFactory(new DefaultRenderersFactory(this).setEnableDecoderFallback(true))
.build();
if (zoomable) { if (zoomable) {
PlayerControlView playerControlView = findViewById(R.id.player_control_view_view_video_activity); PlayerControlView playerControlView = findViewById(R.id.player_control_view_view_video_activity);

View File

@ -20,6 +20,7 @@ import android.widget.LinearLayout;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.OptIn;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.ResourcesCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@ -33,6 +34,7 @@ import androidx.media3.datasource.DataSource;
import androidx.media3.datasource.DefaultHttpDataSource; import androidx.media3.datasource.DefaultHttpDataSource;
import androidx.media3.datasource.cache.CacheDataSource; import androidx.media3.datasource.cache.CacheDataSource;
import androidx.media3.datasource.cache.SimpleCache; import androidx.media3.datasource.cache.SimpleCache;
import androidx.media3.exoplayer.DefaultRenderersFactory;
import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.source.ProgressiveMediaSource; import androidx.media3.exoplayer.source.ProgressiveMediaSource;
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector; import androidx.media3.exoplayer.trackselection.DefaultTrackSelector;
@ -87,6 +89,7 @@ public class ViewImgurVideoFragment extends Fragment {
} }
@OptIn(markerClass = UnstableApi.class)
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
@ -143,7 +146,10 @@ public class ViewImgurVideoFragment extends Fragment {
}); });
TrackSelector trackSelector = new DefaultTrackSelector(activity); TrackSelector trackSelector = new DefaultTrackSelector(activity);
player = new ExoPlayer.Builder(activity).setTrackSelector(trackSelector).build(); player = new ExoPlayer.Builder(activity)
.setTrackSelector(trackSelector)
.setRenderersFactory(new DefaultRenderersFactory(activity).setEnableDecoderFallback(true))
.build();
binding.getRoot().setPlayer(player); binding.getRoot().setPlayer(player);
dataSourceFactory = new CacheDataSource.Factory().setCache(mSimpleCache) dataSourceFactory = new CacheDataSource.Factory().setCache(mSimpleCache)
.setUpstreamDataSourceFactory(new DefaultHttpDataSource.Factory().setAllowCrossProtocolRedirects(true).setUserAgent(APIUtils.USER_AGENT)); .setUpstreamDataSourceFactory(new DefaultHttpDataSource.Factory().setAllowCrossProtocolRedirects(true).setUserAgent(APIUtils.USER_AGENT));

View File

@ -34,6 +34,7 @@ import androidx.media3.datasource.DataSource;
import androidx.media3.datasource.DefaultHttpDataSource; import androidx.media3.datasource.DefaultHttpDataSource;
import androidx.media3.datasource.cache.CacheDataSource; import androidx.media3.datasource.cache.CacheDataSource;
import androidx.media3.datasource.cache.SimpleCache; import androidx.media3.datasource.cache.SimpleCache;
import androidx.media3.exoplayer.DefaultRenderersFactory;
import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.source.ProgressiveMediaSource; import androidx.media3.exoplayer.source.ProgressiveMediaSource;
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector; import androidx.media3.exoplayer.trackselection.DefaultTrackSelector;
@ -147,7 +148,10 @@ public class ViewRedditGalleryVideoFragment extends Fragment {
}); });
TrackSelector trackSelector = new DefaultTrackSelector(activity); TrackSelector trackSelector = new DefaultTrackSelector(activity);
player = new ExoPlayer.Builder(activity).setTrackSelector(trackSelector).build(); player = new ExoPlayer.Builder(activity)
.setTrackSelector(trackSelector)
.setRenderersFactory(new DefaultRenderersFactory(activity).setEnableDecoderFallback(true))
.build();
binding.getPlayerView().setPlayer(player); binding.getPlayerView().setPlayer(player);
dataSourceFactory = new CacheDataSource.Factory().setCache(mSimpleCache) dataSourceFactory = new CacheDataSource.Factory().setCache(mSimpleCache)
.setUpstreamDataSourceFactory(new DefaultHttpDataSource.Factory().setAllowCrossProtocolRedirects(true).setUserAgent(APIUtils.USER_AGENT)); .setUpstreamDataSourceFactory(new DefaultHttpDataSource.Factory().setAllowCrossProtocolRedirects(true).setUserAgent(APIUtils.USER_AGENT));

View File

@ -9,7 +9,6 @@
# Specifies the JVM arguments used for the daemon process. # Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings. # The setting is particularly useful for tweaking memory settings.
android.defaults.buildfeatures.buildconfig=true
android.enableJetifier=true android.enableJetifier=true
android.nonFinalResIds=false android.nonFinalResIds=false
android.nonTransitiveRClass=false android.nonTransitiveRClass=false