add 20.31+ bold icons setting
This commit is contained in:
parent
b5cda51048
commit
1356a7e5b2
5 changed files with 44 additions and 3 deletions
|
|
@ -65,4 +65,14 @@ internal val translucentNavigationButtonsSystemFeatureFlagFingerprint by fingerp
|
|||
instructions(
|
||||
literal(45632194L) // Translucent system buttons feature flag.
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Flag is present in 20.23, but icons are missing and forcing bold icons crashes the app.
|
||||
internal val boldIconsFeatureFlagFingerprint by fingerprint {
|
||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||
returns("Z")
|
||||
parameters()
|
||||
instructions(
|
||||
literal(45685201L)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import app.revanced.patches.youtube.misc.navigation.hookNavigationButtonCreated
|
|||
import app.revanced.patches.youtube.misc.navigation.navigationBarHookPatch
|
||||
import app.revanced.patches.youtube.misc.playservice.is_19_25_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.is_20_15_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.is_20_31_or_greater
|
||||
import app.revanced.patches.youtube.misc.playservice.versionCheckPatch
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
|
|
@ -72,6 +73,12 @@ val navigationButtonsPatch = bytecodePatch(
|
|||
)
|
||||
}
|
||||
|
||||
if (is_20_31_or_greater) {
|
||||
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||
SwitchPreference("revanced_navigation_bar_disable_bold_icons")
|
||||
)
|
||||
}
|
||||
|
||||
PreferenceScreen.GENERAL_LAYOUT.addPreferences(
|
||||
PreferenceScreenPreference(
|
||||
key = "revanced_navigation_buttons_screen",
|
||||
|
|
@ -146,5 +153,16 @@ val navigationButtonsPatch = bytecodePatch(
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Bold icon resources are found starting in 20.23, but many YT icons are not bold.
|
||||
// 20.31 is the first version that seems to have all the bold icons.
|
||||
if (is_20_31_or_greater) {
|
||||
boldIconsFeatureFlagFingerprint.let {
|
||||
it.method.insertLiteralOverride(
|
||||
it.instructionMatches.first().index,
|
||||
"$EXTENSION_CLASS_DESCRIPTOR->useBoldIcons(Z)Z"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -792,6 +792,9 @@ If changing this setting does not take effect, try switching to Incognito mode."
|
|||
<string name="revanced_navigation_bar_animations_title">Enable navigation bar animations</string>
|
||||
<string name="revanced_navigation_bar_animations_summary_on">Navigation transitions are animated</string>
|
||||
<string name="revanced_navigation_bar_animations_summary_off">Navigation transitions are not animated</string>
|
||||
<string name="revanced_navigation_bar_disable_bold_icons_title">Disable bold icons</string>
|
||||
<string name="revanced_navigation_bar_disable_bold_icons_summary_on">Icons are not bold</string>
|
||||
<string name="revanced_navigation_bar_disable_bold_icons_summary_off">Icons are bold</string>
|
||||
<string name="revanced_disable_translucent_status_bar_title">Disable translucent status bar</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_on">Status bar is opaque</string>
|
||||
<string name="revanced_disable_translucent_status_bar_summary_off">Status bar is opaque or translucent</string>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue