diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/patch/WideSearchbarPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/patch/WideSearchbarPatch.kt index 4f43625e1..3e7bf1361 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/patch/WideSearchbarPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/searchbar/patch/WideSearchbarPatch.kt @@ -33,6 +33,30 @@ class WideSearchbarPatch : BytecodePatch( SetWordmarkHeaderFingerprint, DrawActionBarFingerprint ) ) { + override fun execute(context: BytecodeContext): PatchResult { + SettingsPatch.PreferenceScreen.LAYOUT.addPreferences( + SwitchPreference( + "revanced_wide_searchbar", + StringResource("revanced_wide_searchbar_enabled_title", "Enable wide search bar"), + false, + StringResource("revanced_wide_searchbar_summary_on", "Wide search bar is enabled"), + StringResource("revanced_wide_searchbar_summary_off", "Wide search bar is disabled") + ) + ) + + val result = DrawActionBarFingerprint.result ?: return DrawActionBarFingerprint.toErrorResult() + + // patch methods + mapOf( + SetWordmarkHeaderFingerprint to 1, + DrawActionBarFingerprint to result.scanResult.patternScanResult!!.endIndex + ).forEach { (fingerprint, callIndex) -> + context.walkMutable(callIndex, fingerprint).injectSearchBarHook() + } + + return PatchResultSuccess() + } + private companion object { /** * Walk a fingerprints method at a given index mutably. @@ -61,28 +85,4 @@ class WideSearchbarPatch : BytecodePatch( ) } } - - override fun execute(context: BytecodeContext): PatchResult { - SettingsPatch.PreferenceScreen.LAYOUT.addPreferences( - SwitchPreference( - "revanced_wide_searchbar", - StringResource("revanced_wide_searchbar_enabled_title", "Enable wide search bar"), - false, - StringResource("revanced_wide_searchbar_summary_on", "Wide search bar is enabled"), - StringResource("revanced_wide_searchbar_summary_off", "Wide search bar is disabled") - ) - ) - - val result = DrawActionBarFingerprint.result ?: return DrawActionBarFingerprint.toErrorResult() - - // patch methods - mapOf( - SetWordmarkHeaderFingerprint to 1, - DrawActionBarFingerprint to result.scanResult.patternScanResult!!.endIndex - ).forEach { (fingerprint, callIndex) -> - context.walkMutable(callIndex, fingerprint).injectSearchBarHook() - } - - return PatchResultSuccess() - } }