Skip to content

Commit 7e9a4eb

Browse files
committed
General settings > key remapping: Channel up/down to speed toggle
1 parent b6eb46a commit 7e9a4eb

File tree

4 files changed

+145
-298
lines changed

4 files changed

+145
-298
lines changed

common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/settings/GeneralSettingsPresenter.java

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ private void appendKeyRemappingCategory(AppDialogPresenter settingsPresenter) {
328328
options.add(UiOptionItem.from(getContext().getString(R.string.player_quick_shorts_skip_alt),
329329
option -> {
330330
mPlayerTweaksData.setQuickSkipShortsAltEnabled(option.isSelected());
331-
mGeneralData.resetDpadUpDownSettings();
331+
mGeneralData.setDpadUpDownAction(GeneralData.ACTION_UNDEFINED);
332332
},
333333
mPlayerTweaksData.isQuickSkipShortsAltEnabled()));
334334

@@ -342,7 +342,7 @@ private void appendKeyRemappingCategory(AppDialogPresenter settingsPresenter) {
342342
options.add(UiOptionItem.from(getContext().getString(R.string.player_quick_skip_videos_alt),
343343
option -> {
344344
mPlayerTweaksData.setQuickSkipVideosAltEnabled(option.isSelected());
345-
mGeneralData.resetDpadUpDownSettings();
345+
mGeneralData.setDpadUpDownAction(GeneralData.ACTION_UNDEFINED);
346346
},
347347
mPlayerTweaksData.isQuickSkipVideosAltEnabled()));
348348

@@ -366,81 +366,85 @@ private void appendKeyRemappingCategory(AppDialogPresenter settingsPresenter) {
366366

367367
options.add(UiOptionItem.from("DPAD UP/DOWN -> Volume Up/Down",
368368
option -> {
369-
mGeneralData.setRemapDpadUpToVolumeEnabled(option.isSelected());
369+
mGeneralData.setDpadUpDownAction(option.isSelected() ? GeneralData.ACTION_VOLUME_UP_DOWN : GeneralData.ACTION_UNDEFINED);
370370
mPlayerTweaksData.resetDpadUpDownSettings();
371371
},
372-
mGeneralData.isRemapDpadUpToVolumeEnabled()));
372+
mGeneralData.getDpadUpDownAction() == GeneralData.ACTION_VOLUME_UP_DOWN));
373373

374374
options.add(UiOptionItem.from("DPAD UP/DOWN -> Speed Up/Down",
375375
option -> {
376-
mGeneralData.setRemapDpadUpDownToSpeedEnabled(option.isSelected());
376+
mGeneralData.setDpadUpDownAction(option.isSelected() ? GeneralData.ACTION_SPEED_UP_DOWN : GeneralData.ACTION_UNDEFINED);
377377
mPlayerTweaksData.resetDpadUpDownSettings();
378378
},
379-
mGeneralData.isRemapDpadUpToSpeedEnabled()));
379+
mGeneralData.getDpadUpDownAction() == GeneralData.ACTION_SPEED_UP_DOWN));
380380

381381
options.add(UiOptionItem.from("Numbers 3/1 -> Speed Up/Down",
382382
option -> mGeneralData.setRemapNumbersToSpeedEnabled(option.isSelected()),
383383
mGeneralData.isRemapNumbersToSpeedEnabled()));
384384

385385
options.add(UiOptionItem.from("Next/Previous -> Fast Forward/Rewind",
386-
option -> mGeneralData.setRemapNextToFastForwardEnabled(option.isSelected()),
387-
mGeneralData.isRemapNextToFastForwardEnabled()));
386+
option -> mGeneralData.setNextPreviousAction(option.isSelected() ? GeneralData.ACTION_FAST_FORWARD_REWIND : GeneralData.ACTION_UNDEFINED),
387+
mGeneralData.getNextPreviousAction() == GeneralData.ACTION_FAST_FORWARD_REWIND));
388388

