use of org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager in project AndroidChromium by JackyAndroid.
the class BarOverlapTapSuppression method getContentHeightPx.
/**
* @return The height of the content view area of the base page in pixels, or 0 if the
* Height cannot be reliably obtained.
*/
private float getContentHeightPx() {
Tab currentTab = mActivity.getActivityTab();
ChromeFullscreenManager fullscreenManager = mActivity.getFullscreenManager();
if (fullscreenManager == null || currentTab == null)
return 0.f;
float controlsOffset = fullscreenManager.getControlOffset();
float controlsHeight = fullscreenManager.getTopControlsHeight();
float tabHeight = currentTab.getHeight();
return tabHeight - (controlsHeight + controlsOffset);
}
use of org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager in project AndroidChromium by JackyAndroid.
the class LayoutManager method startShowing.
/**
* Should be called by control logic to show a new {@link Layout}.
*
* TODO(dtrainor, clholgat): Clean up the show logic to guarantee startHiding/doneHiding get
* called.
*
* @param layout The new {@link Layout} to show.
* @param animate Whether or not {@code layout} should animate as it shows.
*/
protected void startShowing(Layout layout, boolean animate) {
assert mTabModelSelector != null : "init() must be called first.";
assert layout != null : "Can't show a null layout.";
// Set the new layout
setNextLayout(null);
Layout oldLayout = getActiveLayout();
if (oldLayout != layout) {
if (oldLayout != null) {
oldLayout.detachViews();
}
layout.contextChanged(mHost.getContext());
layout.attachViews(mContentContainer);
mActiveLayout = layout;
}
ChromeFullscreenManager fullscreenManager = mHost.getFullscreenManager();
if (fullscreenManager != null) {
// Release any old fullscreen token we were holding.
fullscreenManager.hideControlsPersistent(mFullscreenToken);
mFullscreenToken = FullscreenManager.INVALID_TOKEN;
// Grab a new fullscreen token if this layout can't be in fullscreen.
final int flags = getActiveLayout().getSizingFlags();
if ((flags & SizingFlags.ALLOW_TOOLBAR_HIDE) == 0) {
mFullscreenToken = fullscreenManager.showControlsPersistent();
}
// Hide the toolbar immediately if the layout wants it gone quickly.
fullscreenManager.setTopControlsPermamentlyHidden(flags == SizingFlags.HELPER_HIDE_TOOLBAR_IMMEDIATE);
}
propagateViewportToActiveLayout();
getActiveLayout().show(time(), animate);
mHost.setContentOverlayVisibility(getActiveLayout().shouldDisplayContentOverlay());
mHost.requestRender();
// Notify observers about the new scene.
for (SceneChangeObserver observer : mSceneChangeObservers) {
observer.onSceneChange(getActiveLayout());
}
}
Aggregations