summaryrefslogtreecommitdiffstats
path: root/src/com
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 /src/com
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
Diffstat (limited to 'src/com')
-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));