389389
options.add(UiOptionItem.from("Next/Previous -> Speed Up/Down",
390-
option -> mGeneralData.setRemapNextToSpeedEnabled(option.isSelected()),
391-
mGeneralData.isRemapNextToSpeedEnabled()));
390+
option -> mGeneralData.setNextPreviousAction(option.isSelected() ? GeneralData.ACTION_SPEED_UP_DOWN : GeneralData.ACTION_UNDEFINED),
391+
mGeneralData.getNextPreviousAction() == GeneralData.ACTION_SPEED_UP_DOWN));
392392

393393
options.add(UiOptionItem.from("Fast Forward/Rewind -> Next/Previous",
394-
option -> mGeneralData.setRemapFastForwardToNextEnabled(option.isSelected()),
395-
mGeneralData.isRemapFastForwardToNextEnabled()));
394+
option -> mGeneralData.setFastForwardRewindAction(option.isSelected() ? GeneralData.ACTION_NEXT_PREVIOUS : GeneralData.ACTION_UNDEFINED),
395+
mGeneralData.getFastForwardRewindAction() == GeneralData.ACTION_NEXT_PREVIOUS));
396396

397397
options.add(UiOptionItem.from("Fast Forward/Rewind -> Speed Up/Down",
398-
option -> mGeneralData.setRemapFastForwardToSpeedEnabled(option.isSelected()),
399-
mGeneralData.isRemapFastForwardToSpeedEnabled()));
398+
option -> mGeneralData.setFastForwardRewindAction(option.isSelected() ? GeneralData.ACTION_SPEED_UP_DOWN : GeneralData.ACTION_UNDEFINED),
399+
mGeneralData.getFastForwardRewindAction() == GeneralData.ACTION_SPEED_UP_DOWN));
400400

401401
options.add(UiOptionItem.from("Fast Forward/Rewind -> Speed Toggle",
402-
option -> mGeneralData.setRemapFastForwardToSpeedToggleEnabled(option.isSelected()),
403-
mGeneralData.isRemapFastForwardToSpeedToggleEnabled()));
402+
option -> mGeneralData.setFastForwardRewindAction(option.isSelected() ? GeneralData.ACTION_SPEED_TOGGLE : GeneralData.ACTION_UNDEFINED),
403+
mGeneralData.getFastForwardRewindAction() == GeneralData.ACTION_SPEED_TOGGLE));
404404

405405
options.add(UiOptionItem.from("S -> Speed Toggle",
406406
option -> mGeneralData.setRemapSToSpeedToggleEnabled(option.isSelected()),
407407
mGeneralData.isRemapSToSpeedToggleEnabled()));
408408

409409
options.add(UiOptionItem.from("Page Up/Down -> Next/Previous",
410-
option -> mGeneralData.setRemapPageUpToNextEnabled(option.isSelected()),
411-
mGeneralData.isRemapPageUpToNextEnabled()));
410+
option -> mGeneralData.setPageUpDownAction(option.isSelected() ? GeneralData.ACTION_NEXT_PREVIOUS : GeneralData.ACTION_UNDEFINED),
411+
mGeneralData.getPageUpDownAction() == GeneralData.ACTION_NEXT_PREVIOUS));
412412

413413
options.add(UiOptionItem.from("Page Up/Down -> Like/Dislike",
414-
option -> mGeneralData.setRemapPageUpToLikeEnabled(option.isSelected()),
415-
mGeneralData.isRemapPageUpToLikeEnabled()));
414+
option -> mGeneralData.setPageUpDownAction(option.isSelected() ? GeneralData.ACTION_LIKE_DISLIKE : GeneralData.ACTION_UNDEFINED),
415+
mGeneralData.getPageUpDownAction() == GeneralData.ACTION_LIKE_DISLIKE));
416416

417417
options.add(UiOptionItem.from("Page Up/Down -> Speed Up/Down",
418-
option -> mGeneralData.setRemapPageUpToSpeedEnabled(option.isSelected()),
419-
mGeneralData.isRemapPageUpToSpeedEnabled()));
418+
option -> mGeneralData.setPageUpDownAction(option.isSelected() ? GeneralData.ACTION_SPEED_UP_DOWN : GeneralData.ACTION_UNDEFINED),
419+
mGeneralData.getPageUpDownAction() == GeneralData.ACTION_SPEED_UP_DOWN));
420420

