diff --git a/README.md b/README.md
index 6a563dfd8..15ba3d04b 100644
--- a/README.md
+++ b/README.md
@@ -20,15 +20,15 @@
## Screenshots
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_1.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_2.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_3.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_4.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_5.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_6.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_7.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_8.png)
-[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_9.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
+[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
[](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
[](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
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;
}
}
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 3e6a58415..7827c822e 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
@@ -274,6 +274,7 @@ public class MissionAdapter extends RecyclerView.Adapter