use of org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver in project AndroidChromium by JackyAndroid.
the class IncognitoToggleButtonTablet method setTabModelSelector.
/**
* Sets the {@link TabModelSelector} that will be queried for information about the state of
* the system.
* @param selector A {@link TabModelSelector} that represents the state of the system.
*/
public void setTabModelSelector(TabModelSelector selector) {
mTabModelSelector = selector;
if (selector != null) {
updateButtonResource();
updateButtonVisibility();
mTabModelSelectorObserver = new EmptyTabModelSelectorObserver() {
@Override
public void onTabModelSelected(TabModel newModel, TabModel oldModel) {
updateButtonResource();
}
};
mTabModelSelector.addObserver(mTabModelSelectorObserver);
mTabModelObserver = new EmptyTabModelObserver() {
@Override
public void didAddTab(Tab tab, TabLaunchType type) {
updateButtonVisibility();
}
@Override
public void willCloseTab(Tab tab, boolean animate) {
updateButtonVisibility();
}
@Override
public void tabRemoved(Tab tab) {
updateButtonVisibility();
}
};
for (TabModel model : mTabModelSelector.getModels()) {
model.addObserver(mTabModelObserver);
}
}
}
use of org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver in project AndroidChromium by JackyAndroid.
the class CompositorViewHolder method onFinishNativeInitialization.
/**
* Sets the appropriate objects this class should represent.
* @param tabModelSelector The {@link TabModelSelector} this View should hold and
* represent.
* @param tabCreatorManager The {@link TabCreatorManager} for this view.
* @param tabContentManager The {@link TabContentManager} for the tabs.
* @param androidContentContainer The {@link ViewGroup} the {@link LayoutManager} should bind
* Android content to.
* @param contextualSearchManager A {@link ContextualSearchManagementDelegate} instance.
* @param readerModeManager A {@link ReaderModeManagerDelegate} instance.
*/
public void onFinishNativeInitialization(TabModelSelector tabModelSelector, TabCreatorManager tabCreatorManager, TabContentManager tabContentManager, ViewGroup androidContentContainer, ContextualSearchManagementDelegate contextualSearchManager, ReaderModeManagerDelegate readerModeManager) {
assert mLayoutManager != null;
mLayoutManager.init(tabModelSelector, tabCreatorManager, tabContentManager, androidContentContainer, contextualSearchManager, readerModeManager, mCompositorView.getResourceManager().getDynamicResourceLoader());
mTabModelSelector = tabModelSelector;
tabModelSelector.addObserver(new EmptyTabModelSelectorObserver() {
@Override
public void onChange() {
onContentChanged();
}
@Override
public void onNewTabCreated(Tab tab) {
initializeTab(tab);
}
});
mLayerTitleCache.setTabModelSelector(mTabModelSelector);
onContentChanged();
}
use of org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver in project AndroidChromium by JackyAndroid.
the class LayoutManagerChrome method init.
@Override
public void init(TabModelSelector selector, TabCreatorManager creator, TabContentManager content, ViewGroup androidContentContainer, ContextualSearchManagementDelegate contextualSearchDelegate, ReaderModeManagerDelegate readerModeDelegate, DynamicResourceLoader dynamicResourceLoader) {
// TODO: TitleCache should be a part of the ResourceManager.
mTitleCache = mHost.getTitleCache();
// Initialize Layouts
mToolbarSwipeLayout.setTabModelSelector(selector, content);
mOverviewListLayout.setTabModelSelector(selector, content);
if (mOverviewLayout != null)
mOverviewLayout.setTabModelSelector(selector, content);
super.init(selector, creator, content, androidContentContainer, contextualSearchDelegate, readerModeDelegate, dynamicResourceLoader);
mTabModelSelectorObserver = new EmptyTabModelSelectorObserver() {
@Override
public void onTabModelSelected(TabModel newModel, TabModel oldModel) {
tabModelSwitched(newModel.isIncognito());
}
};
selector.addObserver(mTabModelSelectorObserver);
selector.setCloseAllTabsDelegate(this);
mTabModelObserver = createTabModelObserver();
for (TabModel model : selector.getModels()) model.addObserver(mTabModelObserver);
mTabSelectorTabObserver = new TabModelSelectorTabObserver(selector) {
@Override
public void onLoadStarted(Tab tab, boolean toDifferentDocument) {
tabLoadStarted(tab.getId(), tab.isIncognito());
}
@Override
public void onLoadStopped(Tab tab, boolean toDifferentDocument) {
tabLoadFinished(tab.getId(), tab.isIncognito());
}
@Override
public void onPageLoadStarted(Tab tab, String url) {
tabPageLoadStarted(tab.getId(), tab.isIncognito());
}
@Override
public void onPageLoadFinished(Tab tab) {
tabPageLoadFinished(tab.getId(), tab.isIncognito());
}
@Override
public void onPageLoadFailed(Tab tab, int errorCode) {
tabPageLoadFinished(tab.getId(), tab.isIncognito());
}
@Override
public void onCrash(Tab tab, boolean sadTabShown) {
tabPageLoadFinished(tab.getId(), tab.isIncognito());
}
};
}
Aggregations