421421
options.add(UiOptionItem.from("Page Up/Down -> Speed Down/Up",
422-
option -> mGeneralData.setRemapPageDownToSpeedEnabled(option.isSelected()),
423-
mGeneralData.isRemapPageDownToSpeedEnabled()));
422+
option -> mGeneralData.setPageUpDownAction(option.isSelected() ? GeneralData.ACTION_SPEED_DOWN_UP : GeneralData.ACTION_UNDEFINED),
423+
mGeneralData.getPageUpDownAction() == GeneralData.ACTION_SPEED_DOWN_UP));
424424

425425
options.add(UiOptionItem.from("Channel Up/Down -> Volume Up/Down",
426-
option -> mGeneralData.setRemapChannelUpToVolumeEnabled(option.isSelected()),
427-
mGeneralData.isRemapChannelUpToVolumeEnabled()));
426+
option -> mGeneralData.setChannelUpDownAction(option.isSelected() ? GeneralData.ACTION_VOLUME_UP_DOWN : GeneralData.ACTION_UNDEFINED),
427+
mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_VOLUME_UP_DOWN));
428428

429429
options.add(UiOptionItem.from("Channel Up/Down -> Next/Previous",
430-
option -> mGeneralData.setRemapChannelUpToNextEnabled(option.isSelected()),
431-
mGeneralData.isRemapChannelUpToNextEnabled()));
430+
option -> mGeneralData.setChannelUpDownAction(option.isSelected() ? GeneralData.ACTION_NEXT_PREVIOUS : GeneralData.ACTION_UNDEFINED),
431+
mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_NEXT_PREVIOUS));
432432

433433
options.add(UiOptionItem.from("Channel Up/Down -> Like/Dislike",
434-
option -> mGeneralData.setRemapChannelUpToLikeEnabled(option.isSelected()),
435-
mGeneralData.isRemapChannelUpToLikeEnabled()));
434+
option -> mGeneralData.setChannelUpDownAction(option.isSelected() ? GeneralData.ACTION_LIKE_DISLIKE : GeneralData.ACTION_UNDEFINED),
435+
mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_LIKE_DISLIKE));
436436

437437
options.add(UiOptionItem.from("Channel Up/Down -> Speed Up/Down",
438-
option -> mGeneralData.setRemapChannelUpToSpeedEnabled(option.isSelected()),
439-
mGeneralData.isRemapChannelUpToSpeedEnabled()));
438+
option -> mGeneralData.setChannelUpDownAction(option.isSelected() ? GeneralData.ACTION_SPEED_UP_DOWN : GeneralData.ACTION_UNDEFINED),
439+
mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_SPEED_UP_DOWN));
440+
441+
options.add(UiOptionItem.from("Channel Up/Down -> Speed Toggle",
442+
option -> mGeneralData.setChannelUpDownAction(option.isSelected() ? GeneralData.ACTION_SPEED_TOGGLE : GeneralData.ACTION_UNDEFINED),
443+
mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_SPEED_TOGGLE));
440444

441445
options.add(UiOptionItem.from("Channel Up/Down -> Search",
442-
option -> mGeneralData.setRemapChannelUpToSearchEnabled(option.isSelected()),
443-
mGeneralData.isRemapChannelUpToSearchEnabled()));
446+
option -> mGeneralData.setChannelUpDownAction(option.isSelected() ? GeneralData.ACTION_SEARCH : GeneralData.ACTION_UNDEFINED),
447+
mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_SEARCH));
444448

445449
settingsPresenter.appendCheckedCategory(getContext().getString(R.string.key_remapping), options);
446450
}

common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/GlobalKeyTranslator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private void addSearchAction() {
5656

5757
actionMapping.put(KeyEvent.KEYCODE_AT, searchAction);
5858

59-
if (getGeneralData().isRemapChannelUpToSearchEnabled()) {
59+
if (getGeneralData().getChannelUpDownAction() == GeneralData.ACTION_SEARCH) {
6060
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, searchAction);
6161
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, searchAction);
6262
}

