| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| index 4d7f29bcc236d03f5ad8256594400875b7c45070..1e6fe13b49554c0f4bc62348cf8cc8c780296d81 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
| @@ -4,6 +4,7 @@
|
|
|
| package org.chromium.chrome.browser;
|
|
|
| +import android.app.Activity;
|
| import android.app.ActivityManager;
|
| import android.app.SearchManager;
|
| import android.content.Context;
|
| @@ -172,6 +173,22 @@ public class ChromeTabbedActivity extends ChromeActivity implements ActionBarDel
|
| // Time at which an intent was received and handled.
|
| private long mIntentHandlingTimeMs = 0;
|
|
|
| + private class TabbedAssistStatusHandler extends AssistStatusHandler {
|
| + public TabbedAssistStatusHandler(Activity activity) {
|
| + super(activity);
|
| + }
|
| +
|
| + @Override
|
| + public boolean isAssistSupported() {
|
| + // If we are in the tab switcher and any incognito tabs are present, disable assist.
|
| + if (isInOverviewMode() && mTabModelSelectorImpl != null
|
| + && mTabModelSelectorImpl.getModel(true).getCount() > 0) {
|
| + return false;
|
| + }
|
| + return super.isAssistSupported();
|
| + }
|
| + }
|
| +
|
| @Override
|
| public void initializeCompositor() {
|
| try {
|
| @@ -346,6 +363,11 @@ public class ChromeTabbedActivity extends ChromeActivity implements ActionBarDel
|
| return (ChromeTabCreator) tabCreator;
|
| }
|
|
|
| + @Override
|
| + protected AssistStatusHandler createAssistStatusHandler() {
|
| + return new TabbedAssistStatusHandler(this);
|
| + }
|
| +
|
| private void handleDebugIntent(Intent intent) {
|
| if (ACTION_CLOSE_TABS.equals(intent.getAction())) {
|
| getTabModelSelector().closeAllTabs();
|
| @@ -1264,7 +1286,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ActionBarDel
|
|
|
| @Override
|
| public boolean isInOverviewMode() {
|
| - return mLayoutManager.overviewVisible();
|
| + return mLayoutManager != null && mLayoutManager.overviewVisible();
|
| }
|
|
|
| @Override
|
| @@ -1273,22 +1295,25 @@ public class ChromeTabbedActivity extends ChromeActivity implements ActionBarDel
|
| }
|
|
|
| @Override
|
| - public void onOverviewModeStartedShowing(boolean showToolbar) {
|
| - if (mFindToolbarManager != null) mFindToolbarManager.hideToolbar();
|
| - }
|
| -
|
| - @Override
|
| public void onSceneChange(Layout layout) {
|
| super.onSceneChange(layout);
|
| if (!layout.shouldDisplayContentOverlay()) mTabModelSelectorImpl.onTabsViewShown();
|
| }
|
|
|
| @Override
|
| - public void onOverviewModeFinishedShowing() { }
|
| + public void onOverviewModeStartedShowing(boolean showToolbar) {
|
| + if (mFindToolbarManager != null) mFindToolbarManager.hideToolbar();
|
| + if (getAssistStatusHandler() != null) getAssistStatusHandler().updateAssistState();
|
| + }
|
| +
|
| + @Override
|
| + public void onOverviewModeFinishedShowing() {}
|
|
|
| @Override
|
| public void onOverviewModeStartedHiding(boolean showToolbar, boolean delayAnimation) {}
|
|
|
| @Override
|
| - public void onOverviewModeFinishedHiding() {}
|
| + public void onOverviewModeFinishedHiding() {
|
| + if (getAssistStatusHandler() != null) getAssistStatusHandler().updateAssistState();
|
| + }
|
| }
|
|
|