From 96bd9e01db33c7fa4883e8cb6c7c5952a149c352 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Wed, 12 Feb 2025 13:29:52 -0500 Subject: [PATCH] [Android] Fix for bottom controls visibility in landscape mode This is a regression from C132 https://chromium.googlesource.com/chromium/src/+/8c7ff112c0ebadc79c298d02acc0082cb560e6ec --- android/java/apk_for_test.flags | 1 + .../chrome/browser/toolbar/BraveToolbarManager.java | 7 ++++--- .../org/chromium/chrome/browser/BytecodeTest.java | 8 ++++++-- .../brave/bytecode/BraveToolbarManagerClassAdapter.java | 3 +++ 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags index b9687e06c81..bc1e3f221d9 100644 --- a/android/java/apk_for_test.flags +++ b/android/java/apk_for_test.flags @@ -156,6 +156,7 @@ *** mTabObscuringHandler; *** mReadAloudControllerSupplier; *** mTopUiThemeColorProvider; + *** mCurrentOrientation; *** onOrientationChange(...); *** updateBookmarkButtonStatus(...); *** updateReloadState(...); diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java index 0cea8792c77..a9615fe19b5 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveToolbarManager.java @@ -115,6 +115,7 @@ public class BraveToolbarManager extends ToolbarManager { private LayoutStateProvider mLayoutStateProvider; private ObservableSupplier mReadAloudControllerSupplier; private TopUiThemeColorProvider mTopUiThemeColorProvider; + private int mCurrentOrientation; // Own members. private TabGroupUi mTabGroupUi; @@ -444,18 +445,18 @@ public class BraveToolbarManager extends ToolbarManager { } } - protected void onOrientationChange(int newOrientation) { + protected void onOrientationChange() { if (mActionModeController != null) mActionModeController.showControlsOnOrientationChange(); if (mBottomControlsCoordinatorSupplier.get() != null && BottomToolbarConfiguration.isBraveBottomControlsEnabled()) { boolean isBraveBottomControlsVisible = - newOrientation != Configuration.ORIENTATION_LANDSCAPE; + mCurrentOrientation != Configuration.ORIENTATION_LANDSCAPE; setBraveBottomControlsVisible(isBraveBottomControlsVisible); } if (mActivity instanceof BraveActivity) { - ((BraveActivity) mActivity).updateBottomSheetPosition(newOrientation); + ((BraveActivity) mActivity).updateBottomSheetPosition(mCurrentOrientation); } } diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index b112c1a9810..3c86bfec517 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -493,8 +493,8 @@ public class BytecodeTest { "org/chromium/chrome/browser/toolbar/ToolbarManager", "onOrientationChange", MethodModifier.REGULAR, - false, - null)); + true, + void.class)); Assert.assertTrue( methodExists( "org/chromium/chrome/browser/toolbar/ToolbarManager", @@ -1957,6 +1957,10 @@ public class BytecodeTest { fieldExists( "org/chromium/chrome/browser/toolbar/ToolbarManager", "mTopUiThemeColorProvider")); + Assert.assertTrue( + fieldExists( + "org/chromium/chrome/browser/toolbar/ToolbarManager", + "mCurrentOrientation")); Assert.assertTrue( fieldExists( "org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator", diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java index 3091ac5d1ed..ca24b445793 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveToolbarManagerClassAdapter.java @@ -92,6 +92,9 @@ public class BraveToolbarManagerClassAdapter extends BraveClassVisitor { deleteField(sBraveToolbarManagerClassName, "mTopUiThemeColorProvider"); makeProtectedField(sToolbarManagerClassName, "mTopUiThemeColorProvider"); + deleteField(sBraveToolbarManagerClassName, "mCurrentOrientation"); + makeProtectedField(sToolbarManagerClassName, "mCurrentOrientation"); + makePublicMethod(sToolbarManagerClassName, "onOrientationChange"); addMethodAnnotation( sBraveToolbarManagerClassName, "onOrientationChange", "Ljava/lang/Override;");