common/src/main/java/com/liskovsoft/smartyoutubetv2/common/misc/PlayerKeyTranslator.java

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -64,22 +64,22 @@ protected void initKeyMapping() {
6464
globalKeyMapping.remove(KeyEvent.KEYCODE_MEDIA_REWIND);
6565
globalKeyMapping.remove(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD);
6666

67-
if (mGeneralData.isRemapFastForwardToNextEnabled()) {
67+
if (mGeneralData.getFastForwardRewindAction() == GeneralData.ACTION_NEXT_PREVIOUS) {
6868
globalKeyMapping.put(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD, KeyEvent.KEYCODE_MEDIA_NEXT);
6969
globalKeyMapping.put(KeyEvent.KEYCODE_MEDIA_REWIND, KeyEvent.KEYCODE_MEDIA_PREVIOUS);
7070
}
7171

72-
if (mGeneralData.isRemapNextToFastForwardEnabled()) {
72+
if (mGeneralData.getNextPreviousAction() == GeneralData.ACTION_FAST_FORWARD_REWIND) {
7373
globalKeyMapping.put(KeyEvent.KEYCODE_MEDIA_NEXT, KeyEvent.KEYCODE_MEDIA_FAST_FORWARD);
7474
globalKeyMapping.put(KeyEvent.KEYCODE_MEDIA_PREVIOUS, KeyEvent.KEYCODE_MEDIA_REWIND);
7575
}
7676

77-
if (mGeneralData.isRemapPageUpToNextEnabled()) {
77+
if (mGeneralData.getPageUpDownAction() == GeneralData.ACTION_NEXT_PREVIOUS) {
7878
globalKeyMapping.put(KeyEvent.KEYCODE_PAGE_UP, KeyEvent.KEYCODE_MEDIA_NEXT);
7979
globalKeyMapping.put(KeyEvent.KEYCODE_PAGE_DOWN, KeyEvent.KEYCODE_MEDIA_PREVIOUS);
8080
}
8181

82-
if (mGeneralData.isRemapChannelUpToNextEnabled()) {
82+
if (mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_NEXT_PREVIOUS) {
8383
globalKeyMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, KeyEvent.KEYCODE_MEDIA_NEXT);
8484
globalKeyMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, KeyEvent.KEYCODE_MEDIA_PREVIOUS);
8585
}
@@ -107,64 +107,57 @@ protected void initActionMapping() {
107107
actionMapping.put(KeyEvent.KEYCODE_S, speedToggleAction);
108108
}
109109

110-
if (mGeneralData.isRemapPageUpToLikeEnabled()) {
110+
if (mGeneralData.getPageUpDownAction() == GeneralData.ACTION_LIKE_DISLIKE) {
111111
actionMapping.put(KeyEvent.KEYCODE_PAGE_UP, likeAction);
112112
actionMapping.put(KeyEvent.KEYCODE_PAGE_DOWN, dislikeAction);
113-
}
114-
115-
if (mGeneralData.isRemapChannelUpToLikeEnabled()) {
116-
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, likeAction);
117-
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, dislikeAction);
118-
}
119-
120-
if (mGeneralData.isRemapPageUpToSpeedEnabled()) {
113+
} else if (mGeneralData.getPageUpDownAction() == GeneralData.ACTION_SPEED_UP_DOWN) {
121114
actionMapping.put(KeyEvent.KEYCODE_PAGE_UP, speedUpAction);
122115
actionMapping.put(KeyEvent.KEYCODE_PAGE_DOWN, speedDownAction);
123-
}
124-
125-
if (mGeneralData.isRemapPageDownToSpeedEnabled()) {
116+
} else if (mGeneralData.getPageUpDownAction() == GeneralData.ACTION_SPEED_DOWN_UP) {
126117
actionMapping.put(KeyEvent.KEYCODE_PAGE_UP, speedDownAction);
127118
actionMapping.put(KeyEvent.KEYCODE_PAGE_DOWN, speedUpAction);
128119
}
129120

130-
if (mGeneralData.isRemapChannelUpToSpeedEnabled()) {
121+
if (mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_LIKE_DISLIKE) {
122+
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, likeAction);
123+
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, dislikeAction);
124+
} else if (mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_SPEED_UP_DOWN) {
131125
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, speedUpAction);
132126
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, speedDownAction);
127+
} else if (mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_VOLUME_UP_DOWN) {
128+
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, volumeUpAction);
129+
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, volumeDownAction);
130+
} else if (mGeneralData.getChannelUpDownAction() == GeneralData.ACTION_SPEED_TOGGLE) {
131+
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, speedToggleAction);
132+
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, speedToggleAction);
133133
}
134134

