feat(YouTube/Navigation bar components): add Enable translucent navigation bar settings https://github.com/inotia00/ReVanced_Extended/issues/2177

This commit is contained in:
inotia00
2024-06-23 14:18:48 +09:00
parent 8186e9c8b2
commit 26479a205c
4 changed files with 41 additions and 8 deletions

View File

@ -8,12 +8,14 @@ import app.revanced.patches.youtube.general.navigation.fingerprints.AutoMotiveFi
import app.revanced.patches.youtube.general.navigation.fingerprints.PivotBarChangedFingerprint
import app.revanced.patches.youtube.general.navigation.fingerprints.PivotBarSetTextFingerprint
import app.revanced.patches.youtube.general.navigation.fingerprints.PivotBarStyleFingerprint
import app.revanced.patches.youtube.general.navigation.fingerprints.TranslucentNavigationBarFingerprint
import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE
import app.revanced.patches.youtube.utils.integrations.Constants.GENERAL_CLASS_DESCRIPTOR
import app.revanced.patches.youtube.utils.navigation.NavigationBarHookPatch
import app.revanced.patches.youtube.utils.settings.SettingsPatch
import app.revanced.util.getStringInstructionIndex
import app.revanced.util.getTargetIndexWithMethodReferenceNameOrThrow
import app.revanced.util.literalInstructionBooleanHook
import app.revanced.util.patch.BaseBytecodePatch
import app.revanced.util.resultOrThrow
import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
@ -32,11 +34,30 @@ object NavigationBarComponentsPatch : BaseBytecodePatch(
AutoMotiveFingerprint,
PivotBarChangedFingerprint,
PivotBarSetTextFingerprint,
PivotBarStyleFingerprint
PivotBarStyleFingerprint,
TranslucentNavigationBarFingerprint
)
) {
override fun execute(context: BytecodeContext) {
var settingArray = arrayOf(
"PREFERENCE_SCREEN: GENERAL",
"SETTINGS: HIDE_NAVIGATION_COMPONENTS"
)
// region patch for enable translucent navigation bar
if (SettingsPatch.upward1923) {
TranslucentNavigationBarFingerprint.literalInstructionBooleanHook(
45630927,
"$GENERAL_CLASS_DESCRIPTOR->enableTranslucentNavigationBar()Z"
)
settingArray += "SETTINGS: TRANSLUCENT_NAVIGATION_BAR"
}
// endregion
// region patch for enable narrow navigation buttons
arrayOf(
@ -101,12 +122,7 @@ object NavigationBarComponentsPatch : BaseBytecodePatch(
/**
* Add settings
*/
SettingsPatch.addPreference(
arrayOf(
"PREFERENCE_SCREEN: GENERAL",
"SETTINGS: HIDE_NAVIGATION_COMPONENTS"
)
)
SettingsPatch.addPreference(settingArray)
SettingsPatch.updatePatchStatus(this)
}

View File

@ -0,0 +1,7 @@
package app.revanced.patches.youtube.general.navigation.fingerprints
import app.revanced.util.fingerprint.LiteralValueFingerprint
internal object TranslucentNavigationBarFingerprint : LiteralValueFingerprint(
literalSupplier = { 45630927 }
)