From abb05cb97cbaadb98a9151915488234cc63e451f Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Mon, 2 May 2022 10:12:49 +0200 Subject: [PATCH] reverse the order of appmenu --- .../Move-navigation-bar-to-bottom.patch | 60 ++++++++++++++++--- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch index 4534b813..4b747798 100644 --- a/build/patches/Move-navigation-bar-to-bottom.patch +++ b/build/patches/Move-navigation-bar-to-bottom.patch @@ -53,7 +53,8 @@ Support for tablet mode is also included. .../flags/android/chrome_feature_list.cc | 2 + .../browser/flags/CachedFeatureFlags.java | 19 +++++++ .../browser/flags/ChromeFeatureList.java | 2 + - .../chrome/browser/ui/appmenu/AppMenu.java | 19 +++++++ + .../chrome/browser/ui/appmenu/AppMenu.java | 25 +++++++++ + .../ui/appmenu/AppMenuHandlerImpl.java | 11 ++++ .../omnibox/LocationBarCoordinator.java | 9 +++- .../browser/omnibox/UrlBarCoordinator.java | 11 +++- .../suggestions/AutocompleteCoordinator.java | 16 +++++- @@ -76,7 +77,7 @@ Support for tablet mode is also included. .../accessibility/AccessibilitySettings.java | 16 ++++++ .../AccessibilitySettingsDelegate.java | 6 +++ .../render_widget_host_view_android.cc | 3 ++ - 67 files changed, 706 insertions(+), 52 deletions(-) + 68 files changed, 723 insertions(+), 52 deletions(-) diff --git a/cc/base/features.cc b/cc/base/features.cc --- a/cc/base/features.cc @@ -1328,7 +1329,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContai diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -6587,6 +6587,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6591,6 +6591,11 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kImpulseScrollAnimationsDescription, kOsAll, FEATURE_VALUE_TYPE(features::kImpulseScrollAnimations)}, @@ -1496,14 +1497,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse #include "base/metrics/field_trial_params.h" #include "chrome/browser/browser_features.h" #include "chrome/browser/feature_guide/notifications/feature_notification_guide_service.h" -@@ -249,6 +250,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kInstantStart, +@@ -250,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kKitKatSupported, &kLensCameraAssistedSearch, -+ &features::kMoveTopToolbarToBottom, &kLocationBarModelOptimizations, ++ &features::kMoveTopToolbarToBottom, &kNewWindowAppMenu, &kNotificationPermissionVariant, + &kOfflineIndicatorV2, diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java @@ -1571,7 +1572,20 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch import org.chromium.chrome.browser.ui.appmenu.internal.R; import org.chromium.components.browser_ui.styles.ChromeColors; import org.chromium.components.browser_ui.widget.chips.ChipView; -@@ -341,6 +343,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler +@@ -258,6 +260,12 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + } + + mListView = (ListView) contentView.findViewById(R.id.app_menu_list); ++ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ // always scroll to the bottom to show new items ++ mListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); ++ // fill content starting from the bottom of the view ++ mListView.setStackFromBottom(true); ++ } + + int footerHeight = inflateFooter(footerResourceId, contentView, menuWidth); + int headerHeight = inflateHeader(headerResourceId, contentView, menuWidth); +@@ -341,6 +349,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler int anchorViewX = tempLocation[0]; int anchorViewY = tempLocation[1]; @@ -1586,7 +1600,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch int[] offsets = new int[2]; // If we have a hardware menu button, locate the app menu closer to the estimated // hardware menu button location. -@@ -531,6 +541,15 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler +@@ -531,6 +547,15 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler } int availableScreenSpace = Math.max( anchorViewY, appDimensions.height() - anchorViewY - anchorViewImpactHeight); @@ -1602,6 +1616,34 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch availableScreenSpace -= (padding.bottom + footerHeight + headerHeight); if (mIsByPermanentButton) availableScreenSpace -= padding.top; +diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java +--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java ++++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java +@@ -19,6 +19,8 @@ import androidx.annotation.VisibleForTesting; + + import org.chromium.base.Callback; + import org.chromium.base.metrics.RecordUserAction; ++import org.chromium.chrome.browser.flags.ChromeFeatureList; ++import org.chromium.chrome.browser.flags.CachedFeatureFlags; + import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; + import org.chromium.chrome.browser.lifecycle.ConfigurationChangedObserver; + import org.chromium.chrome.browser.lifecycle.StartStopWithNativeObserver; +@@ -178,6 +180,15 @@ class AppMenuHandlerImpl + }), + this); + ++ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ // reverses the order of items in the menu ++ ModelList modelListReverted = new ModelList(); ++ for (int i = 0; i < modelList.size(); i++) { ++ modelListReverted.add(0, modelList.get(i)); ++ } ++ modelList = modelListReverted; ++ } ++ + ContextThemeWrapper wrapper = + new ContextThemeWrapper(mContext, R.style.OverflowMenuThemeOverlay); + diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java @@ -1802,7 +1844,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1386,6 +1386,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1396,6 +1396,12 @@ Your Google account may have other forms of browsing history like searches and a Force Tablet Mode