feat(YouTube/Hide player flyout menu): add Hide picture-in-picture menu settings

This commit is contained in:
inotia00
2024-04-25 23:00:48 +09:00
parent 57c94dc39c
commit 4774bd10e8
5 changed files with 34 additions and 2 deletions

View File

@ -4,6 +4,7 @@ import app.revanced.patcher.data.BytecodeContext
import app.revanced.patches.shared.litho.LithoFilterPatch
import app.revanced.patches.youtube.player.flyoutmenu.hide.fingerprints.AdvancedQualityBottomSheetFingerprint
import app.revanced.patches.youtube.player.flyoutmenu.hide.fingerprints.CaptionsBottomSheetFingerprint
import app.revanced.patches.youtube.player.flyoutmenu.hide.fingerprints.PiPModeConfigFingerprint
import app.revanced.patches.youtube.utils.fingerprints.QualityMenuViewInflateFingerprint
import app.revanced.patches.youtube.utils.integrations.Constants.COMPATIBLE_PACKAGE
import app.revanced.patches.youtube.utils.integrations.Constants.COMPONENTS_PATH
@ -12,6 +13,7 @@ import app.revanced.patches.youtube.utils.playertype.PlayerTypeHookPatch
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch.BottomSheetFooterText
import app.revanced.patches.youtube.utils.settings.SettingsPatch
import app.revanced.util.literalInstructionBooleanHook
import app.revanced.util.literalInstructionViewHook
import app.revanced.util.patch.BaseBytecodePatch
@ -29,6 +31,7 @@ object PlayerFlyoutMenuPatch : BaseBytecodePatch(
fingerprints = setOf(
AdvancedQualityBottomSheetFingerprint,
CaptionsBottomSheetFingerprint,
PiPModeConfigFingerprint,
QualityMenuViewInflateFingerprint
)
) {
@ -36,6 +39,7 @@ object PlayerFlyoutMenuPatch : BaseBytecodePatch(
"$COMPONENTS_PATH/PlayerFlyoutMenuFilter;"
override fun execute(context: BytecodeContext) {
arrayOf(
AdvancedQualityBottomSheetFingerprint to "hideFooterQuality",
CaptionsBottomSheetFingerprint to "hideFooterCaptions",
@ -58,5 +62,17 @@ object PlayerFlyoutMenuPatch : BaseBytecodePatch(
)
SettingsPatch.updatePatchStatus(this)
if (SettingsPatch.upward1839) {
PiPModeConfigFingerprint.literalInstructionBooleanHook(
45427407,
"$PLAYER_CLASS_DESCRIPTOR->hidePiPModeMenu(Z)Z"
)
SettingsPatch.addPreference(
arrayOf(
"SETTINGS: HIDE_PIP_MODE_MENU"
)
)
}
}
}

View File

@ -0,0 +1,10 @@
package app.revanced.patches.youtube.player.flyoutmenu.hide.fingerprints
import app.revanced.util.fingerprint.LiteralValueFingerprint
/**
* This fingerprint is compatible with YouTube v18.39.xx+
*/
internal object PiPModeConfigFingerprint : LiteralValueFingerprint(
literalSupplier = { 45427407 }
)

View File

@ -4,7 +4,7 @@ import app.revanced.util.fingerprint.ReferenceFingerprint
import com.android.tools.smali.dexlib2.Opcode
/**
* Compatible with YouTube v18.30.xx to v18.49.xx
* This fingerprint is compatible with YouTube v18.30.xx+
*/
internal object RollingNumberMeasureAnimatedTextFingerprint : ReferenceFingerprint(
opcodes = listOf(