Search in sources :

Example 1 with ChromeFullscreenManager

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);
}
Also used : Tab(org.chromium.chrome.browser.tab.Tab) ChromeFullscreenManager(org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager)

Example 2 with ChromeFullscreenManager

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());
    }
}
Also used : ChromeFullscreenManager(org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager) Point(android.graphics.Point)

Aggregations

ChromeFullscreenManager (org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager)2 Point (android.graphics.Point)1 Tab (org.chromium.chrome.browser.tab.Tab)1