From: uazo Date: Wed, 22 May 2024 07:41:34 +0000 Subject: Android Toolbar Scroll Ablation setting Adds a setting for blocking the toolbar hiding need: Add-cromite-flags-support.patch License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- ...rowserStateBrowserControlsVisibilityDelegate.java | 4 +++- .../Toolbar-Scroll-Ablation-flag.grdp | 9 +++++++++ .../java/res/xml/accessibility_preferences.xml | 6 ++++++ .../about_flags_cc/Toolbar-Scroll-Ablation-flag.inc | 12 ++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java @@ -40,6 +40,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro private final NonNullObservableSupplier mPersistentFullscreenMode; private long mCurrentShowingStartTime; + private int temporaryToken; /** * Constructs a BrowserControlsVisibilityDelegate designed to deal with overrides driven by the @@ -65,7 +66,8 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro long currentShowingTime = SystemClock.uptimeMillis() - mCurrentShowingStartTime; if (currentShowingTime >= MINIMUM_SHOW_DURATION_MS) return; - final int temporaryToken = mTokenHolder.acquireToken(); + mTokenHolder.releaseToken(temporaryToken); + temporaryToken = mTokenHolder.acquireToken(); mHandler.postDelayed( () -> mTokenHolder.releaseToken(temporaryToken), MINIMUM_SHOW_DURATION_MS - currentShowingTime); diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp new file mode 100644 --- /dev/null +++ b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Toolbar-Scroll-Ablation-flag.grdp @@ -0,0 +1,9 @@ + + + + Always show toolbar + + + Blocks the toolbar's hiding + + diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml --- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml +++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml @@ -89,6 +89,12 @@ found in the LICENSE file. android:key="disable_toolbar_swipeup" android:title="@string/disable_toolbar_swipe_up" /> + + diff --git a/cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/browser/about_flags_cc/Toolbar-Scroll-Ablation-flag.inc @@ -0,0 +1,12 @@ +#if BUILDFLAG(IS_ANDROID) + +#ifdef FLAG_SECTION + + {"android-toolbar-scroll-ablation", + "Android Toolbar Scroll Ablation", + "Always shows the toolbar", kOsAndroid, + FEATURE_VALUE_TYPE(chrome::android::kAndroidToolbarScrollAblation)}, + +#endif + +#endif --