diff --git a/integrations/java/app/revanced/integrations/patches/ReturnYouTubeDislikePatch.java b/integrations/java/app/revanced/integrations/patches/ReturnYouTubeDislikePatch.java index 383d3185c..48a7e81aa 100644 --- a/integrations/java/app/revanced/integrations/patches/ReturnYouTubeDislikePatch.java +++ b/integrations/java/app/revanced/integrations/patches/ReturnYouTubeDislikePatch.java @@ -1,25 +1,31 @@ package app.revanced.integrations.patches; +import static app.revanced.integrations.returnyoutubedislike.ReturnYouTubeDislike.Vote; + import android.graphics.Rect; import android.os.Build; -import android.text.*; +import android.text.Editable; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.Spanned; +import android.text.TextWatcher; import android.view.View; import android.widget.TextView; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import app.revanced.integrations.returnyoutubedislike.ReturnYouTubeDislike; -import app.revanced.integrations.returnyoutubedislike.requests.ReturnYouTubeDislikeApi; -import app.revanced.integrations.settings.SettingsEnum; -import app.revanced.integrations.shared.PlayerType; -import app.revanced.integrations.utils.LogHelper; -import app.revanced.integrations.utils.ReVancedUtils; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicReference; -import static app.revanced.integrations.returnyoutubedislike.ReturnYouTubeDislike.Vote; +import app.revanced.integrations.returnyoutubedislike.ReturnYouTubeDislike; +import app.revanced.integrations.returnyoutubedislike.requests.ReturnYouTubeDislikeApi; +import app.revanced.integrations.settings.SettingsEnum; +import app.revanced.integrations.shared.PlayerType; +import app.revanced.integrations.utils.LogHelper; +import app.revanced.integrations.utils.ReVancedUtils; /** * Handles all interaction of UI patch components. @@ -143,27 +149,23 @@ public class ReturnYouTubeDislikePatch { @NonNull AtomicReference textRef, @NonNull CharSequence original) { try { - if (!SettingsEnum.RYD_ENABLED.getBoolean()) { + if (!SettingsEnum.RYD_ENABLED.getBoolean() || PlayerType.getCurrent().isNoneOrHidden()) { return original; } String conversionContextString = conversionContext.toString(); LogHelper.printDebug(() -> "conversionContext: " + conversionContextString); - final Spanned replacement; + final boolean isSegmentedButton; if (conversionContextString.contains("|segmented_like_dislike_button.eml|")) { - replacement = ReturnYouTubeDislike.getDislikesSpanForRegularVideo((Spannable) original, true); - } else if (conversionContextString.contains("|dislike_button.eml|") ) { - // This code path is basically dead because it's only used when spoofing between 17.09.xx and 17.30.xx - // but spoofing to that range gives a broken UI layout. - // Keep this check here anyways just in case the old litho layout is somehow still used. - replacement = ReturnYouTubeDislike.getDislikesSpanForRegularVideo((Spannable) original, false); - } else if (conversionContextString.contains("|shorts_dislike_button.eml|")) { - replacement = ReturnYouTubeDislike.getDislikeSpanForShort((Spannable) original); + isSegmentedButton = true; + } else if (conversionContextString.contains("|dislike_button.eml|")) { + isSegmentedButton = false; } else { return original; } + Spanned replacement = ReturnYouTubeDislike.getDislikesSpanForRegularVideo((Spannable) original, isSegmentedButton); textRef.set(replacement); return replacement; } catch (Exception ex) {