Skip to content

Commit e10e1ae

Browse files
committed
YouTube: Updated Remember video quality to improve the reliability.
The method for identifying `newVideoQualityChangedFingerprint` has been updated to use an enum value for access to `VIDEO_QUALITY_SETTING_UNKNOWN`. This improves the reliability of locating the target method across different YouTube versions. The parameters and return type were refactored in version `20.26.44`.
1 parent f9ad427 commit e10e1ae

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

app/src/main/java/io/github/chsbuffer/revancedxposed/youtube/video/RememberVideoQuality.kt

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import io.github.chsbuffer.revancedxposed.shared.misc.settings.preference.Prefer
1414
import io.github.chsbuffer.revancedxposed.shared.misc.settings.preference.SwitchPreference
1515
import io.github.chsbuffer.revancedxposed.youtube.YoutubeHook
1616
import io.github.chsbuffer.revancedxposed.youtube.misc.PreferenceScreen
17+
import java.lang.reflect.Modifier
1718

1819
fun YoutubeHook.RememberVideoQuality() {
1920
val settingsMenuVideoQualityGroup = setOf(
@@ -148,25 +149,19 @@ fun YoutubeHook.RememberVideoQuality() {
148149
getDexMethod("newVideoQualityChangedFingerprint") {
149150
fingerprint {
150151
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
151-
returns("L")
152-
parameters("L")
153152
methodMatcher {
154-
opNames(
155-
listOf(
156-
"iget",
157-
"const/4",
158-
"if-ne",
159-
"new-instance",
160-
"iget-object",
161-
"check-cast",
162-
"iget"
163-
)
164-
)
165153
addInvoke {
166154
declaredClass =
167155
"com.google.android.libraries.youtube.innertube.model.media.VideoQuality"
168156
name = "<init>"
169157
}
158+
addUsingField {
159+
field {
160+
// VideoQualitySettings Enum
161+
declaredClass { usingStrings("VIDEO_QUALITY_SETTING_UNKNOWN") }
162+
modifiers = Modifier.STATIC
163+
}
164+
}
170165
}
171166
}.also { method ->
172167
getDexMethod("VideoQualityReceiver") {

0 commit comments

Comments
 (0)