From 6d252f84c6086b15e7be4a58676254748bd8ff73 Mon Sep 17 00:00:00 2001 From: crimera Date: Tue, 30 Apr 2024 20:30:43 +0800 Subject: [PATCH] refactor: Add `SettingsPatch ` dependencies to patches --- .../patches/twitter/ads/timelineEntryHook/HideAds.kt | 7 ++++--- .../patches/twitter/ads/timelineEntryHook/HideCTJ.kt | 7 ++++--- .../patches/twitter/ads/timelineEntryHook/HideCTS.kt | 7 ++++--- .../twitter/ads/timelineEntryHook/HideDetailedPosts.kt | 7 ++++--- .../twitter/ads/timelineEntryHook/HideGoogleAds.kt | 7 ++++--- .../ads/timelineEntryHook/HidePinnedByFollowers.kt | 7 ++++--- .../twitter/ads/timelineEntryHook/HideRevistBmk.kt | 7 ++++--- .../patches/twitter/ads/timelineEntryHook/HideWTF.kt | 7 ++++--- .../patches/twitter/ads/trends/HidePromotedTrendPatch.kt | 4 ++-- .../patches/twitter/featureFlag/DisableChirpFontPatch.kt | 5 +++-- .../patches/twitter/featureFlag/FeatureFlagPatch.kt | 8 ++++---- .../twitter/featureFlag/HideBookmarkInTimelinePatch.kt | 5 +++-- .../twitter/featureFlag/HideFABMenuButtonsPatch.kt | 9 +++++---- .../patches/twitter/featureFlag/HideImmersivePlayer.kt | 5 +++-- .../patches/twitter/featureFlag/RemoveViewCountPatch.kt | 5 +++-- .../downloads/changedirectory/ChangeDownloadDirPatch.kt | 4 ++-- .../twitter/link/browserchooser/BrowserChooserPatch.kt | 8 +++++--- .../link/customsharingdomain/CustomSharingDomainPatch.kt | 4 ++-- .../crimera/patches/twitter/misc/FAB/HideFABPatch.kt | 4 ++-- .../customize/profiletabs/CustomiseProfileTabsPatch.kt | 4 ++-- .../customize/timelinetabs/CustomiseTimelineTabsPatch.kt | 4 ++-- .../misc/hidecommunitynotes/HideCommunityNotePatch.kt | 1 - .../misc/recommendedusers/HideRecommendedUsersPatch.kt | 9 +++++---- .../CustomAppIconAndNavBtnsPatch.kt | 6 +++--- .../twitter/premium/readermode/EnableReaderModePatch.kt | 4 ++-- .../twitter/premium/undoposts/EnableUndoPostPatch.kt | 4 ++-- .../patches/twitter/timeline/banner/HideBannerPatch.kt | 6 +++--- .../timeline/showpollresults/ShowPollResultsPatch.kt | 7 ++++--- 28 files changed, 89 insertions(+), 73 deletions(-) diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideAds.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideAds.kt index 65da5797..e0bd3574 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideAds.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideAds.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -15,13 +16,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HideAds :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideAds()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTJ.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTJ.kt index 8044dcf9..9f39959b 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTJ.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTJ.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -15,13 +16,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HideCTJ :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideCommToJoin()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTS.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTS.kt index 49c81702..135abf4d 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTS.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideCTS.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -15,13 +16,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HideCTS :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideCreatorsToSub()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideDetailedPosts.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideDetailedPosts.kt index c1ca51b5..7ec82a27 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideDetailedPosts.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideDetailedPosts.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -16,13 +17,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HideDetailedPosts :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideDetailedPost()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideGoogleAds.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideGoogleAds.kt index 1e5b3da8..402d3b4f 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideGoogleAds.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideGoogleAds.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -15,13 +16,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HideGoogleAds :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideGAds()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HidePinnedByFollowers.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HidePinnedByFollowers.kt index 362d1e5f..8b0babd1 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HidePinnedByFollowers.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HidePinnedByFollowers.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -15,13 +16,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HidePinnedByFollowers :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideRevistPinnedPost()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideRevistBmk.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideRevistBmk.kt index 5e1a89c0..5307b330 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideRevistBmk.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideRevistBmk.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -15,13 +16,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HideRevistBmk :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideRevistBookmark()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideWTF.kt b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideWTF.kt index bf473e78..c9ed51cc 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideWTF.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/timelineEntryHook/HideWTF.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.ads.timelineEntryHook import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.misc.settings.SettingsPatch @@ -15,13 +16,13 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing use = true ) object HideWTF :BytecodePatch( - setOf() + setOf(SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideWhoToFollow()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/ads/trends/HidePromotedTrendPatch.kt b/src/main/kotlin/crimera/patches/twitter/ads/trends/HidePromotedTrendPatch.kt index 22ed6819..101ffd3a 100644 --- a/src/main/kotlin/crimera/patches/twitter/ads/trends/HidePromotedTrendPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/ads/trends/HidePromotedTrendPatch.kt @@ -56,9 +56,9 @@ class HidePromotedTrendPatch : BytecodePatch( ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hidePromotedTrends()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/featureFlag/DisableChirpFontPatch.kt b/src/main/kotlin/crimera/patches/twitter/featureFlag/DisableChirpFontPatch.kt index 637e5e29..87f99049 100644 --- a/src/main/kotlin/crimera/patches/twitter/featureFlag/DisableChirpFontPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/featureFlag/DisableChirpFontPatch.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.featureFlag import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.featureFlag.fingerprints.FeatureFlagLoadFingerprint @@ -25,10 +26,10 @@ object DisableChirpFontPatch: BytecodePatch( "${SettingsPatch.FSTS_DESCRIPTOR}->chirpFont()V" ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableFont()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") //end } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/featureFlag/FeatureFlagPatch.kt b/src/main/kotlin/crimera/patches/twitter/featureFlag/FeatureFlagPatch.kt index a92af46f..b939bc20 100644 --- a/src/main/kotlin/crimera/patches/twitter/featureFlag/FeatureFlagPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/featureFlag/FeatureFlagPatch.kt @@ -17,12 +17,12 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing @Patch( name = "Hook feature flag", compatiblePackages = [CompatiblePackage("com.twitter.android")], - dependencies = [FeatureFlagResourcePatch::class], + dependencies = [FeatureFlagResourcePatch::class, SettingsPatch::class], use = true ) @Suppress("unused") object FeatureFlagPatch:BytecodePatch( - setOf(FeatureFlagFingerprint,IntegrationsUtilsFingerprint) + setOf(FeatureFlagFingerprint,IntegrationsUtilsFingerprint, SettingsStatusLoadFingerprint) ) { override fun execute(context: BytecodeContext) { @@ -41,10 +41,10 @@ object FeatureFlagPatch:BytecodePatch( booleanMethod.addInstructions(loc+1,METHOD) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableFeatureFlags()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") IntegrationsUtilsFingerprint.result!!.mutableMethod.addInstruction( 1, "${SettingsPatch.FSTS_DESCRIPTOR}->load()V" diff --git a/src/main/kotlin/crimera/patches/twitter/featureFlag/HideBookmarkInTimelinePatch.kt b/src/main/kotlin/crimera/patches/twitter/featureFlag/HideBookmarkInTimelinePatch.kt index 5a8f8c8d..ca0aa2d7 100644 --- a/src/main/kotlin/crimera/patches/twitter/featureFlag/HideBookmarkInTimelinePatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/featureFlag/HideBookmarkInTimelinePatch.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.featureFlag import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import crimera.patches.twitter.misc.settings.SettingsPatch import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFingerprint @@ -26,10 +27,10 @@ object HideBookmarkInTimelinePatch:BytecodePatch( "${SettingsPatch.FSTS_DESCRIPTOR}->bookmarkInTimeline()V" ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideInlineBmk()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") //end } diff --git a/src/main/kotlin/crimera/patches/twitter/featureFlag/HideFABMenuButtonsPatch.kt b/src/main/kotlin/crimera/patches/twitter/featureFlag/HideFABMenuButtonsPatch.kt index 149d0a53..241104a9 100644 --- a/src/main/kotlin/crimera/patches/twitter/featureFlag/HideFABMenuButtonsPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/featureFlag/HideFABMenuButtonsPatch.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.featureFlag import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.featureFlag.fingerprints.FeatureFlagLoadFingerprint @@ -20,15 +21,15 @@ class HideFABMenuButtonsPatch : BytecodePatch( setOf( FeatureFlagLoadFingerprint,SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideFABBtns()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") - FeatureFlagLoadFingerprint.result!!.mutableMethod.addInstruction( + FeatureFlagLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.FSTS_DESCRIPTOR}->fabMenu()V" - ) + ) ?: throw PatchException("FeatureFlagLoadFingerprint not found") //end } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/featureFlag/HideImmersivePlayer.kt b/src/main/kotlin/crimera/patches/twitter/featureFlag/HideImmersivePlayer.kt index e5d1141a..02920076 100644 --- a/src/main/kotlin/crimera/patches/twitter/featureFlag/HideImmersivePlayer.kt +++ b/src/main/kotlin/crimera/patches/twitter/featureFlag/HideImmersivePlayer.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.featureFlag import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.featureFlag.fingerprints.FeatureFlagLoadFingerprint @@ -21,10 +22,10 @@ class HideImmersivePlayer : BytecodePatch( setOf( FeatureFlagLoadFingerprint,SettingsStatusLoadFingerprint) ){ override fun execute(context: BytecodeContext) { - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideImmersivePlayer()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") FeatureFlagLoadFingerprint.result!!.mutableMethod.addInstruction( 0, diff --git a/src/main/kotlin/crimera/patches/twitter/featureFlag/RemoveViewCountPatch.kt b/src/main/kotlin/crimera/patches/twitter/featureFlag/RemoveViewCountPatch.kt index 66747679..61b7b2e7 100644 --- a/src/main/kotlin/crimera/patches/twitter/featureFlag/RemoveViewCountPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/featureFlag/RemoveViewCountPatch.kt @@ -3,6 +3,7 @@ package crimera.patches.twitter.featureFlag import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.featureFlag.fingerprints.FeatureFlagLoadFingerprint @@ -26,10 +27,10 @@ object RemoveViewCountPatch: BytecodePatch( "${SettingsPatch.FSTS_DESCRIPTOR}->viewCount()V" ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideViewCount()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/interaction/downloads/changedirectory/ChangeDownloadDirPatch.kt b/src/main/kotlin/crimera/patches/twitter/interaction/downloads/changedirectory/ChangeDownloadDirPatch.kt index 3a3010c2..4b544614 100644 --- a/src/main/kotlin/crimera/patches/twitter/interaction/downloads/changedirectory/ChangeDownloadDirPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/interaction/downloads/changedirectory/ChangeDownloadDirPatch.kt @@ -49,9 +49,9 @@ object ChangeDownloadDirPatch: BytecodePatch( move-result-object p1 """.trimIndent()) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableDownloadFolder()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/link/browserchooser/BrowserChooserPatch.kt b/src/main/kotlin/crimera/patches/twitter/link/browserchooser/BrowserChooserPatch.kt index 86190bea..6c0d81a2 100644 --- a/src/main/kotlin/crimera/patches/twitter/link/browserchooser/BrowserChooserPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/link/browserchooser/BrowserChooserPatch.kt @@ -4,6 +4,7 @@ import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.BytecodePatch +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import crimera.patches.twitter.link.browserchooser.fingerprints.OpenLinkFingerprint @@ -14,10 +15,11 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing name = "Open browser chooser on opening links", description = "Instead of open the link directly in one of the installed browsers", compatiblePackages = [CompatiblePackage("com.twitter.android")], + dependencies = [SettingsPatch::class] ) @Suppress("unused") object BrowserChooserPatch : BytecodePatch( - setOf(OpenLinkFingerprint) + setOf(OpenLinkFingerprint, SettingsStatusLoadFingerprint) ) { override fun execute(context: BytecodeContext) { @@ -31,9 +33,9 @@ object BrowserChooserPatch : BytecodePatch( result.mutableMethod.addInstructions(0, inject) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableBrowserChooser()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/link/customsharingdomain/CustomSharingDomainPatch.kt b/src/main/kotlin/crimera/patches/twitter/link/customsharingdomain/CustomSharingDomainPatch.kt index f082e405..20676e53 100644 --- a/src/main/kotlin/crimera/patches/twitter/link/customsharingdomain/CustomSharingDomainPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/link/customsharingdomain/CustomSharingDomainPatch.kt @@ -36,9 +36,9 @@ object CustomSharingDomainPatch: BytecodePatch( """.trimIndent() ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableCustomSharingDomain()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/misc/FAB/HideFABPatch.kt b/src/main/kotlin/crimera/patches/twitter/misc/FAB/HideFABPatch.kt index eaea14cf..16f48f66 100644 --- a/src/main/kotlin/crimera/patches/twitter/misc/FAB/HideFABPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/misc/FAB/HideFABPatch.kt @@ -41,9 +41,9 @@ class HideFABPatch :BytecodePatch( ExternalLabel("cond_1212",constObj) ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideFAB()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/misc/customize/profiletabs/CustomiseProfileTabsPatch.kt b/src/main/kotlin/crimera/patches/twitter/misc/customize/profiletabs/CustomiseProfileTabsPatch.kt index 6ae2bef7..ee574f7c 100644 --- a/src/main/kotlin/crimera/patches/twitter/misc/customize/profiletabs/CustomiseProfileTabsPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/misc/customize/profiletabs/CustomiseProfileTabsPatch.kt @@ -77,10 +77,10 @@ object CustomiseProfileTabsPatch:BytecodePatch( """.trimIndent(), ExternalLabel("check1",instructions.last { it.opcode == Opcode.INVOKE_STATIC }) ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->profileTabCustomisation()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") //end } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/misc/customize/timelinetabs/CustomiseTimelineTabsPatch.kt b/src/main/kotlin/crimera/patches/twitter/misc/customize/timelinetabs/CustomiseTimelineTabsPatch.kt index ee60dcff..efb5413a 100644 --- a/src/main/kotlin/crimera/patches/twitter/misc/customize/timelinetabs/CustomiseTimelineTabsPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/misc/customize/timelinetabs/CustomiseTimelineTabsPatch.kt @@ -73,9 +73,9 @@ object CustomiseTimelineTabsPatch : BytecodePatch( """.trimIndent(), ExternalLabel("escape",arr) ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->timelineTabCustomisation()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } diff --git a/src/main/kotlin/crimera/patches/twitter/misc/hidecommunitynotes/HideCommunityNotePatch.kt b/src/main/kotlin/crimera/patches/twitter/misc/hidecommunitynotes/HideCommunityNotePatch.kt index dbf72111..7574d04f 100644 --- a/src/main/kotlin/crimera/patches/twitter/misc/hidecommunitynotes/HideCommunityNotePatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/misc/hidecommunitynotes/HideCommunityNotePatch.kt @@ -13,7 +13,6 @@ import com.android.tools.smali.dexlib2.Opcode import crimera.patches.twitter.misc.hidecommunitynotes.fingerprints.HideCommunityNoteFingerprint import crimera.patches.twitter.misc.settings.SettingsPatch import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFingerprint -import kotlin.jvm.Throws @Patch( name = "Hide Community Notes", diff --git a/src/main/kotlin/crimera/patches/twitter/misc/recommendedusers/HideRecommendedUsersPatch.kt b/src/main/kotlin/crimera/patches/twitter/misc/recommendedusers/HideRecommendedUsersPatch.kt index 30a6c28f..9509c6df 100644 --- a/src/main/kotlin/crimera/patches/twitter/misc/recommendedusers/HideRecommendedUsersPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/misc/recommendedusers/HideRecommendedUsersPatch.kt @@ -19,11 +19,12 @@ import crimera.patches.twitter.misc.recommendedusers.fingerprints.HideRecommende @Patch( name = "Hide Recommended Users", description = "Hide recommended users that pops up when you follow someone", - compatiblePackages = [CompatiblePackage("com.twitter.android")] + compatiblePackages = [CompatiblePackage("com.twitter.android")], + dependencies = [SettingsPatch::class] ) @Suppress("unused") object HideRecommendedUsers: BytecodePatch( - setOf(HideRecommendedUsersFingerprint) + setOf(HideRecommendedUsersFingerprint, SettingsStatusLoadFingerprint) ) { override fun execute(context: BytecodeContext) { val result = HideRecommendedUsersFingerprint.result @@ -43,9 +44,9 @@ object HideRecommendedUsers: BytecodePatch( move-result-object v$reg """.trimIndent()) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideRecommendedUsers()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/premium/customAppIconAndNavBtns/CustomAppIconAndNavBtnsPatch.kt b/src/main/kotlin/crimera/patches/twitter/premium/customAppIconAndNavBtns/CustomAppIconAndNavBtnsPatch.kt index 43378d8f..8b34dd90 100644 --- a/src/main/kotlin/crimera/patches/twitter/premium/customAppIconAndNavBtns/CustomAppIconAndNavBtnsPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/premium/customAppIconAndNavBtns/CustomAppIconAndNavBtnsPatch.kt @@ -21,7 +21,7 @@ import crimera.patches.twitter.misc.settings.fingerprints.SettingsStatusLoadFing requiresIntegrations = true ) object CustomAppIconAndNavBtnsPatch:BytecodePatch( - setOf(CustomAppIconAndNavBtnsFingerprint) + setOf(CustomAppIconAndNavBtnsFingerprint, SettingsStatusLoadFingerprint) ) { override fun execute(context: BytecodeContext) { val result = CustomAppIconAndNavBtnsFingerprint.result @@ -35,10 +35,10 @@ object CustomAppIconAndNavBtnsPatch:BytecodePatch( methods.removeInstruction(loc) methods.removeInstruction(loc-1) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableAppIconNNavIcon()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") //end } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/premium/readermode/EnableReaderModePatch.kt b/src/main/kotlin/crimera/patches/twitter/premium/readermode/EnableReaderModePatch.kt index 5b2886f8..fc3e8ecb 100644 --- a/src/main/kotlin/crimera/patches/twitter/premium/readermode/EnableReaderModePatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/premium/readermode/EnableReaderModePatch.kt @@ -64,10 +64,10 @@ object EnableReaderModePatch:BytecodePatch( val loc = methods2.getInstructions().first{it.opcode == Opcode.IF_EQZ}.location.index methods2.addInstruction(loc-1, PREF.trimIndent()) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableReaderMode()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") //end } diff --git a/src/main/kotlin/crimera/patches/twitter/premium/undoposts/EnableUndoPostPatch.kt b/src/main/kotlin/crimera/patches/twitter/premium/undoposts/EnableUndoPostPatch.kt index 208ab29a..9d6a46a5 100644 --- a/src/main/kotlin/crimera/patches/twitter/premium/undoposts/EnableUndoPostPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/premium/undoposts/EnableUndoPostPatch.kt @@ -57,10 +57,10 @@ object EnableUndoPostPatch :BytecodePatch( method3.addInstruction(loc3-1,PREF.trimIndent()) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableUndoPosts()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") //end } diff --git a/src/main/kotlin/crimera/patches/twitter/timeline/banner/HideBannerPatch.kt b/src/main/kotlin/crimera/patches/twitter/timeline/banner/HideBannerPatch.kt index 54eb3ed4..77e36ed5 100644 --- a/src/main/kotlin/crimera/patches/twitter/timeline/banner/HideBannerPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/timeline/banner/HideBannerPatch.kt @@ -23,7 +23,7 @@ import crimera.patches.twitter.timeline.banner.fingerprints.HideBannerFingerprin ) @Suppress("unused") object HideBannerPatch : BytecodePatch( - setOf(HideBannerFingerprint) + setOf(HideBannerFingerprint, SettingsStatusLoadFingerprint) ) { override fun execute(context: BytecodeContext) { val result = HideBannerFingerprint.result @@ -42,9 +42,9 @@ object HideBannerPatch : BytecodePatch( move-result v0 """.trimIndent()) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->hideBanner()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file diff --git a/src/main/kotlin/crimera/patches/twitter/timeline/showpollresults/ShowPollResultsPatch.kt b/src/main/kotlin/crimera/patches/twitter/timeline/showpollresults/ShowPollResultsPatch.kt index ce274287..fea228d8 100644 --- a/src/main/kotlin/crimera/patches/twitter/timeline/showpollresults/ShowPollResultsPatch.kt +++ b/src/main/kotlin/crimera/patches/twitter/timeline/showpollresults/ShowPollResultsPatch.kt @@ -16,7 +16,8 @@ import crimera.patches.twitter.timeline.showpollresults.fingerprints.JsonCardIns @Patch( name = "Show poll results", description = "Adds an option to show poll results without voting", - compatiblePackages = [CompatiblePackage("com.twitter.android")] + compatiblePackages = [CompatiblePackage("com.twitter.android")], + dependencies = [SettingsPatch::class] ) object ShowPollResultsPatch: BytecodePatch( setOf(JsonCardInstanceDataFingerprint, SettingsStatusLoadFingerprint) @@ -40,9 +41,9 @@ object ShowPollResultsPatch: BytecodePatch( """.trimIndent() ) - SettingsStatusLoadFingerprint.result!!.mutableMethod.addInstruction( + SettingsStatusLoadFingerprint.result?.mutableMethod?.addInstruction( 0, "${SettingsPatch.SSTS_DESCRIPTOR}->enableShowPollResults()V" - ) + ) ?: throw PatchException("SettingsStatusLoadFingerprint not found") } } \ No newline at end of file