From 642b499e70fe088e6d80d345e15502888df02cd9 Mon Sep 17 00:00:00 2001 From: Ritiek Malhotra Date: Wed, 31 Oct 2018 21:42:00 +0530 Subject: [PATCH 1/8] Fix crash with default resolution best on mobile data --- app/src/main/java/org/schabi/newpipe/util/ListHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/ListHelper.java b/app/src/main/java/org/schabi/newpipe/util/ListHelper.java index 871d0578f..8fc423837 100644 --- a/app/src/main/java/org/schabi/newpipe/util/ListHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/ListHelper.java @@ -110,7 +110,8 @@ public final class ListHelper { : context.getString(R.string.best_resolution_key); String maxResolution = getResolutionLimit(context); - if (maxResolution != null && compareVideoStreamResolution(maxResolution, resolution) < 1){ + if (maxResolution != null && (resolution.equals(context.getString(R.string.best_resolution_key)) + || compareVideoStreamResolution(maxResolution, resolution) < 1)) { resolution = maxResolution; } return resolution; From 86f82c0e616d256f446571242f4e2253587a5b5b Mon Sep 17 00:00:00 2001 From: Nitin Khanna Date: Wed, 7 Nov 2018 22:01:39 +0530 Subject: [PATCH 2/8] pop-up player crash fixed --- .../org/schabi/newpipe/player/BasePlayer.java | 106 +++++++++++------- 1 file changed, 67 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java index 0e4d07179..d6a656a29 100644 --- a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java @@ -98,35 +98,54 @@ public abstract class BasePlayer implements Player.EventListener, PlaybackListener, ImageLoadingListener { public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release"); - @NonNull public static final String TAG = "BasePlayer"; + @NonNull + public static final String TAG = "BasePlayer"; - @NonNull final protected Context context; + @NonNull + final protected Context context; - @NonNull final protected BroadcastReceiver broadcastReceiver; - @NonNull final protected IntentFilter intentFilter; + @NonNull + final protected BroadcastReceiver broadcastReceiver; + @NonNull + final protected IntentFilter intentFilter; - @NonNull final protected HistoryRecordManager recordManager; + @NonNull + final protected HistoryRecordManager recordManager; - @NonNull final protected CustomTrackSelector trackSelector; - @NonNull final protected PlayerDataSource dataSource; + @NonNull + final protected CustomTrackSelector trackSelector; + @NonNull + final protected PlayerDataSource dataSource; - @NonNull final private LoadControl loadControl; - @NonNull final private RenderersFactory renderFactory; + @NonNull + final private LoadControl loadControl; + @NonNull + final private RenderersFactory renderFactory; - @NonNull final private SerialDisposable progressUpdateReactor; - @NonNull final private CompositeDisposable databaseUpdateReactor; + @NonNull + final private SerialDisposable progressUpdateReactor; + @NonNull + final private CompositeDisposable databaseUpdateReactor; /*////////////////////////////////////////////////////////////////////////// // Intent //////////////////////////////////////////////////////////////////////////*/ - @NonNull public static final String REPEAT_MODE = "repeat_mode"; - @NonNull public static final String PLAYBACK_PITCH = "playback_pitch"; - @NonNull public static final String PLAYBACK_SPEED = "playback_speed"; - @NonNull public static final String PLAYBACK_SKIP_SILENCE = "playback_skip_silence"; - @NonNull public static final String PLAYBACK_QUALITY = "playback_quality"; - @NonNull public static final String PLAY_QUEUE_KEY = "play_queue_key"; - @NonNull public static final String APPEND_ONLY = "append_only"; - @NonNull public static final String SELECT_ON_APPEND = "select_on_append"; + @NonNull + public static final String REPEAT_MODE = "repeat_mode"; + @NonNull + public static final String PLAYBACK_PITCH = "playback_pitch"; + @NonNull + public static final String PLAYBACK_SPEED = "playback_speed"; + @NonNull + public static final String PLAYBACK_SKIP_SILENCE = "playback_skip_silence"; + @NonNull + public static final String PLAYBACK_QUALITY = "playback_quality"; + @NonNull + public static final String PLAY_QUEUE_KEY = "play_queue_key"; + @NonNull + public static final String APPEND_ONLY = "append_only"; + @NonNull + public static final String SELECT_ON_APPEND = "select_on_append"; /*////////////////////////////////////////////////////////////////////////// // Playback @@ -137,13 +156,18 @@ public abstract class BasePlayer implements protected PlayQueue playQueue; protected PlayQueueAdapter playQueueAdapter; - @Nullable protected MediaSourceManager playbackManager; + @Nullable + protected MediaSourceManager playbackManager; - @Nullable private PlayQueueItem currentItem; - @Nullable private MediaSourceTag currentMetadata; - @Nullable private Bitmap currentThumbnail; + @Nullable + private PlayQueueItem currentItem; + @Nullable + private MediaSourceTag currentMetadata; + @Nullable + private Bitmap currentThumbnail; - @Nullable protected Toast errorToast; + @Nullable + protected Toast errorToast; /*////////////////////////////////////////////////////////////////////////// // Player @@ -213,7 +237,8 @@ public abstract class BasePlayer implements registerBroadcastReceiver(); } - public void initListeners() {} + public void initListeners() { + } public void handleIntent(Intent intent) { if (DEBUG) Log.d(TAG, "handleIntent() called with: intent = [" + intent + "]"); @@ -297,7 +322,6 @@ public abstract class BasePlayer implements databaseUpdateReactor.clear(); progressUpdateReactor.set(null); - simpleExoPlayer = null; } /*////////////////////////////////////////////////////////////////////////// @@ -425,13 +449,15 @@ public abstract class BasePlayer implements if (!isProgressLoopRunning()) startProgressLoop(); } - public void onBuffering() {} + public void onBuffering() { + } public void onPaused() { if (isProgressLoopRunning()) stopProgressLoop(); } - public void onPausedSeek() {} + public void onPausedSeek() { + } public void onCompleted() { if (DEBUG) Log.d(TAG, "onCompleted() called"); @@ -602,19 +628,19 @@ public abstract class BasePlayer implements /** * Processes the exceptions produced by {@link com.google.android.exoplayer2.ExoPlayer ExoPlayer}. * There are multiple types of errors:

- * + *

* {@link ExoPlaybackException#TYPE_SOURCE TYPE_SOURCE}:

- * + *

* {@link ExoPlaybackException#TYPE_UNEXPECTED TYPE_UNEXPECTED}:

* If a runtime error occurred, then we can try to recover it by restarting the playback * after setting the timestamp recovery.

- * + *

* {@link ExoPlaybackException#TYPE_RENDERER TYPE_RENDERER}:

* If the renderer failed, treat the error as unrecoverable. * * @see #processSourceError(IOException) * @see Player.EventListener#onPlayerError(ExoPlaybackException) - * */ + */ @Override public void onPlayerError(ExoPlaybackException error) { if (DEBUG) Log.d(TAG, "ExoPlayer - onPlayerError() called with: " + @@ -900,8 +926,8 @@ public abstract class BasePlayer implements if (DEBUG) Log.d(TAG, "onPlayPrevious() called"); /* If current playback has run for PLAY_PREV_ACTIVATION_LIMIT_MILLIS milliseconds, - * restart current track. Also restart the track if the current track - * is the first in a queue.*/ + * restart current track. Also restart the track if the current track + * is the first in a queue.*/ if (simpleExoPlayer.getCurrentPosition() > PLAY_PREV_ACTIVATION_LIMIT_MILLIS || playQueue.getIndex() == 0) { seekToDefault(); @@ -1010,8 +1036,8 @@ public abstract class BasePlayer implements try { metadata = (MediaSourceTag) simpleExoPlayer.getCurrentTag(); } catch (IndexOutOfBoundsException | ClassCastException error) { - if(DEBUG) Log.d(TAG, "Could not update metadata: " + error.getMessage()); - if(DEBUG) error.printStackTrace(); + if (DEBUG) Log.d(TAG, "Could not update metadata: " + error.getMessage()); + if (DEBUG) error.printStackTrace(); return; } @@ -1075,7 +1101,9 @@ public abstract class BasePlayer implements currentThumbnail; } - /** Checks if the current playback is a livestream AND is playing at or beyond the live edge */ + /** + * Checks if the current playback is a livestream AND is playing at or beyond the live edge + */ @SuppressWarnings("BooleanMethodIsAlwaysInverted") public boolean isLiveEdge() { if (simpleExoPlayer == null || !isLive()) return false; @@ -1099,8 +1127,8 @@ public abstract class BasePlayer implements } catch (@NonNull IndexOutOfBoundsException ignored) { // Why would this even happen =( // But lets log it anyway. Save is save - if(DEBUG) Log.d(TAG, "Could not update metadata: " + ignored.getMessage()); - if(DEBUG) ignored.printStackTrace(); + if (DEBUG) Log.d(TAG, "Could not update metadata: " + ignored.getMessage()); + if (DEBUG) ignored.printStackTrace(); return false; } } From 57732c3e5f4e8ba8a9a0ce85094de925f0f8706b Mon Sep 17 00:00:00 2001 From: Igor Nedoboy Date: Sat, 10 Nov 2018 02:56:14 +0300 Subject: [PATCH 3/8] Update strings.xml --- app/src/main/res/values-ru/strings.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 842042e16..9a7ed63fa 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -508,4 +508,21 @@ Сетка Автоматически + Менять жестом яркость в плеере + Жест яркости + Загрузка на внешний накопитель невозможна. Сбросить местоположение папки для загрузки? + Внешний накопитель недоступен + Вкладки, видимые на главной странице + По умолчанию + Хотите восстановить умолчания? + Ошибка чтения сохранённых вкладок. Используются вкладки по умолчанию + Выбор + Количество подписчиков недоступно + Переключить вид + Выберите вкладку + Новая вкладка + Отписаться + Менять жестом громкость в плеере + Жест громкости + From b34f9d7fd350a7183f2ee945d05738af663e4b72 Mon Sep 17 00:00:00 2001 From: Igor Nedoboy Date: Sat, 10 Nov 2018 03:06:55 +0300 Subject: [PATCH 4/8] Update strings.xml --- app/src/main/res/values-ru/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9a7ed63fa..94f017a5d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -510,7 +510,7 @@ Менять жестом яркость в плеере Жест яркости - Загрузка на внешний накопитель невозможна. Сбросить местоположение папки для загрузки? + Загрузка на внешний накопитель невозможна. Сбросить расположение папки для загрузки? Внешний накопитель недоступен Вкладки, видимые на главной странице По умолчанию From b462b7fcc4b9f072c43f6a751b4b3ca024076f0e Mon Sep 17 00:00:00 2001 From: Igor Nedoboy Date: Sat, 10 Nov 2018 17:08:04 +0300 Subject: [PATCH 5/8] Update strings.xml --- app/src/main/res/values-ru/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 94f017a5d..d0cf819f7 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -510,7 +510,7 @@ Менять жестом яркость в плеере Жест яркости - Загрузка на внешний накопитель невозможна. Сбросить расположение папки для загрузки? + Загрузка на внешний накопитель невозможна. Сбросить расположение папки загрузки? Внешний накопитель недоступен Вкладки, видимые на главной странице По умолчанию From 64f9228ee38ae197582dcf6ced25ed24bc829f1b Mon Sep 17 00:00:00 2001 From: Igor Nedoboy Date: Sun, 11 Nov 2018 02:44:45 +0300 Subject: [PATCH 6/8] Update strings.xml --- app/src/main/res/values-ru/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d0cf819f7..3fad6b288 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -508,7 +508,7 @@ Сетка Автоматически - Менять жестом яркость в плеере + Менять яркость плеера жестом Жест яркости Загрузка на внешний накопитель невозможна. Сбросить расположение папки загрузки? Внешний накопитель недоступен @@ -522,7 +522,7 @@ Выберите вкладку Новая вкладка Отписаться - Менять жестом громкость в плеере + Менять громкость плеера жестом Жест громкости From d27622de1e1067275318ff320be091c1abaae2e9 Mon Sep 17 00:00:00 2001 From: jludden Date: Sun, 11 Nov 2018 19:54:35 +0800 Subject: [PATCH 7/8] downloaded files can now be opened with one click For consistency, I removed the view file option from the overflow menu as well --- .../giga/ui/adapter/MissionAdapter.java | 51 +++++++++---------- app/src/main/res/menu/mission.xml | 6 +-- 2 files changed, 25 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java index d5555c2be..de7301a30 100644 --- a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java +++ b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java @@ -96,12 +96,11 @@ public class MissionAdapter extends RecyclerView.Adapter - - - + From 0df8d13020420925517f247595908a0ad1951738 Mon Sep 17 00:00:00 2001 From: jludden Date: Sun, 11 Nov 2018 22:25:37 +0800 Subject: [PATCH 8/8] downloads can now be viewed with one click fixed --- .../main/java/us/shandian/giga/ui/adapter/MissionAdapter.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java index de7301a30..bca8796b5 100644 --- a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java +++ b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java @@ -99,6 +99,7 @@ public class MissionAdapter extends RecyclerView.Adapter