mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-04-30 06:34:37 +02:00
fix(music/exclusive-audio-playback): switch didn't actually work
This commit is contained in:
parent
828be15c44
commit
0181d2b218
@ -0,0 +1,10 @@
|
||||
package app.revanced.patches.music.misc.exclusiveaudio.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
object DataSavingSettingsFragmentFingerprint : MethodFingerprint(
|
||||
returnType = "V",
|
||||
parameters = listOf("Landroid/os/Bundle;", "Ljava/lang/String;"),
|
||||
strings = listOf("pref_key_dont_play_nma_video"),
|
||||
customFingerprint = { methodDef, _ -> methodDef.definingClass.endsWith("/DataSavingSettingsFragment;") && methodDef.name == "onCreatePreferences" }
|
||||
)
|
@ -10,11 +10,13 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.music.misc.exclusiveaudio.fingerprints.DataSavingSettingsFragmentFingerprint
|
||||
import app.revanced.patches.music.misc.exclusiveaudio.fingerprints.MusicBrowserServiceFingerprint
|
||||
import app.revanced.patches.music.misc.exclusiveaudio.fingerprints.PodCastConfigFingerprint
|
||||
import app.revanced.patches.music.utils.annotations.MusicCompatibility
|
||||
import app.revanced.util.bytecode.getStringIndex
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
|
||||
@ -24,6 +26,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
@MusicCompatibility
|
||||
class ExclusiveAudioPatch : BytecodePatch(
|
||||
listOf(
|
||||
DataSavingSettingsFragmentFingerprint,
|
||||
MusicBrowserServiceFingerprint,
|
||||
PodCastConfigFingerprint
|
||||
)
|
||||
@ -77,5 +80,17 @@ class ExclusiveAudioPatch : BytecodePatch(
|
||||
)
|
||||
}
|
||||
} ?: throw PodCastConfigFingerprint.exception
|
||||
|
||||
DataSavingSettingsFragmentFingerprint.result?.let {
|
||||
it.mutableMethod.apply {
|
||||
val insertIndex = getStringIndex("pref_key_dont_play_nma_video") + 4
|
||||
val targetRegister = getInstruction<FiveRegisterInstruction>(insertIndex).registerD
|
||||
|
||||
addInstruction(
|
||||
insertIndex,
|
||||
"const/4 v$targetRegister, 0x1"
|
||||
)
|
||||
}
|
||||
} ?: throw DataSavingSettingsFragmentFingerprint.exception
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user