Search in sources :

Example 1 with FindToolbarObserver

use of org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver in project AndroidChromium by JackyAndroid.

the class ContextualSearchManager method setFindToolbarManager.

/**
 * Sets the {@link FindToolbarManager} and attaches an observer that dismisses the Contextual
 * Search panel when the find toolbar is shown.
 *
 * @param findToolbarManager The {@link FindToolbarManager} for the current activity.
 */
public void setFindToolbarManager(FindToolbarManager findToolbarManager) {
    if (mFindToolbarManager != null) {
        mFindToolbarManager.removeObserver(mFindToolbarObserver);
    }
    mFindToolbarManager = findToolbarManager;
    if (mFindToolbarObserver == null) {
        mFindToolbarObserver = new FindToolbarObserver() {

            @Override
            public void onFindToolbarShown() {
                hideContextualSearch(StateChangeReason.UNKNOWN);
            }
        };
    }
    mFindToolbarManager.addObserver(mFindToolbarObserver);
}
Also used : FindToolbarObserver(org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver)

Example 2 with FindToolbarObserver

use of org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver in project AndroidChromium by JackyAndroid.

the class ToolbarManager method initializeWithNative.

/**
     * Initialize the manager with the components that had native initialization dependencies.
     * <p>
     * Calling this must occur after the native library have completely loaded.
     *
     * @param tabModelSelector     The selector that handles tab management.
     * @param fullscreenManager    The manager in charge of interacting with the fullscreen feature.
     * @param findToolbarManager   The manager for find in page.
     * @param overviewModeBehavior The overview mode manager.
     * @param layoutDriver         A {@link LayoutManager} instance used to watch for scene changes.
     */
public void initializeWithNative(TabModelSelector tabModelSelector, ChromeFullscreenManager fullscreenManager, final FindToolbarManager findToolbarManager, final OverviewModeBehavior overviewModeBehavior, final LayoutManager layoutDriver, OnClickListener tabSwitcherClickHandler, OnClickListener newTabClickHandler, OnClickListener bookmarkClickHandler, OnClickListener customTabsBackClickHandler) {
    assert !mInitializedWithNative;
    mTabModelSelector = tabModelSelector;
    mToolbar.getLocationBar().updateVisualsForState();
    mToolbar.getLocationBar().setUrlToPageUrl();
    mToolbar.setFullscreenManager(fullscreenManager);
    mToolbar.setOnTabSwitcherClickHandler(tabSwitcherClickHandler);
    mToolbar.setOnNewTabClickHandler(newTabClickHandler);
    mToolbar.setBookmarkClickHandler(bookmarkClickHandler);
    mToolbar.setCustomTabCloseClickHandler(customTabsBackClickHandler);
    mToolbar.setLayoutUpdateHost(layoutDriver);
    mToolbarModel.initializeWithNative();
    mToolbar.addOnAttachStateChangeListener(new OnAttachStateChangeListener() {

        @Override
        public void onViewDetachedFromWindow(View v) {
            Context context = mToolbar.getContext();
            HomepageManager.getInstance(context).removeListener(mHomepageStateListener);
            mTabModelSelector.removeObserver(mTabModelSelectorObserver);
            for (TabModel model : mTabModelSelector.getModels()) {
                model.removeObserver(mTabModelObserver);
            }
            if (mBookmarkBridge != null) {
                mBookmarkBridge.destroy();
                mBookmarkBridge = null;
            }
            if (mTemplateUrlObserver != null) {
                TemplateUrlService.getInstance().removeObserver(mTemplateUrlObserver);
                mTemplateUrlObserver = null;
            }
            // Remove all previously attached observers from the FindToolbarManager.
            if (mFindToolbarManager != null) {
                for (FindToolbarObserver observer : mFindToolbarObservers) {
                    mFindToolbarManager.removeObserver(observer);
                }
            }
            if (overviewModeBehavior != null) {
                overviewModeBehavior.removeOverviewModeObserver(mOverviewModeObserver);
            }
            if (layoutDriver != null) {
                layoutDriver.removeSceneChangeObserver(mSceneChangeObserver);
            }
        }

        @Override
        public void onViewAttachedToWindow(View v) {
            // As we have only just registered for notifications, any that were sent prior to
            // this may have been missed.
            // Calling refreshSelectedTab in case we missed the initial selection notification.
            refreshSelectedTab();
        }
    });
    mFindToolbarManager = findToolbarManager;
    assert fullscreenManager != null;
    mFullscreenManager = fullscreenManager;
    mNativeLibraryReady = false;
    // Add observers to the FindToolbarManager.
    if (mFindToolbarManager != null) {
        for (FindToolbarObserver observer : mFindToolbarObservers) {
            mFindToolbarManager.addObserver(observer);
        }
    }
    if (overviewModeBehavior != null) {
        overviewModeBehavior.addOverviewModeObserver(mOverviewModeObserver);
    }
    if (layoutDriver != null)
        layoutDriver.addSceneChangeObserver(mSceneChangeObserver);
    onNativeLibraryReady();
    mInitializedWithNative = true;
}
Also used : Context(android.content.Context) FindToolbarObserver(org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver) OnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener) View(android.view.View) TabModel(org.chromium.chrome.browser.tabmodel.TabModel)

