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

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: Update based on David's comment and rebase 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 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");

Powered by Google App Engine
This is Rietveld 408576698