3434import com .bumptech .glide .Glide ;
3535import com .mrboomdev .awery .AweryApp ;
3636import com .mrboomdev .awery .R ;
37+ import com .mrboomdev .awery .data .settings .AwerySettings ;
3738import com .mrboomdev .awery .extensions .ExtensionProvider ;
3839import com .mrboomdev .awery .extensions .support .template .CatalogEpisode ;
3940import com .mrboomdev .awery .extensions .support .template .CatalogSubtitle ;
4041import com .mrboomdev .awery .extensions .support .template .CatalogVideo ;
4142import com .mrboomdev .awery .databinding .ScreenPlayerBinding ;
4243import com .mrboomdev .awery .ui .ThemeManager ;
44+ import com .mrboomdev .awery .util .StringUtil ;
4345import com .mrboomdev .awery .util .exceptions .ExceptionDescriptor ;
4446import com .mrboomdev .awery .util .ui .ViewUtil ;
4547
@@ -73,14 +75,18 @@ public class PlayerActivity extends AppCompatActivity implements Player.Listener
7375 protected CatalogVideo video ;
7476 private CatalogSubtitle subtitle ;
7577 protected ExoPlayer player ;
78+ protected int doubleTapSeek ;
79+ protected GesturesMode gesturesMode ;
7680 private MediaItem videoItem ;
7781
7882 @ SuppressLint ("ClickableViewAccessibility" )
7983 @ Override
8084 protected void onCreate (@ Nullable Bundle savedInstanceState ) {
8185 ThemeManager .apply (this );
8286 EdgeToEdge .enable (this );
87+
8388 super .onCreate (savedInstanceState );
89+ loadSettings ();
8490
8591 binding = ScreenPlayerBinding .inflate (getLayoutInflater ());
8692 //binding.subtitlesText.setVisibility(View.INVISIBLE);
@@ -99,8 +105,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
99105 .build();*/
100106
101107 player = new ExoPlayer .Builder (this )
102- .setSeekBackIncrementMs (10_000 )
103- .setSeekForwardIncrementMs (10_000 )
108+ .setSeekBackIncrementMs (doubleTapSeek * 1000L )
109+ .setSeekForwardIncrementMs (doubleTapSeek * 1000L )
104110 //.setAudioAttributes(audioAttributes, true)
105111 .build ();
106112
@@ -242,6 +248,15 @@ public void run() {
242248 controller .showUiTemporarily ();
243249 }
244250
251+ private void loadSettings () {
252+ var prefs = AwerySettings .getInstance (this );
253+ doubleTapSeek = prefs .getInt (AwerySettings .DOUBLE_TAP_SEEK , 10 );
254+
255+ gesturesMode = StringUtil .parseEnum (
256+ prefs .getString (AwerySettings .PLAYER_GESTURES ),
257+ GesturesMode .VOLUME_BRIGHTNESS );
258+ }
259+
245260 @ Override
246261 public void onCues (@ NonNull CueGroup cueGroup ) {
247262 binding .subtitleView .setCues (cueGroup .cues );
@@ -331,9 +346,9 @@ public void onFailure(Throwable throwable) {
331346 if (isDestroyed ()) return ;
332347
333348 var error = new ExceptionDescriptor (throwable );
334- Log .e (TAG , "Failed to load videos" , throwable );
349+ Log .e (TAG , "Failed to load videos list! " , throwable );
335350
336- AweryApp .toast (error .getShortDescription ( ), 1 );
351+ AweryApp .toast (error .getTitle ( PlayerActivity . this ), 1 );
337352 finish ();
338353 }
339354 });
@@ -496,4 +511,8 @@ private void applyFullscreen() {
496511 ViewUtil .setBottomMargin (binding .slider , systemInsets .bottom );
497512 });
498513 }
514+
515+ public enum GesturesMode {
516+ VOLUME_BRIGHTNESS , DISABLED
517+ }
499518}
0 commit comments