summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Kwa <kenobi@google.com>2016-01-08 15:38:55 -0800
committerBen Kwa <kenobi@google.com>2016-01-08 16:28:47 -0800
commit66cfb5c7a836bbb043ce60480c3626faae42b89c (patch)
tree87832a07f2b5c012528ffb66301b9484bb6b6e7d
parent346dce7cd3caef58dd70766cb919e65e5cdee4fe (diff)
downloadandroid_packages_providers_DownloadProvider-66cfb5c7a836bbb043ce60480c3626faae42b89c.tar.gz
android_packages_providers_DownloadProvider-66cfb5c7a836bbb043ce60480c3626faae42b89c.tar.bz2
android_packages_providers_DownloadProvider-66cfb5c7a836bbb043ce60480c3626faae42b89c.zip
Assign a null timestamp to active downloads.
This makes it such that ordering downloads by timestamp doesn't continually shuffle stuff around if the UI happens to be sorting files by mod time. BUG=26417297 Change-Id: Ibe51513ee5d27ff959f8e7a2a5bad7244c3a731f
-rw-r--r--src/com/android/providers/downloads/DownloadStorageProvider.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/DownloadStorageProvider.java b/src/com/android/providers/downloads/DownloadStorageProvider.java
index c8d942c8..c626b4f9 100644
--- a/src/com/android/providers/downloads/DownloadStorageProvider.java
+++ b/src/com/android/providers/downloads/DownloadStorageProvider.java
@@ -372,8 +372,12 @@ public class DownloadStorageProvider extends DocumentsProvider {
row.add(Document.COLUMN_SUMMARY, summary);
row.add(Document.COLUMN_SIZE, size);
row.add(Document.COLUMN_MIME_TYPE, mimeType);
- row.add(Document.COLUMN_LAST_MODIFIED, lastModified);
row.add(Document.COLUMN_FLAGS, flags);
+ // Incomplete downloads get a null timestamp. This prevents thrashy UI when a bunch of
+ // active downloads get sorted by mod time.
+ if (status != DownloadManager.STATUS_RUNNING) {
+ row.add(Document.COLUMN_LAST_MODIFIED, lastModified);
+ }
final String localFilePath = cursor.getString(
cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_LOCAL_FILENAME));