mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-06-12 05:07:45 +02:00
fix(YouTube - Open Shorts in regular player): Do not exit app when pressing back button in regular player (#5020)
This commit is contained in:

committed by
GitHub

parent
6fe9ea940f
commit
3384f8dd0f
@ -31,6 +31,8 @@ public class OpenShortsInRegularPlayerPatch {
|
||||
|
||||
private static WeakReference<Activity> mainActivityRef = new WeakReference<>(null);
|
||||
|
||||
private static volatile boolean overrideBackPressToExit;
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
@ -38,6 +40,18 @@ public class OpenShortsInRegularPlayerPatch {
|
||||
mainActivityRef = new WeakReference<>(activity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
public static boolean overrideBackPressToExit(boolean original) {
|
||||
if (overrideBackPressToExit) {
|
||||
Logger.printDebug(() -> "Overriding back press to exit activity");
|
||||
return false;
|
||||
}
|
||||
|
||||
return original;
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
@ -45,6 +59,7 @@ public class OpenShortsInRegularPlayerPatch {
|
||||
try {
|
||||
ShortsPlayerType type = Settings.SHORTS_PLAYER_TYPE.get();
|
||||
if (type == ShortsPlayerType.SHORTS_PLAYER) {
|
||||
overrideBackPressToExit = false;
|
||||
return false; // Default unpatched behavior.
|
||||
}
|
||||
|
||||
@ -61,13 +76,17 @@ public class OpenShortsInRegularPlayerPatch {
|
||||
// set to open in the regular player, so it's ignored as
|
||||
// checking the map makes the patch more complicated.
|
||||
Logger.printDebug(() -> "Ignoring Short with no videoId");
|
||||
overrideBackPressToExit = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (NavigationButton.getSelectedNavigationButton() == NavigationButton.SHORTS) {
|
||||
overrideBackPressToExit = false;
|
||||
return false; // Always use Shorts player for the Shorts nav button.
|
||||
}
|
||||
|
||||
overrideBackPressToExit = true;
|
||||
|
||||
final boolean forceFullScreen = (type == ShortsPlayerType.REGULAR_PLAYER_FULLSCREEN);
|
||||
OpenVideosFullscreenHookPatch.setOpenNextVideoFullscreen(forceFullScreen);
|
||||
|
||||
|
@ -33,7 +33,7 @@ public class OpenVideosFullscreenHookPatch {
|
||||
}
|
||||
|
||||
if (!isFullScreenPatchIncluded()) {
|
||||
return false;
|
||||
return original;
|
||||
}
|
||||
|
||||
return Settings.OPEN_VIDEOS_FULLSCREEN_PORTRAIT.get();
|
||||
|
Reference in New Issue
Block a user