Move navigation bar to bottom: fixed top tabs half cut off in landscape mode (#1610)
This commit is contained in:
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../tab_management/TabGroupUiProperties.java | 5 +
|
||||
.../tab_management/TabGroupUiToolbarView.java | 17 ++
|
||||
.../tab_management/TabGroupUiViewBinder.java | 3 +
|
||||
.../tab_management/TabListCoordinator.java | 162 +++++++++++++++++-
|
||||
.../tab_management/TabListCoordinator.java | 158 +++++++++++++++++-
|
||||
.../TabListEmptyCoordinator.java | 17 +-
|
||||
.../tab_management/TabSwitcherPaneBase.java | 9 +
|
||||
.../browser/feed/FeedSurfaceCoordinator.java | 4 +
|
||||
@@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../layouts/LayoutManagerChromeTablet.java | 4 +-
|
||||
.../layouts/ToolbarSwipeLayout.java | 14 +-
|
||||
.../overlays/strip/ScrollDelegate.java | 2 +-
|
||||
.../strip/StripLayoutHelperManager.java | 38 +++-
|
||||
.../strip/StripLayoutHelperManager.java | 38 ++++-
|
||||
.../scene_layer/StaticTabSceneLayer.java | 7 +-
|
||||
.../scene_layer/TabListSceneLayer.java | 8 +
|
||||
.../scene_layer/TabStripSceneLayer.java | 20 ++-
|
||||
@@ -84,7 +84,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../bottom/BottomControlsMediator.java | 20 ++-
|
||||
.../bottom/BottomControlsProperties.java | 6 +-
|
||||
.../bottom/BottomControlsViewBinder.java | 2 +
|
||||
.../bottom/ScrollingBottomViewSceneLayer.java | 19 +-
|
||||
.../bottom/ScrollingBottomViewSceneLayer.java | 19 ++-
|
||||
.../toolbar/top/ToolbarControlContainer.java | 9 +
|
||||
.../top/TopToolbarOverlayCoordinator.java | 10 ++
|
||||
.../top/TopToolbarOverlayProperties.java | 8 +-
|
||||
@@ -94,7 +94,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../AccessibilitySettingsDelegate.java | 8 +
|
||||
.../render_widget_host_view_android.cc | 3 +
|
||||
.../Move-navigation-bar-to-bottom.inc | 17 ++
|
||||
81 files changed, 1039 insertions(+), 77 deletions(-)
|
||||
81 files changed, 1035 insertions(+), 77 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
|
||||
|
||||
@@ -425,7 +425,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.List;
|
||||
@@ -131,6 +139,128 @@ public class TabListCoordinator
|
||||
@@ -131,6 +139,124 @@ public class TabListCoordinator
|
||||
private int mAwaitingTabId = Tab.INVALID_TAB_ID;
|
||||
private @TabActionState int mTabActionState;
|
||||
|
||||
@@ -490,10 +490,6 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPaddingTop() {
|
||||
+ if (mContext.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
|
||||
+ mTopPadding = MAX_TOP_PADDING;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (mTopPadding == MAX_TOP_PADDING) return super.getPaddingTop();
|
||||
+ return mTopPadding;
|
||||
+ }
|
||||
@@ -554,7 +550,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
/**
|
||||
* Construct a coordinator for UI that shows a list of tabs.
|
||||
*
|
||||
@@ -348,6 +478,12 @@ public class TabListCoordinator
|
||||
@@ -348,6 +474,12 @@ public class TabListCoordinator
|
||||
checkAwaitingLayout();
|
||||
}
|
||||
};
|
||||
@@ -567,7 +563,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
mRecyclerView.setLayoutManager(gridLayoutManager);
|
||||
mMediator.registerOrientationListener(gridLayoutManager);
|
||||
mMediator.updateSpanCount(
|
||||
@@ -357,7 +493,7 @@ public class TabListCoordinator
|
||||
@@ -357,7 +489,7 @@ public class TabListCoordinator
|
||||
Rect frame = new Rect();
|
||||
mActivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
|
||||
updateGridCardLayout(frame.width());
|
||||
@@ -576,7 +572,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
LinearLayoutManager layoutManager =
|
||||
new LinearLayoutManager(
|
||||
activity,
|
||||
@@ -372,6 +508,25 @@ public class TabListCoordinator
|
||||
@@ -372,6 +504,25 @@ public class TabListCoordinator
|
||||
}
|
||||
};
|
||||
mRecyclerView.setLayoutManager(layoutManager);
|
||||
@@ -602,7 +598,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations);
|
||||
}
|
||||
@@ -392,7 +547,7 @@ public class TabListCoordinator
|
||||
@@ -392,7 +543,7 @@ public class TabListCoordinator
|
||||
if (hasEmptyView) {
|
||||
mTabListEmptyCoordinator =
|
||||
new TabListEmptyCoordinator(
|
||||
@@ -611,7 +607,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
|
||||
configureRecyclerViewTouchHelpers();
|
||||
@@ -680,6 +835,9 @@ public class TabListCoordinator
|
||||
@@ -680,6 +831,9 @@ public class TabListCoordinator
|
||||
void prepareTabSwitcherPaneView() {
|
||||
registerLayoutChangeListener();
|
||||
mRecyclerView.setupCustomItemAnimator();
|
||||
@@ -1185,8 +1181,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen
|
||||
+ }
|
||||
+ }
|
||||
|
||||
// This will hide the tab strips if necessary.
|
||||
TabStripSceneLayerJni.get()
|
||||
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(ContextUtils.getApplicationContext())) {
|
||||
TintedCompositorButton newTabButton = layoutHelper.getNewTabButton();
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java
|
||||
@@ -1865,7 +1861,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
#include "chrome/browser/android/webapk/webapk_features.h"
|
||||
#include "chrome/browser/browser_features.h"
|
||||
#include "chrome/browser/flags/android/chrome_session_state.h"
|
||||
@@ -296,6 +297,8 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -295,6 +296,8 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kNavBarColorMatchesTabBackground,
|
||||
&kNewTabSearchEngineUrlAndroid,
|
||||
&kNewTabPageAndroidTriggerForPrerender2,
|
||||
@@ -1877,7 +1873,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -415,6 +415,10 @@ public abstract class ChromeFeatureList {
|
||||
@@ -414,6 +414,10 @@ public abstract class ChromeFeatureList {
|
||||
public static final String NEW_TAB_PAGE_ANDROID_TRIGGER_FOR_PRERENDER2 =
|
||||
"NewTabPageAndroidTriggerForPrerender2";
|
||||
public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe";
|
||||
@@ -1888,7 +1884,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
|
||||
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
||||
"NotificationPermissionBottomSheet";
|
||||
@@ -802,6 +806,10 @@ public abstract class ChromeFeatureList {
|
||||
@@ -801,6 +805,10 @@ public abstract class ChromeFeatureList {
|
||||
PRICE_INSIGHTS, /* defaultValue= */ false, /* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sOptimizationGuidePushNotifications =
|
||||
newCachedFlag(OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, true);
|
||||
@@ -1899,7 +1895,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false);
|
||||
public static final CachedFlag sPostGetMyMemoryStateToBackground =
|
||||
newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true);
|
||||
@@ -957,6 +965,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -956,6 +964,8 @@ public abstract class ChromeFeatureList {
|
||||
sPriceChangeModule,
|
||||
sPriceInsights,
|
||||
sOptimizationGuidePushNotifications,
|
||||
@@ -2930,7 +2926,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
||||
@@ -16,6 +16,7 @@ import org.chromium.components.browser_ui.widget.ClipDrawableProgressBar.Drawing
|
||||
@@ -15,6 +15,7 @@ import org.chromium.components.browser_ui.widget.ClipDrawableProgressBar.Drawing
|
||||
import org.chromium.ui.modelutil.PropertyKey;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.ui.resources.ResourceManager;
|
||||
@@ -2938,7 +2934,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
/** A SceneLayer to render the top toolbar. This is the "view" piece of the top toolbar overlay. */
|
||||
@JNINamespace("android")
|
||||
@@ -41,6 +42,13 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
@@ -40,6 +41,13 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
/** Push all information about the texture to native at once. */
|
||||
private void pushProperties(PropertyModel model) {
|
||||
if (mResourceManagerSupplier.get() == null) return;
|
||||
@@ -2952,7 +2948,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
TopToolbarSceneLayerJni.get()
|
||||
.updateToolbarLayer(
|
||||
mNativePtr,
|
||||
@@ -51,7 +59,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
@@ -50,7 +58,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
model.get(TopToolbarOverlayProperties.URL_BAR_RESOURCE_ID),
|
||||
model.get(TopToolbarOverlayProperties.URL_BAR_COLOR),
|
||||
model.get(TopToolbarOverlayProperties.X_OFFSET),
|
||||
@@ -2964,9 +2960,9 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
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
|
||||
@@ -60,4 +60,12 @@ found in the LICENSE file.
|
||||
android:key="image_descriptions"
|
||||
android:title="@string/image_descriptions_settings_title" />
|
||||
@@ -66,4 +66,12 @@ found in the LICENSE file.
|
||||
app:featureName="disable-pull-to-refresh-effect"
|
||||
app:needRestart="true" />
|
||||
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
+ android:key="move_toolbar_bottom"
|
||||
|
||||
Reference in New Issue
Block a user