mirror of
https://github.com/revanced/revanced-integrations.git
synced 2025-05-01 15:14:27 +02:00
fix(youtube/return-youtube-dislike): fix dislikes not showing in some situations (#439)
This commit is contained in:
parent
5056adbc3c
commit
7a28c2fa13
@ -202,7 +202,13 @@ public class ReturnYouTubeDislikePatch {
|
|||||||
*/
|
*/
|
||||||
public static boolean setShortsDislikes(@NonNull View likeDislikeView) {
|
public static boolean setShortsDislikes(@NonNull View likeDislikeView) {
|
||||||
try {
|
try {
|
||||||
if (!SettingsEnum.RYD_ENABLED.getBoolean() || !SettingsEnum.RYD_SHORTS.getBoolean()) {
|
if (!SettingsEnum.RYD_ENABLED.getBoolean()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!SettingsEnum.RYD_SHORTS.getBoolean()) {
|
||||||
|
// Must clear the data here, in case a new video was loaded while PlayerType
|
||||||
|
// suggested the video was not a short (can happen when spoofing to an old app version).
|
||||||
|
ReturnYouTubeDislike.setCurrentVideoId(null);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
LogHelper.printDebug(() -> "setShortsDislikes");
|
LogHelper.printDebug(() -> "setShortsDislikes");
|
||||||
@ -302,7 +308,7 @@ public class ReturnYouTubeDislikePatch {
|
|||||||
if (!videoId.equals(currentVideoId)) {
|
if (!videoId.equals(currentVideoId)) {
|
||||||
currentVideoId = videoId;
|
currentVideoId = videoId;
|
||||||
|
|
||||||
final boolean noneHiddenOrMinimized = PlayerType.getCurrent().isNoneHiddenOrMinimized();
|
final boolean noneHiddenOrMinimized = PlayerType.getCurrent().isNoneOrHidden();
|
||||||
if (noneHiddenOrMinimized && !SettingsEnum.RYD_SHORTS.getBoolean()) {
|
if (noneHiddenOrMinimized && !SettingsEnum.RYD_SHORTS.getBoolean()) {
|
||||||
ReturnYouTubeDislike.setCurrentVideoId(null);
|
ReturnYouTubeDislike.setCurrentVideoId(null);
|
||||||
return;
|
return;
|
||||||
|
@ -255,7 +255,7 @@ public class ReturnYouTubeDislike {
|
|||||||
// If a Short is opened while a regular video is on screen, this will incorrectly set this as false.
|
// If a Short is opened while a regular video is on screen, this will incorrectly set this as false.
|
||||||
// But this check is needed to fix unusual situations of opening/closing the app
|
// But this check is needed to fix unusual situations of opening/closing the app
|
||||||
// while both a regular video and a short are on screen.
|
// while both a regular video and a short are on screen.
|
||||||
dislikeDataIsShort = currentPlayerType.isNoneHiddenOrMinimized();
|
dislikeDataIsShort = currentPlayerType.isNoneOrHidden();
|
||||||
|
|
||||||
RYDCachedFetch entry = futureCache.get(videoId);
|
RYDCachedFetch entry = futureCache.get(videoId);
|
||||||
if (entry != null && entry.futureInProgressOrFinishedSuccessfully()) {
|
if (entry != null && entry.futureInProgressOrFinishedSuccessfully()) {
|
||||||
@ -371,7 +371,7 @@ public class ReturnYouTubeDislike {
|
|||||||
// Must make a local copy of videoId, since it may change between now and when the vote thread runs.
|
// Must make a local copy of videoId, since it may change between now and when the vote thread runs.
|
||||||
String videoIdToVoteFor = getCurrentVideoId();
|
String videoIdToVoteFor = getCurrentVideoId();
|
||||||
if (videoIdToVoteFor == null ||
|
if (videoIdToVoteFor == null ||
|
||||||
(SettingsEnum.RYD_SHORTS.getBoolean() && dislikeDataIsShort != PlayerType.getCurrent().isNoneHiddenOrMinimized())) {
|
(SettingsEnum.RYD_SHORTS.getBoolean() && dislikeDataIsShort != PlayerType.getCurrent().isNoneOrHidden())) {
|
||||||
// User enabled RYD after starting playback of a video.
|
// User enabled RYD after starting playback of a video.
|
||||||
// Or shorts was loaded with regular video present, then shorts was closed,
|
// Or shorts was loaded with regular video present, then shorts was closed,
|
||||||
// and then user voted on the now visible original video.
|
// and then user voted on the now visible original video.
|
||||||
|
@ -18,7 +18,7 @@ enum class PlayerType {
|
|||||||
HIDDEN,
|
HIDDEN,
|
||||||
/**
|
/**
|
||||||
* When spoofing to 16.x YouTube and watching a short with a regular video in the background,
|
* When spoofing to 16.x YouTube and watching a short with a regular video in the background,
|
||||||
* the type will be this (and not [HIDDEN]).
|
* the type can be this (and not [HIDDEN]).
|
||||||
*/
|
*/
|
||||||
WATCH_WHILE_MINIMIZED,
|
WATCH_WHILE_MINIMIZED,
|
||||||
WATCH_WHILE_MAXIMIZED,
|
WATCH_WHILE_MAXIMIZED,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user