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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSnackbarController.java

Issue 2596973002: [Android] Update CCT/Herb menu item (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.download; 5 package org.chromium.chrome.browser.download;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.app.NotificationManager; 8 import android.app.NotificationManager;
9 import android.content.Context; 9 import android.content.Context;
10 10
11 import org.chromium.base.ApplicationStatus; 11 import org.chromium.base.ApplicationStatus;
12 import org.chromium.base.BuildInfo;
12 import org.chromium.chrome.R; 13 import org.chromium.chrome.R;
14 import org.chromium.chrome.browser.customtabs.CustomTabActivity;
13 import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBri dge; 15 import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBri dge;
14 import org.chromium.chrome.browser.snackbar.Snackbar; 16 import org.chromium.chrome.browser.snackbar.Snackbar;
15 import org.chromium.chrome.browser.snackbar.SnackbarManager; 17 import org.chromium.chrome.browser.snackbar.SnackbarManager;
16 18
17 /** 19 /**
18 * Class for displaying a snackbar when a download completes. 20 * Class for displaying a snackbar when a download completes.
19 */ 21 */
20 public class DownloadSnackbarController implements SnackbarManager.SnackbarContr oller { 22 public class DownloadSnackbarController implements SnackbarManager.SnackbarContr oller {
21 public static final int INVALID_NOTIFICATION_ID = -1; 23 public static final int INVALID_NOTIFICATION_ID = -1;
22 private static final int SNACKBAR_DURATION_IN_MILLISECONDS = 5000; 24 private static final int SNACKBAR_DURATION_IN_MILLISECONDS = 5000;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 * Called to display the download succeeded snackbar. 69 * Called to display the download succeeded snackbar.
68 * 70 *
69 * @param downloadInfo Info of the download. 71 * @param downloadInfo Info of the download.
70 * @param notificationId Notification Id of the successful download. 72 * @param notificationId Notification Id of the successful download.
71 * @param downloadId Id of the download from Android DownloadManager. 73 * @param downloadId Id of the download from Android DownloadManager.
72 * @param canBeResolved Whether the download can be resolved to any activity . 74 * @param canBeResolved Whether the download can be resolved to any activity .
73 */ 75 */
74 public void onDownloadSucceeded( 76 public void onDownloadSucceeded(
75 DownloadInfo downloadInfo, int notificationId, long downloadId, bool ean canBeResolved) { 77 DownloadInfo downloadInfo, int notificationId, long downloadId, bool ean canBeResolved) {
76 if (getSnackbarManager() == null) return; 78 if (getSnackbarManager() == null) return;
77 Snackbar snackbar = Snackbar.make( 79 Snackbar snackbar;
78 mContext.getString(R.string.download_succeeded_message, download Info.getFileName()), 80 if (getLastTrackedFocusedActivity() instanceof CustomTabActivity) {
79 this, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_DOWNLOAD_SUCCEEDE D); 81 String packageLabel = BuildInfo.getPackageLabel(getLastTrackedFocuse dActivity());
82 snackbar = Snackbar.make(mContext.getString(R.string.download_succee ded_message,
83 downloadInfo.getFileName(), package Label),
84 this, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_DOWNLOAD_SUCC EEDED);
85 } else {
86 snackbar = Snackbar.make(mContext.getString(R.string.download_succee ded_message_default,
87 downloadInfo.getFileName()),
88 this, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_DOWNLOAD_SUCC EEDED);
89 }
80 // TODO(qinmin): Coalesce snackbars if multiple downloads finish at the same time. 90 // TODO(qinmin): Coalesce snackbars if multiple downloads finish at the same time.
81 snackbar.setDuration(SNACKBAR_DURATION_IN_MILLISECONDS).setSingleLine(fa lse); 91 snackbar.setDuration(SNACKBAR_DURATION_IN_MILLISECONDS).setSingleLine(fa lse);
82 ActionDataInfo info = null; 92 ActionDataInfo info = null;
83 if (canBeResolved || downloadInfo.isOfflinePage()) { 93 if (canBeResolved || downloadInfo.isOfflinePage()) {
84 info = new ActionDataInfo(downloadInfo, notificationId, downloadId); 94 info = new ActionDataInfo(downloadInfo, notificationId, downloadId);
85 } 95 }
86 // Show downloads app if the download cannot be resolved to any activity . 96 // Show downloads app if the download cannot be resolved to any activity .
87 snackbar.setAction( 97 snackbar.setAction(
88 mContext.getString(R.string.open_downloaded_label), info); 98 mContext.getString(R.string.open_downloaded_label), info);
89 getSnackbarManager().showSnackbar(snackbar); 99 getSnackbarManager().showSnackbar(snackbar);
(...skipping 14 matching lines...) Expand all
104 .setSingleLine(false) 114 .setSingleLine(false)
105 .setDuration(SNACKBAR_DURATION_IN_MILLISECONDS); 115 .setDuration(SNACKBAR_DURATION_IN_MILLISECONDS);
106 if (showAllDownloads) { 116 if (showAllDownloads) {
107 snackbar.setAction( 117 snackbar.setAction(
108 mContext.getString(R.string.open_downloaded_label), 118 mContext.getString(R.string.open_downloaded_label),
109 null); 119 null);
110 } 120 }
111 getSnackbarManager().showSnackbar(snackbar); 121 getSnackbarManager().showSnackbar(snackbar);
112 } 122 }
113 123
124 public Activity getLastTrackedFocusedActivity() {
Ted C 2016/12/28 00:53:47 I would just call this getActivity() and I think i
ltian 2016/12/29 16:31:56 Done.
125 return ApplicationStatus.getLastTrackedFocusedActivity();
126 }
127
114 public SnackbarManager getSnackbarManager() { 128 public SnackbarManager getSnackbarManager() {
115 Activity activity = ApplicationStatus.getLastTrackedFocusedActivity(); 129 Activity activity = getLastTrackedFocusedActivity();
116 if (activity != null && ApplicationStatus.hasVisibleActivities() 130 if (activity != null && ApplicationStatus.hasVisibleActivities()
117 && activity instanceof SnackbarManager.SnackbarManageable) { 131 && activity instanceof SnackbarManager.SnackbarManageable) {
118 return ((SnackbarManager.SnackbarManageable) activity).getSnackbarMa nager(); 132 return ((SnackbarManager.SnackbarManageable) activity).getSnackbarMa nager();
119 } 133 }
120 return null; 134 return null;
121 } 135 }
122 } 136 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698