revanced-patches icon indicating copy to clipboard operation
revanced-patches copied to clipboard

feat(YouTube): Support version `19.09.38`

Open LisoUseInAIKyrios opened this issue 11 months ago • 3 comments

LisoUseInAIKyrios avatar Apr 01 '24 13:04 LisoUseInAIKyrios

19.12.41 has an issue, where opening YT from a weblink causes an odd crash.

Maybe swipe controls is causing it, but it might be a YT bug.

19.11.43 does not have the issue, so going to remove 19.12 support (nothing appears to be different anyways).

System.err: azkx: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
System.err: 	at azme.a(PG:5)
System.err: 	at aznd.c(PG:14)
System.err: 	at aznd.wd(PG:26)
System.err: 	at balr.c(PG:22)
System.err: 	at bamr.wk(PG:7)
System.err: 	at bamr.b(PG:55)
System.err: 	at bams.wd(PG:36)
System.err: 	at kpo.h(PG:9)
System.err: 	at kuz.qG(PG:11)
System.err: 	at afxe.d(PG:98)
System.err: 	at afww.i(PG:400)
System.err: 	at afww.a(PG:33)
System.err: 	at afww.b(PG:5)
System.err: 	at kuz.qF(PG:37)
System.err: 	at gxc.qF(PG:27)
System.err: 	at xot.d(PG:70)
System.err: 	at xou.onTouch(PG:60)
System.err: 	at kyc.onTouch(PG:18)
System.err: 	at android.view.View.dispatchTouchEvent(View.java:16208)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3318)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2982)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:776)
System.err: 	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1967)
System.err: 	at android.app.Activity.dispatchTouchEvent(Activity.java:4531)
System.err: 	at app.revanced.integrations.youtube.swipecontrols.SwipeControlsHostActivity.dispatchTouchEvent(SwipeControlsHostActivity.kt:86)
System.err: 	at com.google.android.apps.youtube.app.watchwhile.MainActivity.u(PG:1)
System.err: 	at nhm.n(PG:3)
System.err: 	at nhl.n(PG:121)
System.err: 	at com.google.android.apps.youtube.app.watchwhile.MainActivity.dispatchTouchEvent(PG:5)
System.err: 	at in.dispatchTouchEvent(PG:3)
System.err: 	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:734)
System.err: 	at android.view.View.dispatchPointerEvent(View.java:16476)
System.err: 	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:8482)
System.err: 	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:8233)
System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7562)
System.err: 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7619)
System.err: 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7585)
System.err: 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7788)
System.err: 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7593)
System.err: 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7845)
System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7566)
System.err: 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7619)
System.err: 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7585)
System.err: 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7593)
System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7566)
System.err: 	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:11103)
System.err: 	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:10985)
System.err: 	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:10941)
System.err: 	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11237)
System.err: 	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:296)
System.err: 	at android.os.MessageQueue.nativePollOnce(Native Method)
System.err: 	at android.os.MessageQueue.next(MessageQueue.java:335)
System.err: 	at android.os.Looper.loopOnce(Looper.java:187)
System.err: 	at android.os.Looper.loop(Looper.java:319)
System.err: 	at android.app.ActivityThread.main(ActivityThread.java:8893)
System.err: 	at java.lang.reflect.Method.invoke(Native Method)
System.err: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
System.err: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
System.err: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
System.err: 	at hhz.k(PG:1)
System.err: 	at kuz.G(PG:779)
System.err: 	at mxb.a(PG:9)
System.err: 	at dkh.g(PG:8)
System.err: 	at kvn.f(PG:29)
System.err: 	at gxg.qS(PG:3)
System.err: 	at gxx.qS(PG:1)
System.err: 	at kvl.F(PG:91)
System.err: 	at kvl.w(PG:9)
System.err: 	at kpl.a(PG:195)
System.err: 	at aznd.wd(PG:9)
System.err: 	... 79 more

LisoUseInAIKyrios avatar Apr 01 '24 15:04 LisoUseInAIKyrios

It might be best to wait to merge this PR, or maybe merge the patch changes but don't increment the compatibility version numbers. Too much is going on right now to mess with new issues from YT updates that don't appear to change anything.

LisoUseInAIKyrios avatar Apr 01 '24 15:04 LisoUseInAIKyrios

The recent versions of YT have been flaky and a lot is changing, I think updating could wait a bit.

For now, this PR only adds 19.09.38 (up from 19.09.37)

LisoUseInAIKyrios avatar Apr 02 '24 19:04 LisoUseInAIKyrios

This is not because the Swipe controls patch is unstable.

The reason why stacktrace outputs the class app.revanced.integrations.youtube.swipecontrols.SwipeControlsHostActivity is simply because the Swipe controls patch changes the SuperClass of the MainActivity class to the SwipeControlsHostActivity class.

In other words, this is not an exception thrown by the SwipeControlsHostActivity class, it's just an exception in the MainActivity class.

Some notable points from this crash log include:

System.err: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
System.err: at hhz.k(PG:1)
System.err: at kuz.G(PG:779)

This is the first exception thrown in the 'G' method of the 'kuz' class.

In YouTube v19.12.41, the 'G' method of the 'kuz' class handles the YouTube player button.

Hide autoplay button patch is probably the cause of the crash.

inotia00 avatar Apr 03 '24 09:04 inotia00

It is likely that some offsets have changed and the patch fails due to that. I remember it using offsets.

oSumAtrIX avatar Apr 03 '24 09:04 oSumAtrIX

During patching no exceptions were thrown, and the patched app launches and works correctly for the brief time I used it. It only crashes when opening web links.

19.11 and lower did not have the issue.

19.13 is still beta, but it has even more changes and a few fingerprints no longer resolve.

LisoUseInAIKyrios avatar Apr 03 '24 09:04 LisoUseInAIKyrios

19.13 is still beta, but it has even more changes and a few fingerprints no longer resolve.

19.13.36 was released into stable channel in April 3.

P.S: Anyway... autoplay button code is indeed changed starting from 19.13.xx (it doesn't support the old way to add it in layout anymore). I have already modified the old patch to make it compatible.

0xrxL avatar Apr 14 '24 21:04 0xrxL

And with 19.13 the minimized playback code was changed.

This PR is working ok with 19.11.43 and I've had no problems with it. Can modify this PR to add 19.10 and 19.11 and handle 19.13+ at a later time.

LisoUseInAIKyrios avatar Apr 14 '24 21:04 LisoUseInAIKyrios

And with '19.13' the minimized playback code was changed.

This PR is working ok with '19.11.43' and I've had no problems with it. Can modify this PR to add 19.10 and 19.11 and handle 19.13+ at a later time.

This Version (some weeks ago) broke all patches on my patcher, due to a weird debug lines adding by Google on many parts of the smali code (I'm talking about 3 debug lines per instruction).

Never seen something like that.

0xrxL avatar Apr 14 '24 21:04 0xrxL

i am on 19.11.43 from march whithout this PR and i had no problem

MarcaDian avatar Apr 15 '24 06:04 MarcaDian

I think adding 19.10 and 19.11 is now ok. I've been using it and it has no obvious issues (no fingerprints changes were needed either).

LisoUseInAIKyrios avatar Apr 17 '24 16:04 LisoUseInAIKyrios

I think this is ok to merge.

And maybe merge dev to main soon?

LisoUseInAIKyrios avatar Apr 20 '24 21:04 LisoUseInAIKyrios

Sounds good, I'd like to review the PR first, bare with me

oSumAtrIX avatar Apr 20 '24 21:04 oSumAtrIX