From 9e3dd001eb4d3a085eb73dcc5e757519261ce60a Mon Sep 17 00:00:00 2001 From: inotia00 <108592928+inotia00@users.noreply.github.com> Date: Sat, 23 Mar 2024 01:25:18 +0900 Subject: [PATCH] feat(YouTube Music): remove `Enable old style miniplayer` patch --- .../OldStyleMiniPlayerPatch.kt | 96 ------------------- .../MiniPlayerParentFingerprint.kt | 13 --- .../NextButtonVisibilityFingerprint.kt | 18 ---- .../fingerprints/SwipeToCloseFingerprint.kt | 9 -- .../music/settings/host/values/strings.xml | 2 - 5 files changed, 138 deletions(-) delete mode 100644 src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/OldStyleMiniPlayerPatch.kt delete mode 100644 src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/MiniPlayerParentFingerprint.kt delete mode 100644 src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/NextButtonVisibilityFingerprint.kt delete mode 100644 src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/SwipeToCloseFingerprint.kt diff --git a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/OldStyleMiniPlayerPatch.kt b/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/OldStyleMiniPlayerPatch.kt deleted file mode 100644 index 0c7e78276..000000000 --- a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/OldStyleMiniPlayerPatch.kt +++ /dev/null @@ -1,96 +0,0 @@ -package app.revanced.patches.music.player.oldstyleminiplayer - -import app.revanced.patcher.data.BytecodeContext -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.annotation.CompatiblePackage -import app.revanced.patcher.patch.annotation.Patch -import app.revanced.patches.music.player.oldstyleminiplayer.fingerprints.MiniPlayerParentFingerprint -import app.revanced.patches.music.player.oldstyleminiplayer.fingerprints.NextButtonVisibilityFingerprint -import app.revanced.patches.music.player.oldstyleminiplayer.fingerprints.SwipeToCloseFingerprint -import app.revanced.patches.music.utils.integrations.Constants.PLAYER -import app.revanced.patches.music.utils.resourceid.SharedResourceIdPatch -import app.revanced.patches.music.utils.settings.CategoryType -import app.revanced.patches.music.utils.settings.SettingsPatch -import app.revanced.util.exception -import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction - -@Patch( - name = "Enable old style miniplayer", - description = "Adds an option to return the miniplayer to the old style.", - dependencies = [ - SettingsPatch::class, - SharedResourceIdPatch::class - ], - compatiblePackages = [ - CompatiblePackage( - "com.google.android.apps.youtube.music", - [ - "6.21.52", - "6.22.52", - "6.23.56", - "6.25.53", - "6.26.51", - "6.27.54", - "6.28.53", - "6.29.58", - "6.31.55", - "6.33.52" - ] - ) - ] -) -@Suppress("unused") -object OldStyleMiniPlayerPatch : BytecodePatch( - setOf( - MiniPlayerParentFingerprint, - SwipeToCloseFingerprint - ) -) { - override fun execute(context: BytecodeContext) { - - MiniPlayerParentFingerprint.result?.let { parentResult -> - NextButtonVisibilityFingerprint.also { - it.resolve( - context, - parentResult.classDef - ) - }.result?.let { - it.mutableMethod.apply { - val targetIndex = it.scanResult.patternScanResult!!.startIndex + 1 - val targetRegister = - getInstruction(targetIndex).registerA - - addInstructions( - targetIndex + 1, """ - invoke-static {v$targetRegister}, $PLAYER->enableOldStyleMiniPlayer(Z)Z - move-result v$targetRegister - """ - ) - } - } ?: throw NextButtonVisibilityFingerprint.exception - } ?: throw MiniPlayerParentFingerprint.exception - - SwipeToCloseFingerprint.result?.let { - it.mutableMethod.apply { - val insertIndex = implementation!!.instructions.size - 1 - val targetRegister = getInstruction(insertIndex).registerA - - addInstructions( - insertIndex, """ - invoke-static {v$targetRegister}, $PLAYER->enableOldStyleMiniPlayer(Z)Z - move-result v$targetRegister - """ - ) - } - } ?: throw SwipeToCloseFingerprint.exception - - SettingsPatch.addMusicPreference( - CategoryType.PLAYER, - "revanced_enable_old_style_mini_player", - "true" - ) - - } -} \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/MiniPlayerParentFingerprint.kt b/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/MiniPlayerParentFingerprint.kt deleted file mode 100644 index 4d921ad68..000000000 --- a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/MiniPlayerParentFingerprint.kt +++ /dev/null @@ -1,13 +0,0 @@ -package app.revanced.patches.music.player.oldstyleminiplayer.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patches.music.utils.resourceid.SharedResourceIdPatch.MiniPlayerMdxPlaying -import app.revanced.util.fingerprint.LiteralValueFingerprint -import com.android.tools.smali.dexlib2.AccessFlags - -object MiniPlayerParentFingerprint : LiteralValueFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = emptyList(), - literalSupplier = { MiniPlayerMdxPlaying } -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/NextButtonVisibilityFingerprint.kt b/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/NextButtonVisibilityFingerprint.kt deleted file mode 100644 index 6f40c0289..000000000 --- a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/NextButtonVisibilityFingerprint.kt +++ /dev/null @@ -1,18 +0,0 @@ -package app.revanced.patches.music.player.oldstyleminiplayer.fingerprints - -import app.revanced.patcher.extensions.or -import app.revanced.patcher.fingerprint.MethodFingerprint -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode - -object NextButtonVisibilityFingerprint : MethodFingerprint( - returnType = "V", - accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, - parameters = emptyList(), - opcodes = listOf( - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT, - Opcode.CONST_16, - Opcode.IF_EQZ - ) -) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/SwipeToCloseFingerprint.kt b/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/SwipeToCloseFingerprint.kt deleted file mode 100644 index 33733bf60..000000000 --- a/src/main/kotlin/app/revanced/patches/music/player/oldstyleminiplayer/fingerprints/SwipeToCloseFingerprint.kt +++ /dev/null @@ -1,9 +0,0 @@ -package app.revanced.patches.music.player.oldstyleminiplayer.fingerprints - -import app.revanced.util.fingerprint.LiteralValueFingerprint - -object SwipeToCloseFingerprint : LiteralValueFingerprint( - returnType = "Z", - parameters = emptyList(), - literalSupplier = { 45398432 } -) \ No newline at end of file diff --git a/src/main/resources/music/settings/host/values/strings.xml b/src/main/resources/music/settings/host/values/strings.xml index 2a6785533..b6af03c3a 100644 --- a/src/main/resources/music/settings/host/values/strings.xml +++ b/src/main/resources/music/settings/host/values/strings.xml @@ -61,8 +61,6 @@ Some features may not work properly in the old player layout." Enable old player layout Returns the library tab to the old style. (Experimental) Enable old style library shelf - Returns the miniplayer to the old style. - Enable old style mini player Enables the opus audio codec instead of the mp4a audio codec. Enable opus codec Remembers the last playback speed selected.