Index: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java |
index 541036dd13853a5e8ced4ffaef0a182e2f112b7f..5c0249782a0cec2d7777d7486b754b247d3a8844 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java |
@@ -1159,14 +1159,18 @@ public class DownloadManagerService extends BroadcastReceiver implements |
@Override |
protected void onPostExecute(Intent intent) { |
- if (intent == null || !ExternalNavigationDelegateImpl.resolveIntent(intent, true) |
- || !DownloadUtils.fireOpenIntentForDownload(context, intent) |
- || !hasDownloadManagerService()) { |
+ boolean didLaunchIntent = intent != null |
+ && ExternalNavigationDelegateImpl.resolveIntent(intent, true) |
+ && DownloadUtils.fireOpenIntentForDownload(context, intent); |
+ |
+ if (!didLaunchIntent) { |
openDownloadsPage(context); |
- } else { |
- DownloadManagerService service = |
- DownloadManagerService.getDownloadManagerService(); |
- service.updateLastAccessTime(downloadGuid, isOffTheRecord); |
+ return; |
+ } |
+ |
+ if (didLaunchIntent && hasDownloadManagerService()) { |
+ DownloadManagerService.getDownloadManagerService().updateLastAccessTime( |
+ downloadGuid, isOffTheRecord); |
} |
} |
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); |