@@ -92,6 +92,19 @@ private val playCoreUpdateManagerFingerprint = Fingerprint(
|
||||
strings = listOf("x_lite_in_app_update_enabled")
|
||||
)
|
||||
|
||||
private val serverDrivenCoverRendererFingerprint = Fingerprint(
|
||||
definingClass = "Lcom/x/urt/cover/ui/j;",
|
||||
name = "a",
|
||||
returnType = "V",
|
||||
parameters = listOf(
|
||||
"Lcom/x/urt/cover/component/e;",
|
||||
"Landroidx/compose/ui/Modifier;",
|
||||
"Landroidx/compose/runtime/Composer;",
|
||||
"I"
|
||||
),
|
||||
strings = listOf("component")
|
||||
)
|
||||
|
||||
private const val APP_UPDATE_ACTIVITY = "com.twitter.clientshutdown.update.AppUpdateActivity"
|
||||
|
||||
private val disableOutdatedVersionActivityPatch = resourcePatch {
|
||||
@@ -195,6 +208,40 @@ val disableOutdatedVersionScreenPatch = bytecodePatch(
|
||||
return-object v0
|
||||
"""
|
||||
)
|
||||
|
||||
serverDrivenCoverRendererFingerprint.method.addInstructions(
|
||||
0,
|
||||
"""
|
||||
move-object/from16 v0, p0
|
||||
invoke-interface {v0}, Lcom/x/urt/cover/component/e;->a()Lcom/x/models/timelines/instructions/cover/URTCover;
|
||||
move-result-object v0
|
||||
instance-of v1, v0, Lcom/x/models/timelines/instructions/cover/URTCover${'$'}FullCover;
|
||||
if-eqz v1, :check_outdated_half_cover
|
||||
check-cast v0, Lcom/x/models/timelines/instructions/cover/URTCover${'$'}FullCover;
|
||||
invoke-virtual {v0}, Lcom/x/models/timelines/instructions/cover/URTCover${'$'}FullCover;->getData()Lcom/x/models/timelines/instructions/cover/URTFullCover;
|
||||
move-result-object v0
|
||||
invoke-virtual {v0}, Lcom/x/models/timelines/instructions/cover/URTFullCover;->getPrimaryText()Lcom/x/models/text/RichText;
|
||||
move-result-object v0
|
||||
goto :check_outdated_cover_title
|
||||
:check_outdated_half_cover
|
||||
instance-of v1, v0, Lcom/x/models/timelines/instructions/cover/URTCover${'$'}HalfCover;
|
||||
if-eqz v1, :outdated_server_cover_allowed
|
||||
check-cast v0, Lcom/x/models/timelines/instructions/cover/URTCover${'$'}HalfCover;
|
||||
invoke-virtual {v0}, Lcom/x/models/timelines/instructions/cover/URTCover${'$'}HalfCover;->getData()Lcom/x/models/timelines/instructions/cover/URTHalfCover;
|
||||
move-result-object v0
|
||||
invoke-virtual {v0}, Lcom/x/models/timelines/instructions/cover/URTHalfCover;->getPrimaryText()Lcom/x/models/text/RichText;
|
||||
move-result-object v0
|
||||
:check_outdated_cover_title
|
||||
invoke-virtual {v0}, Lcom/x/models/text/RichText;->getText()Ljava/lang/String;
|
||||
move-result-object v0
|
||||
const-string v1, "This app is out of date."
|
||||
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||
move-result v0
|
||||
if-eqz v0, :outdated_server_cover_allowed
|
||||
return-void
|
||||
:outdated_server_cover_allowed
|
||||
"""
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user