135-
if (mGeneralData.isRemapFastForwardToSpeedToggleEnabled()) {
135+
if (mGeneralData.getFastForwardRewindAction() == GeneralData.ACTION_SPEED_TOGGLE) {
136136
actionMapping.put(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD, speedToggleAction);
137137
actionMapping.put(KeyEvent.KEYCODE_MEDIA_REWIND, speedToggleAction);
138-
} else if (mGeneralData.isRemapFastForwardToSpeedEnabled()) {
138+
} else if (mGeneralData.getFastForwardRewindAction() == GeneralData.ACTION_SPEED_UP_DOWN) {
139139
actionMapping.put(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD, speedUpAction);
140140
actionMapping.put(KeyEvent.KEYCODE_MEDIA_REWIND, speedDownAction);
141141
}
142142

143-
if (mGeneralData.isRemapNextToSpeedEnabled()) {
143+
if (mGeneralData.getNextPreviousAction() == GeneralData.ACTION_SPEED_UP_DOWN) {
144144
actionMapping.put(KeyEvent.KEYCODE_MEDIA_NEXT, speedUpAction);
145145
actionMapping.put(KeyEvent.KEYCODE_MEDIA_PREVIOUS, speedDownAction);
146146
}
147147

148-
if (mGeneralData.isRemapDpadUpToSpeedEnabled()) {
148+
if (mGeneralData.getDpadUpDownAction() == GeneralData.ACTION_SPEED_UP_DOWN) {
149149
actionMapping.put(KeyEvent.KEYCODE_DPAD_UP, speedUpAction);
150150
actionMapping.put(KeyEvent.KEYCODE_DPAD_DOWN, speedDownAction);
151+
} else if (mGeneralData.getDpadUpDownAction() == GeneralData.ACTION_VOLUME_UP_DOWN) {
152+
actionMapping.put(KeyEvent.KEYCODE_DPAD_UP, volumeUpAction);
153+
actionMapping.put(KeyEvent.KEYCODE_DPAD_DOWN, volumeDownAction);
151154
}
152155

153156
if (mGeneralData.isRemapNumbersToSpeedEnabled()) {
154157
actionMapping.put(KeyEvent.KEYCODE_3, speedUpAction);
155158
actionMapping.put(KeyEvent.KEYCODE_1, speedDownAction);
156159
}
157160

158-
if (mGeneralData.isRemapChannelUpToVolumeEnabled()) {
159-
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_UP, volumeUpAction);
160-
actionMapping.put(KeyEvent.KEYCODE_CHANNEL_DOWN, volumeDownAction);
161-
}
162-
163-
if (mGeneralData.isRemapDpadUpToVolumeEnabled()) {
164-
actionMapping.put(KeyEvent.KEYCODE_DPAD_UP, volumeUpAction);
165-
actionMapping.put(KeyEvent.KEYCODE_DPAD_DOWN, volumeDownAction);
166-
}
167-
168161
if (mGeneralData.isRemapDpadLeftToVolumeEnabled()) {
169162
actionMapping.put(KeyEvent.KEYCODE_DPAD_LEFT, volumeDownAction);
170163
actionMapping.put(KeyEvent.KEYCODE_DPAD_RIGHT, volumeUpAction);

0 commit comments

Comments
 (0)