Pārlūkot izejas kodu

reverse the order of appmenu

Carmelo Messina 3 gadi atpakaļ
vecāks
revīzija
abb05cb97c
1 mainītis faili ar 51 papildinājumiem un 9 dzēšanām
  1. 51 9
      build/patches/Move-navigation-bar-to-bottom.patch

+ 51 - 9
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
        <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>