mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-04 08:34:27 +02:00
feat(YouTube - Hide layout components): Add Disable translucent status bar
setting
This commit is contained in:
parent
01bd3141b3
commit
945b91eebb
@ -128,6 +128,15 @@ public class GeneralPatch {
|
||||
|
||||
// region [Hide layout components] patch
|
||||
|
||||
public static boolean disableTranslucentStatusBar(boolean original) {
|
||||
try {
|
||||
return !Settings.DISABLE_TRANSLUCENT_STATUS_BAR.get() && original;
|
||||
} catch (Exception ex) {
|
||||
Logger.printException(() -> "Failed to load disableTranslucentStatusBar", ex);
|
||||
}
|
||||
return original;
|
||||
}
|
||||
|
||||
private static String[] accountMenuBlockList;
|
||||
|
||||
static {
|
||||
|
@ -148,6 +148,7 @@ public class Settings extends BaseSettings {
|
||||
new ChangeStartPagePatch.ChangeStartPageTypeAvailability());
|
||||
public static final BooleanSetting DISABLE_AUTO_AUDIO_TRACKS = new BooleanSetting("revanced_disable_auto_audio_tracks", FALSE);
|
||||
public static final BooleanSetting DISABLE_SPLASH_ANIMATION = new BooleanSetting("revanced_disable_splash_animation", FALSE, true);
|
||||
public static final BooleanSetting DISABLE_TRANSLUCENT_STATUS_BAR = new BooleanSetting("revanced_disable_translucent_status_bar", TRUE, true);
|
||||
public static final BooleanSetting ENABLE_GRADIENT_LOADING_SCREEN = new BooleanSetting("revanced_enable_gradient_loading_screen", FALSE, true);
|
||||
public static final BooleanSetting HIDE_FLOATING_MICROPHONE = new BooleanSetting("revanced_hide_floating_microphone", TRUE, true);
|
||||
public static final BooleanSetting HIDE_GRAY_SEPARATOR = new BooleanSetting("revanced_hide_gray_separator", TRUE);
|
||||
|
@ -134,3 +134,12 @@ internal val tooltipContentViewFingerprint = legacyFingerprint(
|
||||
literals = listOf(toolTipContentView),
|
||||
)
|
||||
|
||||
internal const val TRANSLUCENT_STATUS_BAR_FEATURE_FLAG = 45400535L
|
||||
|
||||
internal val translucentStatusBarFeatureFlagFingerprint = legacyFingerprint(
|
||||
name = "translucentStatusBarFeatureFlagFingerprint",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
returnType = "Z",
|
||||
literals = listOf(TRANSLUCENT_STATUS_BAR_FEATURE_FLAG)
|
||||
)
|
||||
|
||||
|
@ -17,10 +17,13 @@ import app.revanced.patches.youtube.utils.extension.Constants.COMPONENTS_PATH
|
||||
import app.revanced.patches.youtube.utils.extension.Constants.GENERAL_CLASS_DESCRIPTOR
|
||||
import app.revanced.patches.youtube.utils.extension.Constants.GENERAL_PATH
|
||||
import app.revanced.patches.youtube.utils.patch.PatchList.HIDE_LAYOUT_COMPONENTS
|
||||
import app.revanced.patches.youtube.utils.playservice.is_19_25_or_greater
|
||||
import app.revanced.patches.youtube.utils.playservice.versionCheckPatch
|
||||
import app.revanced.patches.youtube.utils.resourceid.accountSwitcherAccessibility
|
||||
import app.revanced.patches.youtube.utils.resourceid.sharedResourceIdPatch
|
||||
import app.revanced.patches.youtube.utils.settings.ResourceUtils.addPreference
|
||||
import app.revanced.patches.youtube.utils.settings.settingsPatch
|
||||
import app.revanced.util.fingerprint.injectLiteralInstructionBooleanCall
|
||||
import app.revanced.util.fingerprint.matchOrThrow
|
||||
import app.revanced.util.fingerprint.methodOrThrow
|
||||
import app.revanced.util.fingerprint.mutableClassOrThrow
|
||||
@ -55,10 +58,16 @@ val layoutComponentsPatch = bytecodePatch(
|
||||
sharedResourceIdPatch,
|
||||
settingsMenuPatch,
|
||||
viewGroupMarginLayoutParamsHookPatch,
|
||||
versionCheckPatch,
|
||||
)
|
||||
|
||||
execute {
|
||||
|
||||
var settingArray = arrayOf(
|
||||
"PREFERENCE_SCREEN: GENERAL",
|
||||
"SETTINGS: HIDE_LAYOUT_COMPONENTS"
|
||||
)
|
||||
|
||||
// region patch for disable pip notification
|
||||
|
||||
pipNotificationFingerprint.matchOrThrow().let {
|
||||
@ -86,6 +95,19 @@ val layoutComponentsPatch = bytecodePatch(
|
||||
|
||||
// endregion
|
||||
|
||||
// region patch for disable translucent status bar
|
||||
|
||||
if (is_19_25_or_greater) {
|
||||
translucentStatusBarFeatureFlagFingerprint.injectLiteralInstructionBooleanCall(
|
||||
TRANSLUCENT_STATUS_BAR_FEATURE_FLAG,
|
||||
"$GENERAL_CLASS_DESCRIPTOR->disableTranslucentStatusBar(Z)Z"
|
||||
)
|
||||
|
||||
settingArray += "SETTINGS: DISABLE_TRANSLUCENT_STATUS_BAR"
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region patch for disable update screen
|
||||
|
||||
appBlockingCheckResultToStringFingerprint.mutableClassOrThrow().methods.first { method ->
|
||||
@ -234,10 +256,7 @@ val layoutComponentsPatch = bytecodePatch(
|
||||
// region add settings
|
||||
|
||||
addPreference(
|
||||
arrayOf(
|
||||
"PREFERENCE_SCREEN: GENERAL",
|
||||
"SETTINGS: HIDE_LAYOUT_COMPONENTS"
|
||||
),
|
||||
settingArray,
|
||||
HIDE_LAYOUT_COMPONENTS
|
||||
)
|
||||
|
||||
|
@ -352,6 +352,9 @@ Limitation: Back button on the toolbar may not work."</string>
|
||||
<string name="revanced_disable_splash_animation_title">Disable splash animation</string>
|
||||
<string name="revanced_disable_splash_animation_summary_on">Splash animation is disabled.</string>
|
||||
<string name="revanced_disable_splash_animation_summary_off">Splash animation is enabled.</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>
|
||||
<string name="revanced_enable_gradient_loading_screen_title">Enable gradient loading screen</string>
|
||||
<string name="revanced_enable_gradient_loading_screen_summary_on">Gradient loading screen is enabled.</string>
|
||||
<string name="revanced_enable_gradient_loading_screen_summary_off">Gradient loading screen is disabled.</string>
|
||||
|
@ -281,6 +281,9 @@
|
||||
<!-- SETTINGS: DISABLE_SPLASH_ANIMATION
|
||||
<SwitchPreference android:title="@string/revanced_disable_splash_animation_title" android:key="revanced_disable_splash_animation" android:summaryOn="@string/revanced_disable_splash_animation_summary_on" android:summaryOff="@string/revanced_disable_splash_animation_summary_off" />SETTINGS: DISABLE_SPLASH_ANIMATION -->
|
||||
|
||||
<!-- SETTINGS: DISABLE_TRANSLUCENT_STATUS_BAR
|
||||
<SwitchPreference android:title="@string/revanced_disable_translucent_status_bar_title" android:key="revanced_disable_translucent_status_bar" android:summaryOn="@string/revanced_disable_translucent_status_bar_summary_on" android:summaryOff="@string/revanced_disable_translucent_status_bar_summary_off" />SETTINGS: DISABLE_TRANSLUCENT_STATUS_BAR -->
|
||||
|
||||
<!-- SETTINGS: ENABLE_GRADIENT_LOADING_SCREEN
|
||||
<SwitchPreference android:title="@string/revanced_enable_gradient_loading_screen_title" android:key="revanced_enable_gradient_loading_screen" android:summaryOn="@string/revanced_enable_gradient_loading_screen_summary_on" android:summaryOff="@string/revanced_enable_gradient_loading_screen_summary_off" />SETTINGS: ENABLE_GRADIENT_LOADING_SCREEN -->
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user