reverse the order of appmenu

This commit is contained in:
Carmelo Messina 2022-05-02 10:12:49 +02:00
parent b7bad88837
commit acebca1782
No known key found for this signature in database
GPG key ID: 968894BE688289FD

View file

@ -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
<message name="IDS_FORCE_TABLET_UI_TITLE" desc="Title of the preference that allows the user to update force tablet UI settings.">
Force Tablet Mode
</message>