Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java

Issue 2876863002: [Android] Show notification for opening new tab in background of Browser Actions (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 39d7efbd2ad352ac4cf08fefb778311d62ae803b..8f79710f5053a6f968ea2ba389953852b3df36c9 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);
+ else if (isStartedByBrowserActions() && shouldToggleOverview()) {
+ toggleOverview();
+ }
+ cancelBrowserActionsNotification();
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() {
+ 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");

Powered by Google App Engine
This is Rietveld 408576698