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

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

Issue 1635753002: Introduce Queue-Based Notification Snackbars (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add VisibleForTesting to a method Created 4 years, 10 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUndoController.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.content.Context; 8 import android.content.Context;
9 import android.util.Pair; 9 import android.util.Pair;
10 10
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 /** 45 /**
46 * Called to display the download succeeded snackbar. 46 * Called to display the download succeeded snackbar.
47 * 47 *
48 * @param downloadInfo Info of the download. 48 * @param downloadInfo Info of the download.
49 * @param downloadId Id of the download. 49 * @param downloadId Id of the download.
50 * @param canBeResolved Whether the download can be resolved to any activity . 50 * @param canBeResolved Whether the download can be resolved to any activity .
51 */ 51 */
52 public void onDownloadSucceeded( 52 public void onDownloadSucceeded(
53 DownloadInfo downloadInfo, final long downloadId, boolean canBeResol ved) { 53 DownloadInfo downloadInfo, final long downloadId, boolean canBeResol ved) {
54 if (getSnackbarManager() == null) return; 54 if (getSnackbarManager() == null) return;
55 Snackbar snackbar = Snackbar.make(mContext.getString( 55 Snackbar snackbar = Snackbar.make(
56 R.string.download_succeeded_message, downloadInfo.getFileName()) , this); 56 mContext.getString(R.string.download_succeeded_message, download Info.getFileName()),
57 this, Snackbar.TYPE_NOTIFICATION);
57 // TODO(qinmin): Coalesce snackbars if multiple downloads finish at the same time. 58 // TODO(qinmin): Coalesce snackbars if multiple downloads finish at the same time.
58 snackbar.setDuration(SNACKBAR_DURATION_IN_MILLISECONDS).setSingleLine(fa lse); 59 snackbar.setDuration(SNACKBAR_DURATION_IN_MILLISECONDS).setSingleLine(fa lse);
59 Pair<DownloadInfo, Long> actionData = null; 60 Pair<DownloadInfo, Long> actionData = null;
60 if (canBeResolved) { 61 if (canBeResolved) {
61 actionData = Pair.create(downloadInfo, downloadId); 62 actionData = Pair.create(downloadInfo, downloadId);
62 } 63 }
63 // Show downloads app if the download cannot be resolved to any activity . 64 // Show downloads app if the download cannot be resolved to any activity .
64 snackbar.setAction( 65 snackbar.setAction(
65 mContext.getString(R.string.open_downloaded_label), actionData); 66 mContext.getString(R.string.open_downloaded_label), actionData);
66 getSnackbarManager().showSnackbar(snackbar); 67 getSnackbarManager().showSnackbar(snackbar);
67 } 68 }
68 69
69 /** 70 /**
70 * Called to display the download failed snackbar. 71 * Called to display the download failed snackbar.
71 * 72 *
72 * @param filename File name of the failed download. 73 * @param filename File name of the failed download.
73 * @param whether to show all downloads in case the failure is caused by dup licated files. 74 * @param whether to show all downloads in case the failure is caused by dup licated files.
74 */ 75 */
75 public void onDownloadFailed(String errorMessage, boolean showAllDownloads) { 76 public void onDownloadFailed(String errorMessage, boolean showAllDownloads) {
76 if (getSnackbarManager() == null) return; 77 if (getSnackbarManager() == null) return;
77 // TODO(qinmin): Coalesce snackbars if multiple downloads finish at the same time. 78 // TODO(qinmin): Coalesce snackbars if multiple downloads finish at the same time.
78 Snackbar snackbar = Snackbar.make(errorMessage, this) 79 Snackbar snackbar = Snackbar.make(errorMessage, this, Snackbar.TYPE_NOTI FICATION)
79 .setSingleLine(false) 80 .setSingleLine(false)
80 .setDuration(SNACKBAR_DURATION_IN_MILLISECONDS); 81 .setDuration(SNACKBAR_DURATION_IN_MILLISECONDS);
81 if (showAllDownloads) { 82 if (showAllDownloads) {
82 snackbar.setAction( 83 snackbar.setAction(
83 mContext.getString(R.string.open_downloaded_label), 84 mContext.getString(R.string.open_downloaded_label),
84 null); 85 null);
85 } 86 }
86 getSnackbarManager().showSnackbar(snackbar); 87 getSnackbarManager().showSnackbar(snackbar);
87 } 88 }
88 89
89 public SnackbarManager getSnackbarManager() { 90 public SnackbarManager getSnackbarManager() {
90 Activity activity = ApplicationStatus.getLastTrackedFocusedActivity(); 91 Activity activity = ApplicationStatus.getLastTrackedFocusedActivity();
91 if (activity != null && ApplicationStatus.hasVisibleActivities() 92 if (activity != null && ApplicationStatus.hasVisibleActivities()
92 && activity instanceof SnackbarManager.SnackbarManageable) { 93 && activity instanceof SnackbarManager.SnackbarManageable) {
93 return ((SnackbarManager.SnackbarManageable) activity).getSnackbarMa nager(); 94 return ((SnackbarManager.SnackbarManageable) activity).getSnackbarMa nager();
94 } 95 }
95 return null; 96 return null;
96 } 97 }
97 } 98 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUndoController.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698