Example 3 with FindToolbarObserver

use of org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver in project AndroidChromium by JackyAndroid.

the class ToolbarManager method initializeWithNative.

/**
 * Initialize the manager with the components that had native initialization dependencies.
 * <p>
 * Calling this must occur after the native library have completely loaded.
 *
 * @param tabModelSelector           The selector that handles tab management.
 * @param controlsVisibilityDelegate The delegate to handle visibility of browser controls.
 * @param findToolbarManager         The manager for find in page.
 * @param overviewModeBehavior       The overview mode manager.
 * @param layoutDriver               A {@link LayoutManager} instance used to watch for scene
 *                                   changes.
 */
public void initializeWithNative(TabModelSelector tabModelSelector, BrowserStateBrowserControlsVisibilityDelegate controlsVisibilityDelegate, final FindToolbarManager findToolbarManager, final OverviewModeBehavior overviewModeBehavior, final LayoutManager layoutDriver, OnClickListener tabSwitcherClickHandler, OnClickListener newTabClickHandler, OnClickListener bookmarkClickHandler, OnClickListener customTabsBackClickHandler) {
    assert !mInitializedWithNative;
    mTabModelSelector = tabModelSelector;
    mToolbar.getLocationBar().updateVisualsForState();
    mToolbar.getLocationBar().setUrlToPageUrl();
    mToolbar.setBrowserControlsVisibilityDelegate(controlsVisibilityDelegate);
    mToolbar.setOnTabSwitcherClickHandler(tabSwitcherClickHandler);
    mToolbar.setOnNewTabClickHandler(newTabClickHandler);
    mToolbar.setBookmarkClickHandler(bookmarkClickHandler);
    mToolbar.setCustomTabCloseClickHandler(customTabsBackClickHandler);
    mToolbar.setLayoutUpdateHost(layoutDriver);
    mToolbarModel.initializeWithNative();
    mToolbar.addOnAttachStateChangeListener(new OnAttachStateChangeListener() {

        @Override
        public void onViewDetachedFromWindow(View v) {
            Context context = mToolbar.getContext();
            HomepageManager.getInstance(context).removeListener(mHomepageStateListener);
            mTabModelSelector.removeObserver(mTabModelSelectorObserver);
            for (TabModel model : mTabModelSelector.getModels()) {
                model.removeObserver(mTabModelObserver);
            }
            if (mBookmarkBridge != null) {
                mBookmarkBridge.destroy();
                mBookmarkBridge = null;
            }
            if (mTemplateUrlObserver != null) {
                TemplateUrlService.getInstance().removeObserver(mTemplateUrlObserver);
                mTemplateUrlObserver = null;
            }
            // Remove all previously attached observers from the FindToolbarManager.
            if (mFindToolbarManager != null) {
                for (FindToolbarObserver observer : mFindToolbarObservers) {
                    mFindToolbarManager.removeObserver(observer);
                }
            }
            if (overviewModeBehavior != null) {
                overviewModeBehavior.removeOverviewModeObserver(mOverviewModeObserver);
            }
            if (layoutDriver != null) {
                layoutDriver.removeSceneChangeObserver(mSceneChangeObserver);
            }
        }

        @Override
        public void onViewAttachedToWindow(View v) {
            // As we have only just registered for notifications, any that were sent prior to
            // this may have been missed.
            // Calling refreshSelectedTab in case we missed the initial selection notification.
            refreshSelectedTab();
        }
    });
    mFindToolbarManager = findToolbarManager;
    assert controlsVisibilityDelegate != null;
    mControlsVisibilityDelegate = controlsVisibilityDelegate;
    mNativeLibraryReady = false;
    // Add observers to the FindToolbarManager.
    if (mFindToolbarManager != null) {
        for (FindToolbarObserver observer : mFindToolbarObservers) {
            mFindToolbarManager.addObserver(observer);
        }
    }
    if (overviewModeBehavior != null) {
        overviewModeBehavior.addOverviewModeObserver(mOverviewModeObserver);
    }
    if (layoutDriver != null)
        layoutDriver.addSceneChangeObserver(mSceneChangeObserver);
    onNativeLibraryReady();
    mInitializedWithNative = true;
}
Also used : Context(android.content.Context) FindToolbarObserver(org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver) OnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener) View(android.view.View) TabModel(org.chromium.chrome.browser.tabmodel.TabModel)

Aggregations

FindToolbarObserver (org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver)3 Context (android.content.Context)2 View (android.view.View)2 OnAttachStateChangeListener (android.view.View.OnAttachStateChangeListener)2 TabModel (org.chromium.chrome.browser.tabmodel.TabModel)2