diff --git a/app/src/main/java/org/schabi/newpipe/BaseFragment.java b/app/src/main/java/org/schabi/newpipe/BaseFragment.java index c8b6969c6..0be427648 100644 --- a/app/src/main/java/org/schabi/newpipe/BaseFragment.java +++ b/app/src/main/java/org/schabi/newpipe/BaseFragment.java @@ -16,7 +16,7 @@ import leakcanary.AppWatcher; public abstract class BaseFragment extends Fragment { protected final String TAG = getClass().getSimpleName() + "@" + Integer.toHexString(hashCode()); - protected final boolean DEBUG = MainActivity.DEBUG; + protected static final boolean DEBUG = MainActivity.DEBUG; protected AppCompatActivity activity; //These values are used for controlling fragments when they are part of the frontpage @State diff --git a/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java index cd6a882ae..555dd709b 100644 --- a/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java +++ b/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java @@ -1,5 +1,6 @@ package org.schabi.newpipe.error; +import android.annotation.SuppressLint; import android.content.Intent; import android.content.SharedPreferences; import android.os.Build; @@ -66,6 +67,7 @@ public class ReCaptchaActivity extends AppCompatActivity { private ActivityRecaptchaBinding recaptchaBinding; private String foundCookies = ""; + @SuppressLint("SetJavaScriptEnabled") @Override protected void onCreate(final Bundle savedInstanceState) { ThemeHelper.setTheme(this); diff --git a/app/src/main/java/org/schabi/newpipe/player/Player.java b/app/src/main/java/org/schabi/newpipe/player/Player.java index dd5468f69..771e935fe 100644 --- a/app/src/main/java/org/schabi/newpipe/player/Player.java +++ b/app/src/main/java/org/schabi/newpipe/player/Player.java @@ -614,7 +614,7 @@ public final class Player implements playQueue.append(newQueue.getStreams()); if ((intent.getBooleanExtra(SELECT_ON_APPEND, false) - || currentState == STATE_COMPLETED) && newQueue.getStreams().size() > 0) { + || currentState == STATE_COMPLETED) && !newQueue.getStreams().isEmpty()) { playQueue.setIndex(sizeBeforeAppend); } @@ -2326,7 +2326,7 @@ public final class Player implements Log.d(TAG, "ExoPlayer - onRepeatModeChanged() called with: " + "repeatMode = [" + repeatMode + "]"); } - setRepeatModeButton(((AppCompatImageButton) binding.repeatButton), repeatMode); + setRepeatModeButton(binding.repeatButton, repeatMode); onShuffleOrRepeatModeChanged(); } @@ -3189,7 +3189,7 @@ public final class Player implements private StreamSegmentAdapter.StreamSegmentListener getStreamSegmentListener() { return (item, seconds) -> { segmentAdapter.selectSegment(item); - seekTo(seconds * 1000); + seekTo(seconds * 1000L); triggerProgressUpdate(); }; } @@ -3199,7 +3199,7 @@ public final class Player implements final List segments = currentMetadata.getMetadata().getStreamSegments(); for (int i = 0; i < segments.size(); i++) { - if (segments.get(i).getStartTimeSeconds() * 1000 > playbackPosition) { + if (segments.get(i).getStartTimeSeconds() * 1000L > playbackPosition) { break; } nearestPosition++; diff --git a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java index eba24020f..775848277 100644 --- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java @@ -360,7 +360,7 @@ public final class NavigationHelper { autoPlay = false; } - final RunnableWithVideoDetailFragment onVideoDetailFragmentReady = (detailFragment) -> { + final RunnableWithVideoDetailFragment onVideoDetailFragmentReady = detailFragment -> { expandMainPlayer(detailFragment.requireActivity()); detailFragment.setAutoPlay(autoPlay); if (switchingPlayers) { diff --git a/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java b/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java index c64631b72..160eb59cd 100644 --- a/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java @@ -119,7 +119,7 @@ public final class PermissionHelper { public static boolean isPopupEnabled(final Context context) { return Build.VERSION.SDK_INT < Build.VERSION_CODES.M - || PermissionHelper.checkSystemAlertWindowPermission(context); + || checkSystemAlertWindowPermission(context); } public static void showPopupEnablementToast(final Context context) { diff --git a/app/src/main/java/org/schabi/newpipe/util/external_communication/InternalUrlsHandler.java b/app/src/main/java/org/schabi/newpipe/util/external_communication/InternalUrlsHandler.java index 104642d36..240341ab0 100644 --- a/app/src/main/java/org/schabi/newpipe/util/external_communication/InternalUrlsHandler.java +++ b/app/src/main/java/org/schabi/newpipe/util/external_communication/InternalUrlsHandler.java @@ -101,7 +101,12 @@ public final class InternalUrlsHandler { return false; } final String matchedUrl = matcher.group(1); - final int seconds = Integer.parseInt(matcher.group(2)); + final int seconds; + if (matcher.group(2) == null) { + seconds = -1; + } else { + seconds = Integer.parseInt(matcher.group(2)); + } final StreamingService service; final StreamingService.LinkType linkType; @@ -154,7 +159,7 @@ public final class InternalUrlsHandler { .observeOn(AndroidSchedulers.mainThread()) .subscribe(info -> { final PlayQueue playQueue - = new SinglePlayQueue(info, seconds * 1000); + = new SinglePlayQueue(info, seconds * 1000L); NavigationHelper.playOnPopupPlayer(context, playQueue, false); }, throwable -> { if (DEBUG) {