[Android] Fixes Tab Groups controls behaviour on tab closing
This commit is contained in:
@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
import org.chromium.chrome.browser.compositor.Invalidator;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
|
||||
@@ -111,7 +110,6 @@ public class BraveToolbarManager extends ToolbarManager {
|
||||
private final Object mLock = new Object();
|
||||
private boolean mBottomControlsEnabled;
|
||||
private BraveScrollingBottomViewResourceFrameLayout mBottomControls;
|
||||
private final BrowserControlsStateProvider.Observer mBraveBrowserControlsObserver;
|
||||
|
||||
public BraveToolbarManager(AppCompatActivity activity, BrowserControlsSizer controlsSizer,
|
||||
FullscreenManager fullscreenManager, ToolbarControlContainer controlContainer,
|
||||
@@ -168,15 +166,6 @@ public class BraveToolbarManager extends ToolbarManager {
|
||||
}
|
||||
};
|
||||
HomepageManager.getInstance().addListener(mBraveHomepageStateListener);
|
||||
|
||||
mBraveBrowserControlsObserver = new BrowserControlsStateProvider.Observer() {
|
||||
@Override
|
||||
public void onControlsOffsetChanged(int topOffset, int topControlsMinHeightOffset,
|
||||
int bottomOffset, int bottomControlsMinHeightOffset, boolean needsAnimate) {
|
||||
updateBottomToolbarVisibility();
|
||||
}
|
||||
};
|
||||
mBrowserControlsSizer.addObserver(mBraveBrowserControlsObserver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+21
-21
@@ -23,14 +23,25 @@ public class BraveScrollingBottomViewResourceFrameLayout
|
||||
private SwipeGestureListener mSwipeGestureListener;
|
||||
private Supplier<BottomControlsCoordinator> mBottomControlsCoordinatorSupplier;
|
||||
private final CallbackController mCallbackController;
|
||||
private boolean mIsBottomToolbarVisible;
|
||||
private boolean mIsTabGroupUiVisible;
|
||||
View mBottomToolbar;
|
||||
View mBottomContainerSlot;
|
||||
|
||||
public BraveScrollingBottomViewResourceFrameLayout(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mCallbackController = new CallbackController();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
|
||||
mBottomToolbar = findViewById(R.id.bottom_toolbar);
|
||||
assert mBottomToolbar != null : "Something has changed in upstream!";
|
||||
|
||||
mBottomContainerSlot = findViewById(R.id.bottom_container_slot);
|
||||
assert mBottomContainerSlot != null : "Something has changed in upstream!";
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the swipe handler for this view and set {@link #isClickable()} to true to allow motion
|
||||
* events to be intercepted by the view itself.
|
||||
@@ -61,21 +72,6 @@ public class BraveScrollingBottomViewResourceFrameLayout
|
||||
return handledEvent || super.onTouchEvent(event);
|
||||
}
|
||||
|
||||
private void updateBottomControlsVisibility() {
|
||||
if (braveBottomControlsCoordinator() != null) {
|
||||
View bottomToolbar = findViewById(R.id.bottom_toolbar);
|
||||
assert (bottomToolbar != null);
|
||||
if (bottomToolbar != null) {
|
||||
bottomToolbar.setVisibility(mIsBottomToolbarVisible ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
View bottomContainerSlot = findViewById(R.id.bottom_container_slot);
|
||||
assert (bottomContainerSlot != null);
|
||||
if (bottomContainerSlot != null) {
|
||||
bottomContainerSlot.setVisibility(mIsTabGroupUiVisible ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setBottomControlsCoordinatorSupplier(
|
||||
Supplier<BottomControlsCoordinator> bottomControlsCoordinatorSupplier) {
|
||||
if (mBottomControlsCoordinatorSupplier != null) {
|
||||
@@ -85,13 +81,17 @@ public class BraveScrollingBottomViewResourceFrameLayout
|
||||
mBottomControlsCoordinatorSupplier = bottomControlsCoordinatorSupplier;
|
||||
braveBottomControlsCoordinator().getBottomToolbarVisibleSupplier().addObserver(
|
||||
mCallbackController.makeCancelable((visible) -> {
|
||||
mIsBottomToolbarVisible = visible;
|
||||
updateBottomControlsVisibility();
|
||||
if (mBottomToolbar != null) {
|
||||
mBottomToolbar.setVisibility(visible ? View.VISIBLE : View.GONE);
|
||||
getResourceAdapter().dropCachedBitmap();
|
||||
}
|
||||
}));
|
||||
braveBottomControlsCoordinator().getTabGroupUiVisibleSupplier().addObserver(
|
||||
mCallbackController.makeCancelable((visible) -> {
|
||||
mIsTabGroupUiVisible = visible;
|
||||
updateBottomControlsVisibility();
|
||||
if (mBottomContainerSlot != null) {
|
||||
mBottomContainerSlot.setVisibility(visible ? View.VISIBLE : View.GONE);
|
||||
getResourceAdapter().dropCachedBitmap();
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user