| Index: chrome/android/java_staging/src/org/chromium/chrome/browser/widget/emptybackground/EmptyBackgroundViewWrapper.java
|
| diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/widget/emptybackground/EmptyBackgroundViewWrapper.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/widget/emptybackground/EmptyBackgroundViewWrapper.java
|
| deleted file mode 100644
|
| index 46890ebccbefca4a2daae3843aa8567c3eaf2561..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java_staging/src/org/chromium/chrome/browser/widget/emptybackground/EmptyBackgroundViewWrapper.java
|
| +++ /dev/null
|
| @@ -1,158 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.chrome.browser.widget.emptybackground;
|
| -
|
| -import android.app.Activity;
|
| -import android.view.View;
|
| -import android.view.View.OnAttachStateChangeListener;
|
| -import android.view.ViewStub;
|
| -
|
| -import org.chromium.chrome.R;
|
| -import org.chromium.chrome.browser.Tab;
|
| -import org.chromium.chrome.browser.appmenu.AppMenuHandler;
|
| -import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
|
| -import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver;
|
| -import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
|
| -import org.chromium.chrome.browser.tabmodel.TabCreatorManager.TabCreator;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| -import org.chromium.chrome.browser.tabmodel.TabModelObserver;
|
| -import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| -import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
|
| -
|
| -import java.util.List;
|
| -
|
| -/**
|
| - * Handler for {@link EmptyBackgroundViewTablet}.
|
| - */
|
| -public class EmptyBackgroundViewWrapper {
|
| - private final Activity mActivity;
|
| - private final TabModelSelector mTabModelSelector;
|
| - private final TabCreator mTabCreator;
|
| - private final TabModelObserver mTabModelObserver;
|
| - private final TabModelSelectorObserver mTabModelSelectorObserver;
|
| - private final OverviewModeBehavior mOverviewModeBehavior;
|
| -
|
| - private EmptyBackgroundViewTablet mBackgroundView;
|
| - private final AppMenuHandler mMenuHandler;
|
| -
|
| - /**
|
| - * Creates a {@link EmptyBackgroundViewWrapper} instance that will lazily inflate.
|
| - * @param selector A {@link TabModelSelector} that will be used to query system
|
| - * state.
|
| - * @param tabCreator A {@link TabCreator} that will be used to open the New Tab Page.
|
| - * @param activity An {@link Activity} that represents a parent of the
|
| - * {@link android.view.ViewStub}.
|
| - * @param menuHandler A {@link AppMenuHandler} to handle menu touch events.
|
| - * @param overviewModeBehavior A {@link OverviewModeBehavior} instance to detect when the app
|
| - * is in overview mode.
|
| - */
|
| - public EmptyBackgroundViewWrapper(TabModelSelector selector, TabCreator tabCreator,
|
| - Activity activity, AppMenuHandler menuHandler,
|
| - OverviewModeBehavior overviewModeBehavior) {
|
| - mActivity = activity;
|
| - mMenuHandler = menuHandler;
|
| - mTabModelSelector = selector;
|
| - mTabCreator = tabCreator;
|
| - mOverviewModeBehavior = overviewModeBehavior;
|
| - mTabModelObserver = new EmptyTabModelObserver() {
|
| - @Override
|
| - public void didAddTab(Tab tab, TabLaunchType type) {
|
| - updateEmptyContainerState();
|
| - }
|
| -
|
| - @Override
|
| - public void tabClosureUndone(Tab tab) {
|
| - updateEmptyContainerState();
|
| - }
|
| -
|
| - @Override
|
| - public void didCloseTab(Tab tab) {
|
| - updateEmptyContainerState();
|
| - }
|
| -
|
| - @Override
|
| - public void tabPendingClosure(Tab tab) {
|
| - updateEmptyContainerState();
|
| - }
|
| -
|
| - @Override
|
| - public void allTabsPendingClosure(List<Integer> tabIds) {
|
| - updateEmptyContainerState();
|
| - }
|
| - };
|
| - mTabModelSelectorObserver = new EmptyTabModelSelectorObserver() {
|
| - @Override
|
| - public void onTabModelSelected(TabModel newModel, TabModel oldModel) {
|
| - updateEmptyContainerState();
|
| - }
|
| - };
|
| - }
|
| -
|
| - /**
|
| - * Initialize the wrapper to listen for the proper notifications.
|
| - */
|
| - public void initialize() {
|
| - for (TabModel model : mTabModelSelector.getModels()) model.addObserver(mTabModelObserver);
|
| - mTabModelSelector.addObserver(mTabModelSelectorObserver);
|
| - }
|
| -
|
| - /**
|
| - * Unregister all dependencies and listeners.
|
| - */
|
| - public void uninitialize() {
|
| - for (TabModel model : mTabModelSelector.getModels()) {
|
| - model.removeObserver(mTabModelObserver);
|
| - }
|
| - mTabModelSelector.removeObserver(mTabModelSelectorObserver);
|
| - }
|
| -
|
| - private void inflateViewIfNecessary() {
|
| - if (mBackgroundView != null) return;
|
| -
|
| - mBackgroundView = (EmptyBackgroundViewTablet) ((ViewStub) mActivity.findViewById(
|
| - R.id.empty_container_stub)).inflate();
|
| - mBackgroundView.setTabModelSelector(mTabModelSelector);
|
| - mBackgroundView.setTabCreator(mTabCreator);
|
| - mBackgroundView.setMenuOnTouchListener(mMenuHandler);
|
| - mBackgroundView.addOnAttachStateChangeListener(new OnAttachStateChangeListener() {
|
| - @Override
|
| - public void onViewDetachedFromWindow(View v) {
|
| - uninitialize();
|
| - }
|
| -
|
| - @Override
|
| - public void onViewAttachedToWindow(View v) {
|
| - }
|
| - });
|
| - }
|
| -
|
| - private void updateEmptyContainerState() {
|
| - boolean showEmptyBackground = shouldShowEmptyContainer();
|
| - if (showEmptyBackground) {
|
| - inflateViewIfNecessary();
|
| - }
|
| -
|
| - if (mBackgroundView != null) {
|
| - mBackgroundView.setEmptyContainerState(showEmptyBackground);
|
| - }
|
| - }
|
| -
|
| - private boolean shouldShowEmptyContainer() {
|
| - TabModel model = mTabModelSelector.getModel(false);
|
| - if (model == null) {
|
| - return false;
|
| - }
|
| - boolean isIncognitoEmpty = mTabModelSelector.getModel(true).getCount() == 0;
|
| - boolean incognitoSelected = mTabModelSelector.isIncognitoSelected();
|
| -
|
| - // Only show the empty container if:
|
| - // 1. There are no tabs in the normal TabModel AND
|
| - // 2. Overview mode is not showing AND
|
| - // 3. We're in the normal TabModel OR there are no tabs present in either model
|
| - return model.getCount() == 0 && !mOverviewModeBehavior.overviewVisible()
|
| - && (!incognitoSelected || isIncognitoEmpty);
|
| - }
|
| -}
|
|
|