fix(YouTube Music - Return YouTube Dislike): Length of the separator is different in the new action bar

This commit is contained in:
inotia00
2025-02-13 11:01:30 +09:00
parent 5bde7019a6
commit 80b9f754ed
6 changed files with 45 additions and 17 deletions

View File

@ -6,6 +6,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.util.smali.ExternalLabel
import app.revanced.patches.music.utils.ACTION_BAR_POSITION_FEATURE_FLAG
import app.revanced.patches.music.utils.actionBarPositionFeatureFlagFingerprint
import app.revanced.patches.music.utils.compatibility.Constants.COMPATIBLE_PACKAGE
import app.revanced.patches.music.utils.extension.Constants.ACTIONBAR_CLASS_DESCRIPTOR
import app.revanced.patches.music.utils.extension.Constants.COMPONENTS_PATH

View File

@ -22,15 +22,6 @@ internal val actionBarComponentFingerprint = legacyFingerprint(
literals = listOf(99180L),
)
internal const val ACTION_BAR_POSITION_FEATURE_FLAG = 45658717L
internal val actionBarPositionFeatureFlagFingerprint = legacyFingerprint(
name = "actionBarPositionFeatureFlagFingerprint",
returnType = "Z",
parameters = emptyList(),
literals = listOf(ACTION_BAR_POSITION_FEATURE_FLAG)
)
internal val likeDislikeContainerFingerprint = legacyFingerprint(
name = "likeDislikeContainerFingerprint",
returnType = "V",

View File

@ -6,6 +6,15 @@ import app.revanced.util.or
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal const val ACTION_BAR_POSITION_FEATURE_FLAG = 45658717L
internal val actionBarPositionFeatureFlagFingerprint = legacyFingerprint(
name = "actionBarPositionFeatureFlagFingerprint",
returnType = "Z",
parameters = emptyList(),
literals = listOf(ACTION_BAR_POSITION_FEATURE_FLAG)
)
internal val pendingIntentReceiverFingerprint = legacyFingerprint(
name = "pendingIntentReceiverFingerprint",
returnType = "V",

View File

@ -4,6 +4,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patcher.patch.resourcePatch
import app.revanced.patches.music.utils.ACTION_BAR_POSITION_FEATURE_FLAG
import app.revanced.patches.music.utils.actionBarPositionFeatureFlagFingerprint
import app.revanced.patches.music.utils.compatibility.Constants.COMPATIBLE_PACKAGE
import app.revanced.patches.music.utils.extension.Constants.UTILS_PATH
import app.revanced.patches.music.utils.patch.PatchList.RETURN_YOUTUBE_DISLIKE
@ -25,6 +27,7 @@ import app.revanced.patches.shared.removeLikeFingerprint
import app.revanced.patches.shared.textcomponent.hookSpannableString
import app.revanced.patches.shared.textcomponent.textComponentPatch
import app.revanced.util.adoptChild
import app.revanced.util.fingerprint.injectLiteralInstructionBooleanCall
import app.revanced.util.fingerprint.methodOrThrow
import app.revanced.util.indexOfFirstInstructionOrThrow
import com.android.tools.smali.dexlib2.Opcode
@ -78,6 +81,11 @@ private val returnYouTubeDislikeBytecodePatch = bytecodePatch(
"""
)
}
} else {
actionBarPositionFeatureFlagFingerprint.injectLiteralInstructionBooleanCall(
ACTION_BAR_POSITION_FEATURE_FLAG,
"$EXTENSION_CLASS_DESCRIPTOR->actionBarFeatureFlagLoaded(Z)Z"
)
}
if (is_7_17_or_greater) {