Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector

This commit is contained in:
ThetaDev 2023-04-05 14:06:14 +02:00
commit 365bb2d0e4
22 changed files with 98 additions and 58 deletions

View file

@ -2007,7 +2007,10 @@ public final class VideoDetailFragment
restoreDefaultBrightness();
} else {
// Do not restore if user has disabled brightness gesture
if (!PlayerHelper.isBrightnessGestureEnabled(activity)) {
if (!PlayerHelper.getActionForRightGestureSide(activity)
.equals(getString(R.string.brightness_control_key))
&& !PlayerHelper.getActionForLeftGestureSide(activity)
.equals(getString(R.string.brightness_control_key))) {
return;
}
// Restore already saved brightness level

View file

@ -193,18 +193,20 @@ class MainPlayerGestureListener(
isMoving = true
// -- Brightness and Volume control --
val isBrightnessGestureEnabled = PlayerHelper.isBrightnessGestureEnabled(player.context)
val isVolumeGestureEnabled = PlayerHelper.isVolumeGestureEnabled(player.context)
if (isBrightnessGestureEnabled && isVolumeGestureEnabled) {
if (getDisplayHalfPortion(initialEvent) === DisplayPortion.LEFT_HALF) {
onScrollBrightness(distanceY)
} else /* DisplayPortion.RIGHT_HALF */ {
onScrollVolume(distanceY)
if (getDisplayHalfPortion(initialEvent) == DisplayPortion.RIGHT_HALF) {
when (PlayerHelper.getActionForRightGestureSide(player.context)) {
player.context.getString(R.string.volume_control_key) ->
onScrollVolume(distanceY)
player.context.getString(R.string.brightness_control_key) ->
onScrollBrightness(distanceY)
}
} else {
when (PlayerHelper.getActionForLeftGestureSide(player.context)) {
player.context.getString(R.string.volume_control_key) ->
onScrollVolume(distanceY)
player.context.getString(R.string.brightness_control_key) ->
onScrollBrightness(distanceY)
}
} else if (isBrightnessGestureEnabled) {
onScrollBrightness(distanceY)
} else if (isVolumeGestureEnabled) {
onScrollVolume(distanceY)
}
return true

View file

@ -228,14 +228,16 @@ public final class PlayerHelper {
.getBoolean(context.getString(R.string.resume_on_audio_focus_gain_key), false);
}
public static boolean isVolumeGestureEnabled(@NonNull final Context context) {
public static String getActionForRightGestureSide(@NonNull final Context context) {
return getPreferences(context)
.getBoolean(context.getString(R.string.volume_gesture_control_key), true);
.getString(context.getString(R.string.right_gesture_control_key),
context.getString(R.string.default_right_gesture_control_value));
}
public static boolean isBrightnessGestureEnabled(@NonNull final Context context) {
public static String getActionForLeftGestureSide(@NonNull final Context context) {
return getPreferences(context)
.getBoolean(context.getString(R.string.brightness_gesture_control_key), true);
.getString(context.getString(R.string.left_gesture_control_key),
context.getString(R.string.default_left_gesture_control_value));
}
public static boolean isStartMainPlayerFullscreenEnabled(@NonNull final Context context) {

View file

@ -108,6 +108,25 @@ public final class SettingMigrations {
}
};
public static final Migration MIGRATION_4_5 = new Migration(4, 5) {
@Override
protected void migrate(final Context context) {
final boolean brightness = sp.getBoolean("brightness_gesture_control", true);
final boolean volume = sp.getBoolean("volume_gesture_control", true);
final SharedPreferences.Editor editor = sp.edit();
editor.putString(context.getString(R.string.right_gesture_control_key),
context.getString(volume
? R.string.volume_control_key : R.string.none_control_key));
editor.putString(context.getString(R.string.left_gesture_control_key),
context.getString(brightness
? R.string.brightness_control_key : R.string.none_control_key));
editor.apply();
}
};
/**
* List of all implemented migrations.
* <p>
@ -119,12 +138,13 @@ public final class SettingMigrations {
MIGRATION_1_2,
MIGRATION_2_3,
MIGRATION_3_4,
MIGRATION_4_5,
};
/**
* Version number for preferences. Must be incremented every time a migration is necessary.
*/
public static final int VERSION = 4;
public static final int VERSION = 5;
public static void initMigrations(final Context context, final boolean isFirstRun) {