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

Unified Diff: chrome/browser/android/download/download_controller.cc

Issue 2516823002: [Downloads] Consolidate Java DownloadItem/Info creation (Closed)
Patch Set: Rebased Created 4 years, 1 month 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
« no previous file with comments | « chrome/browser/BUILD.gn ('k') | chrome/browser/android/download/download_manager_service.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/download/download_controller.cc
diff --git a/chrome/browser/android/download/download_controller.cc b/chrome/browser/android/download/download_controller.cc
index 3574b54bce1eeef86b373e3e3216e1b84f7a4458..b90f310a7ee54d36a469ac3fbdba5da41087979e 100644
--- a/chrome/browser/android/download/download_controller.cc
+++ b/chrome/browser/android/download/download_controller.cc
@@ -15,9 +15,9 @@
#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
#include "base/synchronization/lock.h"
-#include "base/time/time.h"
#include "chrome/browser/android/download/chrome_download_delegate.h"
#include "chrome/browser/android/download/dangerous_download_infobar_delegate.h"
+#include "chrome/browser/android/download/download_manager_service.h"
#include "chrome/browser/infobars/infobar_service.h"
#include "chrome/browser/ui/android/view_android_helper.h"
#include "content/public/browser/browser_context.h"
@@ -260,40 +260,12 @@ void DownloadController::OnDownloadUpdated(DownloadItem* item) {
}
JNIEnv* env = base::android::AttachCurrentThread();
- ScopedJavaLocalRef<jstring> jguid =
- ConvertUTF8ToJavaString(env, item->GetGuid());
- ScopedJavaLocalRef<jstring> jurl =
- ConvertUTF8ToJavaString(env, item->GetURL().spec());
- ScopedJavaLocalRef<jstring> jmime_type =
- ConvertUTF8ToJavaString(env, item->GetMimeType());
- ScopedJavaLocalRef<jstring> jpath =
- ConvertUTF8ToJavaString(env, item->GetTargetFilePath().value());
- ScopedJavaLocalRef<jstring> jfilename = ConvertUTF8ToJavaString(
- env, item->GetTargetFilePath().BaseName().value());
- ScopedJavaLocalRef<jstring> joriginal_url =
- ConvertUTF8ToJavaString(env, item->GetOriginalUrl().spec());
- ScopedJavaLocalRef<jstring> jreferrer_url =
- ConvertUTF8ToJavaString(env, item->GetReferrerUrl().spec());
-
- ui::PageTransition base_transition =
- ui::PageTransitionStripQualifier(item->GetTransitionType());
- bool user_initiated =
- item->GetTransitionType() & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR ||
- base_transition == ui::PAGE_TRANSITION_TYPED ||
- base_transition == ui::PAGE_TRANSITION_AUTO_BOOKMARK ||
- base_transition == ui::PAGE_TRANSITION_GENERATED ||
- base_transition == ui::PAGE_TRANSITION_RELOAD ||
- base_transition == ui::PAGE_TRANSITION_KEYWORD;
- bool hasUserGesture = item->HasUserGesture() || user_initiated;
+ ScopedJavaLocalRef<jobject> j_item =
+ DownloadManagerService::CreateJavaDownloadInfo(env, item);
switch (item->GetState()) {
case DownloadItem::IN_PROGRESS: {
- base::TimeDelta time_delta;
- item->TimeRemaining(&time_delta);
Java_DownloadController_onDownloadUpdated(
- env, GetJavaObject()->Controller(env), jurl, jmime_type, jfilename,
- jpath, item->GetReceivedBytes(), jguid, item->PercentComplete(),
- time_delta.InMilliseconds(), hasUserGesture, item->IsPaused(),
- item->GetBrowserContext()->IsOffTheRecord());
+ env, GetJavaObject()->Controller(env), j_item);
break;
}
case DownloadItem::COMPLETE:
@@ -303,15 +275,13 @@ void DownloadController::OnDownloadUpdated(DownloadItem* item) {
// Call onDownloadCompleted
Java_DownloadController_onDownloadCompleted(
- env, GetJavaObject()->Controller(env), jurl, jmime_type, jfilename,
- jpath, item->GetReceivedBytes(), jguid, joriginal_url, jreferrer_url,
- hasUserGesture);
+ env, GetJavaObject()->Controller(env), j_item);
DownloadController::RecordDownloadCancelReason(
DownloadController::CANCEL_REASON_NOT_CANCELED);
break;
case DownloadItem::CANCELLED:
Java_DownloadController_onDownloadCancelled(
- env, GetJavaObject()->Controller(env), jguid);
+ env, GetJavaObject()->Controller(env), j_item);
DownloadController::RecordDownloadCancelReason(
DownloadController::CANCEL_REASON_OTHER_NATIVE_RESONS);
break;
@@ -320,10 +290,8 @@ void DownloadController::OnDownloadUpdated(DownloadItem* item) {
// NETWORK_FAILED or NETWORK_DISCONNECTED error. Download should auto
// resume in this case.
Java_DownloadController_onDownloadInterrupted(
- env, GetJavaObject()->Controller(env), jurl, jmime_type, jfilename,
- jpath, item->GetReceivedBytes(), jguid, item->CanResume(),
- IsInterruptedDownloadAutoResumable(item),
- item->GetBrowserContext()->IsOffTheRecord());
+ env, GetJavaObject()->Controller(env), j_item,
+ IsInterruptedDownloadAutoResumable(item));
item->RemoveObserver(this);
break;
case DownloadItem::MAX_DOWNLOAD_STATE:
« no previous file with comments | « chrome/browser/BUILD.gn ('k') | chrome/browser/android/download/download_manager_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698