Move navigation bar to bottom: fix toolbar in search widget (#1927)

This commit is contained in:
Carmelo Messina
2025-10-17 15:59:17 +02:00
parent 540865281e
commit f670a4f607
@@ -46,7 +46,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/ntp/NewTabPage.java | 14 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 10 +-
.../chrome/browser/ntp/RecentTabsPage.java | 31 +++-
.../browser/searchwidget/SearchActivity.java | 11 ++
.../browser/searchwidget/SearchActivity.java | 14 ++
.../settings/FragmentDependencyProvider.java | 5 +
.../StatusIndicatorCoordinator.java | 9 ++
.../StatusIndicatorSceneLayer.java | 6 +-
@@ -75,7 +75,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
...rredIMEWindowInsetApplicationCallback.java | 7 +
.../omnibox/LocationBarCoordinator.java | 1 +
...mniboxSuggestionsDropdownEmbedderImpl.java | 31 ++++
.../suggestions/AutocompleteCoordinator.java | 14 ++
.../suggestions/AutocompleteCoordinator.java | 16 ++
.../suggestions/AutocompleteMediator.java | 6 +-
.../OmniboxSuggestionsDropdown.java | 8 +
.../OmniboxSuggestionsDropdownEmbedder.java | 6 +
@@ -100,7 +100,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/viz/common/features.cc | 2 +
.../render_widget_host_view_android.cc | 3 +
.../Move-navigation-bar-to-bottom.inc | 17 ++
87 files changed, 1053 insertions(+), 87 deletions(-)
87 files changed, 1058 insertions(+), 87 deletions(-)
create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
@@ -1483,7 +1483,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
import java.lang.ref.WeakReference;
/** Queries the user's default search engine and shows autocomplete suggestions. */
@@ -298,6 +303,12 @@ public class SearchActivity extends AsyncInitializationActivity
@@ -298,6 +303,15 @@ public class SearchActivity extends AsyncInitializationActivity
// Build the search box.
mSearchBox = contentView.findViewById(R.id.search_location_bar);
mAnchorView = contentView.findViewById(R.id.toolbar);
@@ -1492,6 +1492,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
+ mAnchorView.getLayoutParams();
+ layoutParams.gravity = Gravity.START | Gravity.BOTTOM;
+ mAnchorView.setLayoutParams(layoutParams);
+ View omniboxResultView = contentView.findViewById(R.id.omnibox_results_container_stub);
+ omniboxResultView.setTranslationY(
+ -getResources().getDimensionPixelSize(R.dimen.control_container_height_cromite));
+ }
// Update the status bar's color based on the toolbar color.
@@ -2130,7 +2133,7 @@ diff --git a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.x
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -2402,7 +2402,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2395,7 +2395,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
#if BUILDFLAG(IS_ANDROID)
registry->RegisterBooleanPref(prefs::kVirtualKeyboardResizesLayoutByDefault,
@@ -2494,7 +2497,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
PropertyModel listModel =
new PropertyModel.Builder(SuggestionListProperties.ALL_KEYS)
.with(SuggestionListProperties.EMBEDDER, dropdownEmbedder)
@@ -230,6 +234,16 @@ public class AutocompleteCoordinator
@@ -230,6 +234,18 @@ public class AutocompleteCoordinator
container.findViewById(R.id.omnibox_suggestions_dropdown);
dropdown.setAdapter(mAdapter);
@@ -2505,8 +2508,10 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
+
+ // do not cover the bar
+ ViewGroup.LayoutParams params = container.getLayoutParams();
+ ((ViewGroup.MarginLayoutParams) params).topMargin = 0;
+ ((ViewGroup.MarginLayoutParams) params).bottomMargin =
+ mDropdownEmbedder.getAnchorView().getMeasuredHeight();
+ container.setLayoutParams(params);
+ }
mRecycledViewPool.ifPresent(p -> dropdown.setRecycledViewPool(p));
mHolder = new SuggestionListViewHolder(suggestionsContainer, dropdown);