Skip to content

Commit c9ccaf6

Browse files
Gestures can be disabled
1 parent 82c0e5d commit c9ccaf6

File tree

4 files changed

+37
-6
lines changed

4 files changed

+37
-6
lines changed

app/src/main/assets/settings.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@
4949
"title": "player", "icon": "ic_round_video_settings_24",
5050
"items": [
5151
{
52+
"key": "double_tab_seek", "type": "int",
53+
"title": "Double tap seek"
54+
}, {
55+
"key": "gestures", "type": "select", "string_value": "TODO: MAKE THIS VALUE AS DEFAULT",
56+
"title": "Gestures mode",
57+
"items": [
58+
{ "key": "VOLUME_BRIGHTNESS", "title": "Volume and Brightness" },
59+
{ "key": "DISABLED", "title": "Disabled" }
60+
]
61+
}, {
5262
"key": "default_video_quality", "type": "select", "int_value": 5,
5363
"title": "default_video_quality", "show_if": "never",
5464
"items": [

app/src/main/java/com/mrboomdev/awery/data/settings/AwerySettings.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public class AwerySettings {
1818
private final SharedPreferences prefs;
1919
private SharedPreferences.Editor editor;
2020

21+
public static final String PLAYER_GESTURES = "settings_player_gestures";
22+
public static final String DOUBLE_TAP_SEEK = "settings_player_double_tab_seek";
2123
public static final String DEFAULT_HOME_TAB = "settings_ui_default_tab";
2224
public static final String ADULT_CONTENT = "settings_content_adult_content";
2325
public static final String VERBOSE_NETWORK = "settings_advanced_log_network";

app/src/main/java/com/mrboomdev/awery/ui/activity/player/PlayerActivity.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@
3434
import com.bumptech.glide.Glide;
3535
import com.mrboomdev.awery.AweryApp;
3636
import com.mrboomdev.awery.R;
37+
import com.mrboomdev.awery.data.settings.AwerySettings;
3738
import com.mrboomdev.awery.extensions.ExtensionProvider;
3839
import com.mrboomdev.awery.extensions.support.template.CatalogEpisode;
3940
import com.mrboomdev.awery.extensions.support.template.CatalogSubtitle;
4041
import com.mrboomdev.awery.extensions.support.template.CatalogVideo;
4142
import com.mrboomdev.awery.databinding.ScreenPlayerBinding;
4243
import com.mrboomdev.awery.ui.ThemeManager;
44+
import com.mrboomdev.awery.util.StringUtil;
4345
import com.mrboomdev.awery.util.exceptions.ExceptionDescriptor;
4446
import 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
}

app/src/main/java/com/mrboomdev/awery/ui/activity/player/PlayerGestures.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public boolean onTouchEventRight(@NonNull MotionEvent event) {
3232
yield false;
3333
}
3434

35-
if(event.getY() < GESTURE_START_Y) {
35+
if(event.getY() < GESTURE_START_Y || activity.gesturesMode != PlayerActivity.GesturesMode.VOLUME_BRIGHTNESS) {
3636
isRightIgnored = true;
3737
yield false;
3838
}
@@ -94,7 +94,7 @@ public boolean onTouchEventLeft(@NonNull MotionEvent event) {
9494
yield false;
9595
}
9696

97-
if(event.getY() < GESTURE_START_Y) {
97+
if(event.getY() < GESTURE_START_Y || activity.gesturesMode != PlayerActivity.GesturesMode.VOLUME_BRIGHTNESS) {
9898
isLeftIgnored = true;
9999
yield false;
100100
}

0 commit comments

Comments
 (0)