diff options
author | Jeff Sharkey <jsharkey@android.com> | 2017-08-02 13:37:31 -0600 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2017-08-02 13:37:33 -0600 |
commit | ae89e55bb059b37922a3745b1b45ac79a71a05be (patch) | |
tree | 485a18fbea548673d85563495d5a4afb4dea218b /src/com/android/providers/downloads/DownloadNotifier.java | |
parent | 707be5fd34b6a095f070252b173d659233a8f03f (diff) | |
download | android_packages_providers_DownloadProvider-ae89e55bb059b37922a3745b1b45ac79a71a05be.tar.gz android_packages_providers_DownloadProvider-ae89e55bb059b37922a3745b1b45ac79a71a05be.tar.bz2 android_packages_providers_DownloadProvider-ae89e55bb059b37922a3745b1b45ac79a71a05be.zip |
Download UI interactions should be in foreground.
Otherwise these interactions risk getting stuck in a delayed
background broadcast queue, and we'd re-post notifications based on
stale data that hasn't been updated yet.
Test: builds, boots
Bug: 64098529
Change-Id: I93302e5a4380bb0ac8977153c3afaa02bcc36c84
Diffstat (limited to 'src/com/android/providers/downloads/DownloadNotifier.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadNotifier.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/DownloadNotifier.java b/src/com/android/providers/downloads/DownloadNotifier.java index 4da0d2a5..d38aa755 100644 --- a/src/com/android/providers/downloads/DownloadNotifier.java +++ b/src/com/android/providers/downloads/DownloadNotifier.java @@ -229,6 +229,7 @@ public class DownloadNotifier { final Uri uri = new Uri.Builder().scheme("active-dl").appendPath(tag).build(); final Intent intent = new Intent(Constants.ACTION_LIST, uri, mContext, DownloadReceiver.class); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); intent.putExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS, downloadIds); builder.setContentIntent(PendingIntent.getBroadcast(mContext, @@ -241,6 +242,7 @@ public class DownloadNotifier { final Uri cancelUri = new Uri.Builder().scheme("cancel-dl").appendPath(tag).build(); final Intent cancelIntent = new Intent(Constants.ACTION_CANCEL, cancelUri, mContext, DownloadReceiver.class); + cancelIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); cancelIntent.putExtra(DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_IDS, downloadIds); cancelIntent.putExtra(DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_NOTIFICATION_TAG, tag); @@ -268,6 +270,7 @@ public class DownloadNotifier { } final Intent intent = new Intent(action, uri, mContext, DownloadReceiver.class); + intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); intent.putExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS, getDownloadIds(cursor, cluster)); builder.setContentIntent(PendingIntent.getBroadcast(mContext, @@ -275,6 +278,7 @@ public class DownloadNotifier { final Intent hideIntent = new Intent(Constants.ACTION_HIDE, uri, mContext, DownloadReceiver.class); + hideIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); builder.setDeleteIntent(PendingIntent.getBroadcast(mContext, 0, hideIntent, 0)); } |