fix(music/remember-video-quality): not compatible with latest version

This commit is contained in:
inotia00 2023-09-05 10:33:02 +09:00
parent 0553584d5c
commit b1adb5f584

View File

@ -63,11 +63,26 @@ class VideoQualityPatch : BytecodePatch(
for ((index, instruction) in implementation!!.instructions.withIndex()) {
if (instruction.opcode != Opcode.INVOKE_INTERFACE) continue
qualityReference =
getInstruction<ReferenceInstruction>(index - 1).reference
qIndexMethodName =
((getInstruction<Instruction35c>(index).reference) as MethodReference).name
val qIndexMethodClass =
((getInstruction<Instruction35c>(index).reference) as MethodReference).definingClass
for (qualityReferenceIndex in index downTo 0) {
if (getInstruction(qualityReferenceIndex).opcode != Opcode.IGET_OBJECT) continue
val targetReference =
getInstruction<ReferenceInstruction>(qualityReferenceIndex).reference
if (!targetReference.toString()
.endsWith(qIndexMethodClass)
) continue
qualityReference = targetReference
break
}
addInstruction(
0,
"invoke-static {p3}, $INTEGRATIONS_VIDEO_QUALITY_CLASS_DESCRIPTOR->userChangedQuality(I)V"