mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-01 15:14:34 +02:00
fix(youtube/append-time-stamps-information): when the video quality is set to Auto
, the quality is not displayed properly
This commit is contained in:
parent
c423037393
commit
77c4df2a57
@ -45,7 +45,8 @@ class VideoQualityPatch : BytecodePatch(
|
|||||||
)!!
|
)!!
|
||||||
.mutableClass
|
.mutableClass
|
||||||
|
|
||||||
val onItemClickMethod = qualityChangedClass.methods.find { method -> method.name == "onItemClick" }
|
val onItemClickMethod =
|
||||||
|
qualityChangedClass.methods.find { method -> method.name == "onItemClick" }
|
||||||
|
|
||||||
onItemClickMethod?.apply {
|
onItemClickMethod?.apply {
|
||||||
val listItemIndexParameter = 3
|
val listItemIndexParameter = 3
|
||||||
|
@ -10,14 +10,17 @@ import app.revanced.patcher.patch.BytecodePatch
|
|||||||
import app.revanced.patcher.patch.PatchException
|
import app.revanced.patcher.patch.PatchException
|
||||||
import app.revanced.patcher.patch.annotations.DependsOn
|
import app.revanced.patcher.patch.annotations.DependsOn
|
||||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableField.Companion.toMutable
|
import app.revanced.patcher.util.proxy.mutableTypes.MutableField.Companion.toMutable
|
||||||
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch
|
|
||||||
import app.revanced.patches.youtube.utils.overridequality.fingerprints.VideoQualityListFingerprint
|
import app.revanced.patches.youtube.utils.overridequality.fingerprints.VideoQualityListFingerprint
|
||||||
import app.revanced.patches.youtube.utils.overridequality.fingerprints.VideoQualityPatchFingerprint
|
import app.revanced.patches.youtube.utils.overridequality.fingerprints.VideoQualityPatchFingerprint
|
||||||
import app.revanced.patches.youtube.utils.overridequality.fingerprints.VideoQualityTextFingerprint
|
import app.revanced.patches.youtube.utils.overridequality.fingerprints.VideoQualityTextFingerprint
|
||||||
|
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch
|
||||||
|
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch.Companion.QualityAuto
|
||||||
|
import app.revanced.util.bytecode.getWideLiteralIndex
|
||||||
import app.revanced.util.integrations.Constants.INTEGRATIONS_PATH
|
import app.revanced.util.integrations.Constants.INTEGRATIONS_PATH
|
||||||
import app.revanced.util.integrations.Constants.VIDEO_PATH
|
import app.revanced.util.integrations.Constants.VIDEO_PATH
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
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.TwoRegisterInstruction
|
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||||
import com.android.tools.smali.dexlib2.immutable.ImmutableField
|
import com.android.tools.smali.dexlib2.immutable.ImmutableField
|
||||||
import com.android.tools.smali.dexlib2.util.MethodUtil
|
import com.android.tools.smali.dexlib2.util.MethodUtil
|
||||||
@ -53,10 +56,19 @@ class OverrideQualityHookPatch : BytecodePatch(
|
|||||||
val listIndex = it.scanResult.patternScanResult!!.startIndex
|
val listIndex = it.scanResult.patternScanResult!!.startIndex
|
||||||
val listRegister = getInstruction<FiveRegisterInstruction>(listIndex).registerD
|
val listRegister = getInstruction<FiveRegisterInstruction>(listIndex).registerD
|
||||||
|
|
||||||
|
val qualityAutoIndex = getWideLiteralIndex(QualityAuto) + 2
|
||||||
|
val qualityAutoRegister =
|
||||||
|
getInstruction<OneRegisterInstruction>(qualityAutoIndex).registerA
|
||||||
|
|
||||||
addInstruction(
|
addInstruction(
|
||||||
listIndex,
|
listIndex,
|
||||||
"invoke-static {v$listRegister}, $INTEGRATIONS_VIDEO_QUALITY_CLASS_DESCRIPTOR->setVideoQualityList([Ljava/lang/Object;)V"
|
"invoke-static {v$listRegister}, $INTEGRATIONS_VIDEO_QUALITY_CLASS_DESCRIPTOR->setVideoQualityList([Ljava/lang/Object;)V"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
addInstruction(
|
||||||
|
qualityAutoIndex + 1,
|
||||||
|
"sput-object v$qualityAutoRegister, $INTEGRATIONS_VIDEO_HELPER_CLASS_DESCRIPTOR->qualityAutoString:Ljava/lang/String;"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
} ?: throw VideoQualityListFingerprint.exception
|
} ?: throw VideoQualityListFingerprint.exception
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user