| 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);
|
|
|