mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2024-12-23 00:20:32 +00:00
Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector
This commit is contained in:
commit
365bb2d0e4
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@ -1,3 +1,5 @@
|
|||||||
|
### Please do **not** open pull requests for *new features* now, as we are planning to rewrite large chunks of the code. Only bugfix PRs will be accepted. More details will be announced soon!
|
||||||
|
|
||||||
NewPipe contribution guidelines
|
NewPipe contribution guidelines
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
### Please do **not** open pull requests for *new features* now, as we are planning to rewrite large chunks of the code. Only bugfix PRs will be accepted. More details will be announced soon!
|
||||||
|
|
||||||
<p align="center"><a href="https://newpipe.net"><img src="assets/new_pipe_icon_5.png" width="150"></a></p>
|
<p align="center"><a href="https://newpipe.net"><img src="assets/new_pipe_icon_5.png" width="150"></a></p>
|
||||||
<h2 align="center"><b>NewPipe</b></h2>
|
<h2 align="center"><b>NewPipe</b></h2>
|
||||||
<h4 align="center">A libre lightweight streaming front-end for Android.</h4>
|
<h4 align="center">A libre lightweight streaming front-end for Android.</h4>
|
||||||
|
@ -2007,7 +2007,10 @@ public final class VideoDetailFragment
|
|||||||
restoreDefaultBrightness();
|
restoreDefaultBrightness();
|
||||||
} else {
|
} else {
|
||||||
// Do not restore if user has disabled brightness gesture
|
// 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;
|
return;
|
||||||
}
|
}
|
||||||
// Restore already saved brightness level
|
// Restore already saved brightness level
|
||||||
|
@ -193,18 +193,20 @@ class MainPlayerGestureListener(
|
|||||||
isMoving = true
|
isMoving = true
|
||||||
|
|
||||||
// -- Brightness and Volume control --
|
// -- Brightness and Volume control --
|
||||||
val isBrightnessGestureEnabled = PlayerHelper.isBrightnessGestureEnabled(player.context)
|
if (getDisplayHalfPortion(initialEvent) == DisplayPortion.RIGHT_HALF) {
|
||||||
val isVolumeGestureEnabled = PlayerHelper.isVolumeGestureEnabled(player.context)
|
when (PlayerHelper.getActionForRightGestureSide(player.context)) {
|
||||||
if (isBrightnessGestureEnabled && isVolumeGestureEnabled) {
|
player.context.getString(R.string.volume_control_key) ->
|
||||||
if (getDisplayHalfPortion(initialEvent) === DisplayPortion.LEFT_HALF) {
|
|
||||||
onScrollBrightness(distanceY)
|
|
||||||
} else /* DisplayPortion.RIGHT_HALF */ {
|
|
||||||
onScrollVolume(distanceY)
|
onScrollVolume(distanceY)
|
||||||
|
player.context.getString(R.string.brightness_control_key) ->
|
||||||
|
onScrollBrightness(distanceY)
|
||||||
}
|
}
|
||||||
} else if (isBrightnessGestureEnabled) {
|
} else {
|
||||||
onScrollBrightness(distanceY)
|
when (PlayerHelper.getActionForLeftGestureSide(player.context)) {
|
||||||
} else if (isVolumeGestureEnabled) {
|
player.context.getString(R.string.volume_control_key) ->
|
||||||
onScrollVolume(distanceY)
|
onScrollVolume(distanceY)
|
||||||
|
player.context.getString(R.string.brightness_control_key) ->
|
||||||
|
onScrollBrightness(distanceY)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
@ -228,14 +228,16 @@ public final class PlayerHelper {
|
|||||||
.getBoolean(context.getString(R.string.resume_on_audio_focus_gain_key), false);
|
.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)
|
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)
|
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) {
|
public static boolean isStartMainPlayerFullscreenEnabled(@NonNull final Context context) {
|
||||||
|
@ -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.
|
* List of all implemented migrations.
|
||||||
* <p>
|
* <p>
|
||||||
@ -119,12 +138,13 @@ public final class SettingMigrations {
|
|||||||
MIGRATION_1_2,
|
MIGRATION_1_2,
|
||||||
MIGRATION_2_3,
|
MIGRATION_2_3,
|
||||||
MIGRATION_3_4,
|
MIGRATION_3_4,
|
||||||
|
MIGRATION_4_5,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Version number for preferences. Must be incremented every time a migration is necessary.
|
* 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) {
|
public static void initMigrations(final Context context, final boolean isFirstRun) {
|
||||||
|
@ -16,8 +16,6 @@
|
|||||||
<string name="use_external_video_player_key">use_external_video_player</string>
|
<string name="use_external_video_player_key">use_external_video_player</string>
|
||||||
<string name="use_external_audio_player_key">use_external_audio_player</string>
|
<string name="use_external_audio_player_key">use_external_audio_player</string>
|
||||||
|
|
||||||
<string name="volume_gesture_control_key">volume_gesture_control</string>
|
|
||||||
<string name="brightness_gesture_control_key">brightness_gesture_control</string>
|
|
||||||
<string name="resume_on_audio_focus_gain_key">resume_on_audio_focus_gain</string>
|
<string name="resume_on_audio_focus_gain_key">resume_on_audio_focus_gain</string>
|
||||||
<string name="popup_remember_size_pos_key">popup_remember_size_pos_key</string>
|
<string name="popup_remember_size_pos_key">popup_remember_size_pos_key</string>
|
||||||
<string name="use_inexact_seek_key">use_inexact_seek_key</string>
|
<string name="use_inexact_seek_key">use_inexact_seek_key</string>
|
||||||
@ -192,6 +190,35 @@
|
|||||||
<item>@string/audio_webm_key</item>
|
<item>@string/audio_webm_key</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string name="left_gesture_control_key">left_gesture_control</string>
|
||||||
|
<string name="default_left_gesture_control_value">@string/brightness_control_key</string>
|
||||||
|
<string name="brightness_control_key">brightness_control</string>
|
||||||
|
<string name="volume_control_key">volume_control</string>
|
||||||
|
<string name="none_control_key">none_control</string>
|
||||||
|
<string-array name="left_gesture_control_description">
|
||||||
|
<item>@string/brightness</item>
|
||||||
|
<item>@string/volume</item>
|
||||||
|
<item>@string/none</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="left_gesture_control_values">
|
||||||
|
<item>@string/brightness_control_key</item>
|
||||||
|
<item>@string/volume_control_key</item>
|
||||||
|
<item>@string/none_control_key</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string name="right_gesture_control_key">right_gesture_control</string>
|
||||||
|
<string name="default_right_gesture_control_value">@string/volume_control_key</string>
|
||||||
|
<string-array name="right_gesture_control_description">
|
||||||
|
<item>@string/volume</item>
|
||||||
|
<item>@string/brightness</item>
|
||||||
|
<item>@string/none</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="right_gesture_control_values">
|
||||||
|
<item>@string/volume_control_key</item>
|
||||||
|
<item>@string/brightness_control_key</item>
|
||||||
|
<item>@string/none_control_key</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
<string name="prefer_original_audio_key">prefer_original_audio</string>
|
<string name="prefer_original_audio_key">prefer_original_audio</string>
|
||||||
<string name="prefer_descriptive_audio_key">prefer_descriptive_audio</string>
|
<string name="prefer_descriptive_audio_key">prefer_descriptive_audio</string>
|
||||||
<string name="last_resize_mode">last_resize_mode</string>
|
<string name="last_resize_mode">last_resize_mode</string>
|
||||||
|
@ -105,10 +105,13 @@
|
|||||||
<string name="auto_queue_title">Auto-enqueue next stream</string>
|
<string name="auto_queue_title">Auto-enqueue next stream</string>
|
||||||
<string name="auto_queue_summary">Continue ending (non-repeating) playback queue by appending a related stream</string>
|
<string name="auto_queue_summary">Continue ending (non-repeating) playback queue by appending a related stream</string>
|
||||||
<string name="auto_queue_toggle">Auto-enqueuing</string>
|
<string name="auto_queue_toggle">Auto-enqueuing</string>
|
||||||
<string name="volume_gesture_control_title">Volume gesture control</string>
|
<string name="left_gesture_control_summary">Choose gesture for left half of player screen</string>
|
||||||
<string name="volume_gesture_control_summary">Use gestures to control player volume</string>
|
<string name="left_gesture_control_title">Left gesture action</string>
|
||||||
<string name="brightness_gesture_control_title">Brightness gesture control</string>
|
<string name="right_gesture_control_summary">Choose gesture for right half of player screen</string>
|
||||||
<string name="brightness_gesture_control_summary">Use gestures to control player brightness</string>
|
<string name="right_gesture_control_title">Right gesture action</string>
|
||||||
|
<string name="brightness">Brightness</string>
|
||||||
|
<string name="volume">Volume</string>
|
||||||
|
<string name="none">None</string>
|
||||||
<string name="show_search_suggestions_title">Search suggestions</string>
|
<string name="show_search_suggestions_title">Search suggestions</string>
|
||||||
<string name="show_search_suggestions_summary">Choose the suggestions to show when searching</string>
|
<string name="show_search_suggestions_summary">Choose the suggestions to show when searching</string>
|
||||||
<string name="local_search_suggestions">Local search suggestions</string>
|
<string name="local_search_suggestions">Local search suggestions</string>
|
||||||
|
@ -190,19 +190,23 @@
|
|||||||
app:singleLineTitle="false"
|
app:singleLineTitle="false"
|
||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<ListPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="@string/default_left_gesture_control_value"
|
||||||
android:key="@string/volume_gesture_control_key"
|
android:entries="@array/left_gesture_control_description"
|
||||||
android:summary="@string/volume_gesture_control_summary"
|
android:entryValues="@array/left_gesture_control_values"
|
||||||
android:title="@string/volume_gesture_control_title"
|
android:key="@string/left_gesture_control_key"
|
||||||
|
android:summary="@string/left_gesture_control_summary"
|
||||||
|
android:title="@string/left_gesture_control_title"
|
||||||
app:singleLineTitle="false"
|
app:singleLineTitle="false"
|
||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<ListPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="@string/default_right_gesture_control_value"
|
||||||
android:key="@string/brightness_gesture_control_key"
|
android:entries="@array/right_gesture_control_description"
|
||||||
android:summary="@string/brightness_gesture_control_summary"
|
android:entryValues="@array/right_gesture_control_values"
|
||||||
android:title="@string/brightness_gesture_control_title"
|
android:key="@string/right_gesture_control_key"
|
||||||
|
android:summary="@string/right_gesture_control_summary"
|
||||||
|
android:title="@string/right_gesture_control_title"
|
||||||
app:singleLineTitle="false"
|
app:singleLineTitle="false"
|
||||||
app:iconSpaceReserved="false" />
|
app:iconSpaceReserved="false" />
|
||||||
|
|
||||||
|
@ -10,4 +10,3 @@ Vylepšeno
|
|||||||
Opraveno
|
Opraveno
|
||||||
• Oprava otevírání URL prohlížeče, stahování a externích přehrávačů v Android 11+
|
• Oprava otevírání URL prohlížeče, stahování a externích přehrávačů v Android 11+
|
||||||
• Oprava interakce s celou obrazovkou v MIUI
|
• Oprava interakce s celou obrazovkou v MIUI
|
||||||
• Úpravy nastavení ExoPlayer pro opravu přehrávání na některých zařízeních
|
|
||||||
|
@ -10,4 +10,3 @@ Improved
|
|||||||
Fixed
|
Fixed
|
||||||
• Fix opening browser URLs, downloads and external players on Android 11+
|
• Fix opening browser URLs, downloads and external players on Android 11+
|
||||||
• Fix interacting with fullscreen requiring two taps on MIUI
|
• Fix interacting with fullscreen requiring two taps on MIUI
|
||||||
• Allow tweaking ExoPlayer settings to fix playback on some devices
|
|
@ -10,4 +10,3 @@ Mejorado
|
|||||||
Solucionado
|
Solucionado
|
||||||
• Abrir URL del navegador, descargas y reproductores externos en Android 11+
|
• Abrir URL del navegador, descargas y reproductores externos en Android 11+
|
||||||
• Interación en pantalla completa, requería dos toques en MIUI
|
• Interación en pantalla completa, requería dos toques en MIUI
|
||||||
• Cambiar la configuración de ExoPlayer para la reproducción en algunos dispositivos
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
New
|
|
||||||
• Add warning when adding playlist duplicates and add button to remove them
|
|
||||||
• Allow ignoring hardware buttons
|
|
||||||
• Allow hiding partially watched videos in feed
|
|
||||||
|
|
||||||
Improved
|
|
||||||
• Use more grid columns on big screens
|
|
||||||
• Make progress indicators consistent with settings
|
|
||||||
|
|
||||||
Fixed
|
|
||||||
• Fix opening browser URLs, downloads and external players on Android 11+
|
|
||||||
• Fix interacting with fullscreen requiring two taps on MIUI
|
|
||||||
• Allow tweaking ExoPlayer settings to fix playback on some devices
|
|
@ -10,4 +10,3 @@ Migliorato
|
|||||||
Corretto
|
Corretto
|
||||||
• Fix apertura URL, download e player esterni su Android 11+
|
• Fix apertura URL, download e player esterni su Android 11+
|
||||||
• Fix interazione con schermo intero che richiedeva due otcchi su MIUI
|
• Fix interazione con schermo intero che richiedeva due otcchi su MIUI
|
||||||
• Regola le impostazioni di ExoPlayer per correggere la riproduzione su alcuni dispositivi
|
|
||||||
|
@ -10,4 +10,3 @@
|
|||||||
ਠੀਕ ਕੀਤੇ
|
ਠੀਕ ਕੀਤੇ
|
||||||
• Android 11 'ਤੇ ਖੋਲ੍ਹਣ ਵਾਲੇ ਬ੍ਰਾਊਜ਼ਰ URL, ਡਾਊਨਲੋਡ ਅਤੇ ਬਾਹਰੀ ਪਲੇਅਰ ਨੂੰ ਠੀਕ ਕਰੋ
|
• Android 11 'ਤੇ ਖੋਲ੍ਹਣ ਵਾਲੇ ਬ੍ਰਾਊਜ਼ਰ URL, ਡਾਊਨਲੋਡ ਅਤੇ ਬਾਹਰੀ ਪਲੇਅਰ ਨੂੰ ਠੀਕ ਕਰੋ
|
||||||
• MIUI 'ਤੇ ਦੋ ਟੈਪਾਂ ਦੀ ਲੋੜ ਵਾਲੀ ਪੂਰੀ ਸਕ੍ਰੀਨ ਨਾਲ ਇੰਟਰੈਕਟਿੰਗ ਨੂੰ ਠੀਕ ਕਰੋ
|
• MIUI 'ਤੇ ਦੋ ਟੈਪਾਂ ਦੀ ਲੋੜ ਵਾਲੀ ਪੂਰੀ ਸਕ੍ਰੀਨ ਨਾਲ ਇੰਟਰੈਕਟਿੰਗ ਨੂੰ ਠੀਕ ਕਰੋ
|
||||||
• ਕੁਝ ਡਿਵਾਈਸਾਂ 'ਤੇ ਪਲੇਬੈਕ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ExoPlayer ਸੈਟਿੰਗਾਂ ਨੂੰ ਟਵੀਕ ਕਰਨ ਦਿਓ
|
|
||||||
|
@ -10,4 +10,3 @@ Ulepszone
|
|||||||
Naprawione
|
Naprawione
|
||||||
• Otwier. URL-i przeglądarki, pobranych i zew. odtwarzaczy na Androidzie 11+
|
• Otwier. URL-i przeglądarki, pobranych i zew. odtwarzaczy na Androidzie 11+
|
||||||
• Interakcja z trybem pełnoekr. wymagającym dwóch naciśnięć na MIUI
|
• Interakcja z trybem pełnoekr. wymagającym dwóch naciśnięć na MIUI
|
||||||
• Dostosow. ustawień ExoPlayera, aby naprawić odtwarzanie na niektórych urządz.
|
|
||||||
|
@ -10,4 +10,3 @@ Melhorado
|
|||||||
Fixa
|
Fixa
|
||||||
- Corrigir URLs de abertura do navegador, downloads e leitores externos no Android 11+
|
- Corrigir URLs de abertura do navegador, downloads e leitores externos no Android 11+
|
||||||
- Fixação interagindo com tela cheia requer duas torneiras no MIUI
|
- Fixação interagindo com tela cheia requer duas torneiras no MIUI
|
||||||
- Permitir ajustes no ExoPlayer para fixar a reprodução em alguns dispositivos
|
|
||||||
|
@ -10,4 +10,3 @@ Melhorado
|
|||||||
Fixa
|
Fixa
|
||||||
- Corrigir URLs de abertura do navegador, downloads e leitores externos no Android 11+
|
- Corrigir URLs de abertura do navegador, downloads e leitores externos no Android 11+
|
||||||
- Fixação interagindo com tela cheia requer duas torneiras no MIUI
|
- Fixação interagindo com tela cheia requer duas torneiras no MIUI
|
||||||
- Permitir ajustes no ExoPlayer para fixar a reprodução em alguns dispositivos
|
|
||||||
|
@ -10,4 +10,3 @@
|
|||||||
Исправления
|
Исправления
|
||||||
• Исправлено открытие URL-адресов браузера, загрузок и внешних проигрывателей на Android 11+
|
• Исправлено открытие URL-адресов браузера, загрузок и внешних проигрывателей на Android 11+
|
||||||
• Исправлено взаимодействие с полноэкранным режимом, требующее двух нажатий в MIUI
|
• Исправлено взаимодействие с полноэкранным режимом, требующее двух нажатий в MIUI
|
||||||
• Разрешить изменять настройки ExoPlayer, чтобы исправить воспроизведение на некоторых устройствах
|
|
||||||
|
@ -10,4 +10,3 @@
|
|||||||
Виправлено
|
Виправлено
|
||||||
• Відкриття URL-адрес браузера, завантажень і зовнішніх програвачів на Android 11+
|
• Відкриття URL-адрес браузера, завантажень і зовнішніх програвачів на Android 11+
|
||||||
• Роботу повноекранного режиму, який вимагав двох дотиків у MIUI
|
• Роботу повноекранного режиму, який вимагав двох дотиків у MIUI
|
||||||
• Дозвіл змінювати налаштування ExoPlayer, щоб виправити відтворення на деяких пристроях
|
|
||||||
|
@ -10,4 +10,3 @@
|
|||||||
修正
|
修正
|
||||||
• 修正 Android 11+ 上開啟瀏覽器 URL、下載與外部播放器
|
• 修正 Android 11+ 上開啟瀏覽器 URL、下載與外部播放器
|
||||||
• 修正 MIUI 上全螢幕操作需要輕觸兩下
|
• 修正 MIUI 上全螢幕操作需要輕觸兩下
|
||||||
• 允許微調 ExoPlayer 設定以修正部分裝置上的播放問題
|
|
||||||
|
@ -10,4 +10,3 @@
|
|||||||
執漏
|
執漏
|
||||||
• 修正 Android 11+ 開啟瀏覽器 URL、下載同外面播放器
|
• 修正 Android 11+ 開啟瀏覽器 URL、下載同外面播放器
|
||||||
• 修正 MIUI 全螢幕時要撳兩下至搞得掂
|
• 修正 MIUI 全螢幕時要撳兩下至搞得掂
|
||||||
• 有得調校 ExoPlayer 設定解決某啲機播唔到片嘅問題
|
|
||||||
|
Loading…
Reference in New Issue
Block a user