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 03b911186723783ba3d773f5579e7ef45d6ab85d..ac8eeba393dc92a0edff590d968da5f00ac3fdd2 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
@@ -10,6 +10,7 @@ import android.app.Activity; |
import android.app.ActivityManager; |
import android.app.ActivityManager.AppTask; |
import android.app.ActivityManager.RecentTaskInfo; |
+import android.app.NotificationManager; |
import android.content.Context; |
import android.content.Intent; |
import android.content.pm.PackageManager; |
@@ -51,6 +52,7 @@ import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; |
import org.chromium.chrome.browser.IntentHandler.TabOpenType; |
import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; |
import org.chromium.chrome.browser.bookmarks.BookmarkUtils; |
+import org.chromium.chrome.browser.browseractions.BrowserActionsContextMenuItemDelegate; |
import org.chromium.chrome.browser.compositor.CompositorViewHolder; |
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChangeReason; |
import org.chromium.chrome.browser.compositor.layouts.Layout; |
@@ -83,6 +85,7 @@ import org.chromium.chrome.browser.metrics.UmaUtils; |
import org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity; |
import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; |
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; |
+import org.chromium.chrome.browser.notifications.NotificationConstants; |
import org.chromium.chrome.browser.ntp.ChromeHomeNewTabPage; |
import org.chromium.chrome.browser.ntp.NativePageAssassin; |
import org.chromium.chrome.browser.ntp.NewTabPage; |
@@ -566,6 +569,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
super.onStartWithNative(); |
// If we don't have a current tab, show the overview mode. |
if (getActivityTab() == null) mLayoutManager.showOverview(false); |
David Trainor- moved to gerrit
2017/05/17 16:48:01
Can you add {} around this now?
ltian
2017/05/19 21:02:47
Done.
|
+ else if (isStartedByBrowserActions() && shouldToggleOverview()) { |
+ toggleOverview(); |
+ } |
+ cancelBrowserActionsNotification(); |
David Trainor- moved to gerrit
2017/05/17 16:48:02
Can this hit a static method on that delegate or s
ltian
2017/05/19 21:02:47
Done.
|
resetSavedInstanceState(); |
} |
@@ -619,6 +626,31 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
} |
} |
+ private void cancelBrowserActionsNotification() { |
+ NotificationManager notificationManager = |
+ (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); |
+ notificationManager.cancel(NotificationConstants.NOTIFICATION_ID_BROWSER_ACTIONS); |
+ } |
+ |
+ private boolean isStartedByBrowserActions() { |
+ if (BrowserActionsContextMenuItemDelegate.ACTION_BROWSER_ACTIONS_OPEN_IN_BACKGROUND.equals( |
+ getIntent().getAction())) { |
+ return true; |
+ } |
+ return false; |
+ } |
+ |
+ private boolean shouldToggleOverview() { |
David Trainor- moved to gerrit
2017/05/17 16:48:01
Can we just call this setInitialOverviewState() an
ltian
2017/05/19 21:02:47
Done.
|
+ boolean isSingleUrl = IntentUtils.safeGetBooleanExtra( |
+ getIntent(), BrowserActionsContextMenuItemDelegate.EXTRA_IS_SINGLE_URL, false); |
+ if (isSingleUrl && mLayoutManager.overviewVisible()) { |
+ return true; |
+ } else if (!isSingleUrl && !mLayoutManager.overviewVisible()) { |
+ return true; |
+ } |
+ return false; |
+ } |
+ |
private void initializeUI() { |
try { |
TraceEvent.begin("ChromeTabbedActivity.initializeUI"); |