From 97c30af97d00e7f92b5c2801e9e744f00704758a Mon Sep 17 00:00:00 2001 From: StanPonomarev Date: Sat, 22 Aug 2026 21:18:38 +0200 Subject: [PATCH] fix: more update required fixes --- .../DisableOutdatedVersionScreenPatch.kt | 50 +++++++++++++++---- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/patches/src/main/kotlin/app/twitter/patches/DisableOutdatedVersionScreenPatch.kt b/patches/src/main/kotlin/app/twitter/patches/DisableOutdatedVersionScreenPatch.kt index 08b25bd..675ed60 100644 --- a/patches/src/main/kotlin/app/twitter/patches/DisableOutdatedVersionScreenPatch.kt +++ b/patches/src/main/kotlin/app/twitter/patches/DisableOutdatedVersionScreenPatch.kt @@ -57,11 +57,31 @@ private val shutdownStateFingerprint = Fingerprint( parameters = emptyList() ) -private val xChatObsoleteVersionStateFingerprint = Fingerprint( - definingClass = "Lcom/x/dms/y;", - name = "invokeSuspend", - returnType = "Ljava/lang/Object;", - parameters = listOf("Ljava/lang/Object;") +private val appUpdateScreenRendererFingerprint = Fingerprint( + definingClass = "Lcom/twitter/clientshutdown/update/j;", + name = "", + returnType = "V", + parameters = listOf( + "Landroid/view/View;", + "Landroid/app/Activity;", + "Lcom/twitter/app/common/activity/b;", + "Lcom/twitter/subsystem/clientshutdown/api/c;" + ), + strings = listOf("rootView", "activityFinisher", "eventLogHelper") +) + +private val forceUpdateScreenRendererFingerprint = Fingerprint( + definingClass = "Lcom/x/forceupdate/g;", + name = "a", + returnType = "V", + parameters = listOf( + "Lkotlin/jvm/functions/Function0;", + "Lkotlin/jvm/functions/Function1;", + "Landroidx/compose/ui/Modifier;", + "Landroidx/compose/runtime/Composer;", + "I" + ), + strings = listOf("onUpdateClick", "onLearnMoreClick") ) private const val APP_UPDATE_ACTIVITY = "com.twitter.clientshutdown.update.AppUpdateActivity" @@ -122,7 +142,10 @@ val disableOutdatedVersionScreenPatch = bytecodePatch( shutdownEntryPointDisablerFingerprint.method.addInstructions( 0, - "return-void" + """ + invoke-virtual {p0}, Lcom/twitter/subsystem/clientshutdown/i;->c()V + return-void + """ ) outdatedVersionEnforcementFingerprint.method.addInstructions( 0, @@ -140,12 +163,21 @@ val disableOutdatedVersionScreenPatch = bytecodePatch( """ ) - xChatObsoleteVersionStateFingerprint.method.addInstructions( + appUpdateScreenRendererFingerprint.method.addInstructions( 0, """ - const/4 v0, 0x0 - iput-boolean v0, p0, Lcom/x/dms/y;->o:Z + new-instance v0, Lcom/twitter/subsystem/clientshutdown/a; + invoke-direct {v0, p2}, Lcom/twitter/subsystem/clientshutdown/a;->(Landroid/content/Context;)V + const/4 v1, 0x2 + const-string v2, "com.twitter.clientshutdown.update.AppUpdateActivityAlias" + invoke-virtual {v0, v1, v2}, Lcom/twitter/subsystem/clientshutdown/a;->b(ILjava/lang/String;)V + invoke-virtual {p2}, Landroid/app/Activity;->finish()V """ ) + + forceUpdateScreenRendererFingerprint.method.addInstructions( + 0, + "return-void" + ) } }