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

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

Issue 2861863002: offline_items_collection : Added helper class to determine progress (Closed)
Patch Set: comments 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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.ui; 5 package org.chromium.chrome.browser.download.ui;
6 6
7 import android.content.ComponentName; 7 import android.content.ComponentName;
8 import android.content.Context; 8 import android.content.Context;
9 import android.text.TextUtils; 9 import android.text.TextUtils;
10 10
11 import org.chromium.base.ContextUtils; 11 import org.chromium.base.ContextUtils;
12 import org.chromium.base.metrics.RecordHistogram; 12 import org.chromium.base.metrics.RecordHistogram;
13 import org.chromium.chrome.R; 13 import org.chromium.chrome.R;
14 import org.chromium.chrome.browser.download.DownloadInfo; 14 import org.chromium.chrome.browser.download.DownloadInfo;
15 import org.chromium.chrome.browser.download.DownloadItem; 15 import org.chromium.chrome.browser.download.DownloadItem;
16 import org.chromium.chrome.browser.download.DownloadNotificationService; 16 import org.chromium.chrome.browser.download.DownloadNotificationService;
17 import org.chromium.chrome.browser.download.DownloadUtils; 17 import org.chromium.chrome.browser.download.DownloadUtils;
18 import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadIte m; 18 import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadIte m;
19 import org.chromium.chrome.browser.widget.DateDividedAdapter.TimedItem; 19 import org.chromium.chrome.browser.widget.DateDividedAdapter.TimedItem;
20 import org.chromium.components.offline_items_collection.OfflineItem.Progress;
21 import org.chromium.components.offline_items_collection.OfflineItemProgressUnit;
20 import org.chromium.components.url_formatter.UrlFormatter; 22 import org.chromium.components.url_formatter.UrlFormatter;
21 import org.chromium.content_public.browser.DownloadState; 23 import org.chromium.content_public.browser.DownloadState;
22 import org.chromium.ui.widget.Toast; 24 import org.chromium.ui.widget.Toast;
23 25
24 import java.io.File; 26 import java.io.File;
25 import java.util.Collections; 27 import java.util.Collections;
26 import java.util.HashMap; 28 import java.util.HashMap;
27 import java.util.Locale; 29 import java.util.Locale;
28 import java.util.Map; 30 import java.util.Map;
29 31
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 143
142 /** @return {@link DownloadFilter} that represents the file type. */ 144 /** @return {@link DownloadFilter} that represents the file type. */
143 public abstract int getFilterType(); 145 public abstract int getFilterType();
144 146
145 /** @return The mime type or null if the item doesn't have one. */ 147 /** @return The mime type or null if the item doesn't have one. */
146 public abstract String getMimeType(); 148 public abstract String getMimeType();
147 149
148 /** @return The file extension type. See list at the top of the file. */ 150 /** @return The file extension type. See list at the top of the file. */
149 public abstract int getFileExtensionType(); 151 public abstract int getFileExtensionType();
150 152
151 /** @return How much of the download has completed, or -1 if there is no pro gress. */ 153 /** @return How much of the download has completed, or null if there is no p rogress. */
152 abstract int getDownloadProgress(); 154 abstract Progress getDownloadProgress();
153 155
154 /** @return Whether the download has an unknown file size. */ 156 /** @return Whether the download has an unknown file size. */
155 abstract boolean isIndeterminate(); 157 abstract boolean isIndeterminate();
156 158
157 /** @return String indicating the status of the download. */ 159 /** @return String indicating the status of the download. */
158 abstract String getStatusString(); 160 abstract String getStatusString();
159 161
160 /** @return Whether the file for this item has been removed through an exter nal action. */ 162 /** @return Whether the file for this item has been removed through an exter nal action. */
161 abstract boolean hasBeenExternallyRemoved(); 163 abstract boolean hasBeenExternallyRemoved();
162 164
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 extension.toLowerCase(Locale.getDefault())); 300 extension.toLowerCase(Locale.getDefault()));
299 } else { 301 } else {
300 mFileExtensionType = FILE_EXTENSION_OTHER; 302 mFileExtensionType = FILE_EXTENSION_OTHER;
301 } 303 }
302 } 304 }
303 305
304 return mFileExtensionType; 306 return mFileExtensionType;
305 } 307 }
306 308
307 @Override 309 @Override
308 public int getDownloadProgress() { 310 public Progress getDownloadProgress() {
309 return mItem.getDownloadInfo().getPercentCompleted(); 311 return mItem.getDownloadInfo().getProgress();
310 } 312 }
311 313
312 @Override 314 @Override
313 public boolean isIndeterminate() { 315 public boolean isIndeterminate() {
314 return mItem.isIndeterminate(); 316 return mItem.isIndeterminate();
315 } 317 }
316 318
317 @Override 319 @Override
318 public String getStatusString() { 320 public String getStatusString() {
319 return DownloadUtils.getStatusString(mItem); 321 return DownloadUtils.getStatusString(mItem);
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 } 401 }
400 402
401 return true; 403 return true;
402 } 404 }
403 405
404 /** @return whether the given DownloadItem is visibly different from the current one. */ 406 /** @return whether the given DownloadItem is visibly different from the current one. */
405 private boolean isNewItemVisiblyDifferent(DownloadItem newItem) { 407 private boolean isNewItemVisiblyDifferent(DownloadItem newItem) {
406 DownloadInfo oldInfo = mItem.getDownloadInfo(); 408 DownloadInfo oldInfo = mItem.getDownloadInfo();
407 DownloadInfo newInfo = newItem.getDownloadInfo(); 409 DownloadInfo newInfo = newItem.getDownloadInfo();
408 410
409 if (oldInfo.getPercentCompleted() != newInfo.getPercentCompleted()) return true; 411 if (oldInfo.getProgress().equals(newInfo.getProgress())) return true ;
410 if (oldInfo.getBytesReceived() != newInfo.getBytesReceived()) return true; 412 if (oldInfo.getBytesReceived() != newInfo.getBytesReceived()) return true;
411 if (oldInfo.state() != newInfo.state()) return true; 413 if (oldInfo.state() != newInfo.state()) return true;
412 if (oldInfo.isPaused() != newInfo.isPaused()) return true; 414 if (oldInfo.isPaused() != newInfo.isPaused()) return true;
413 if (!TextUtils.equals(oldInfo.getFilePath(), newInfo.getFilePath())) return true; 415 if (!TextUtils.equals(oldInfo.getFilePath(), newInfo.getFilePath())) return true;
414 416
415 return false; 417 return false;
416 } 418 }
417 } 419 }
418 420
419 /** Wraps a {@link OfflinePageDownloadItem}. */ 421 /** Wraps a {@link OfflinePageDownloadItem}. */
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 public String getMimeType() { 488 public String getMimeType() {
487 return "text/html"; 489 return "text/html";
488 } 490 }
489 491
490 @Override 492 @Override
491 public int getFileExtensionType() { 493 public int getFileExtensionType() {
492 return FILE_EXTENSION_OTHER; 494 return FILE_EXTENSION_OTHER;
493 } 495 }
494 496
495 @Override 497 @Override
496 public int getDownloadProgress() { 498 public Progress getDownloadProgress() {
497 // Only completed offline page downloads are shown. 499 // Only completed offline page downloads are shown.
498 return 100; 500 return new Progress(100, 100L, OfflineItemProgressUnit.PERCENTAGE);
499 } 501 }
500 502
501 @Override 503 @Override
502 public boolean isIndeterminate() { 504 public boolean isIndeterminate() {
503 return true; 505 return true;
504 } 506 }
505 507
506 @Override 508 @Override
507 public String getStatusString() { 509 public String getStatusString() {
508 Context context = ContextUtils.getApplicationContext(); 510 Context context = ContextUtils.getApplicationContext();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 == org.chromium.components.offlinepages.downloads.DownloadSt ate.COMPLETE; 580 == org.chromium.components.offlinepages.downloads.DownloadSt ate.COMPLETE;
579 } 581 }
580 582
581 @Override 583 @Override
582 public boolean isPaused() { 584 public boolean isPaused() {
583 return mItem.getDownloadState() 585 return mItem.getDownloadState()
584 == org.chromium.components.offlinepages.downloads.DownloadSt ate.PAUSED; 586 == org.chromium.components.offlinepages.downloads.DownloadSt ate.PAUSED;
585 } 587 }
586 } 588 }
587 } 589 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698