summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2019-02-08 18:34:33 -0800
committerSudheer Shanka <sudheersai@google.com>2019-02-08 18:45:37 -0800
commit72d30a6afac4028c6a4e9b868cf16a9718906bfa (patch)
treeff7ac702139893144f57efee9afe816975f144c7 /src
parent3062128e4e2c9b664d17928c3d651487b6a669d4 (diff)
downloadandroid_packages_providers_DownloadProvider-72d30a6afac4028c6a4e9b868cf16a9718906bfa.tar.gz
android_packages_providers_DownloadProvider-72d30a6afac4028c6a4e9b868cf16a9718906bfa.tar.bz2
android_packages_providers_DownloadProvider-72d30a6afac4028c6a4e9b868cf16a9718906bfa.zip
Fix NPE in DownloadStorageProvider.
Fixes: 123017716 Test: manual Change-Id: Ia2f9f57051dd8b91261e35d0bdf6d1023f4c8523
Diffstat (limited to 'src')
-rw-r--r--src/com/android/providers/downloads/DownloadStorageProvider.java13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/com/android/providers/downloads/DownloadStorageProvider.java b/src/com/android/providers/downloads/DownloadStorageProvider.java
index bd031158..40e38d2c 100644
--- a/src/com/android/providers/downloads/DownloadStorageProvider.java
+++ b/src/com/android/providers/downloads/DownloadStorageProvider.java
@@ -646,11 +646,10 @@ public class DownloadStorageProvider extends FileSystemProvider {
}
}
- Long size = cursor.getLong(
+ // size could be -1 which indicates that download hasn't started.
+ final long size = cursor.getLong(
cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
- if (size == -1) {
- size = null;
- }
+
String localFilePath = cursor.getString(
cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_LOCAL_FILENAME));
@@ -676,7 +675,7 @@ public class DownloadStorageProvider extends FileSystemProvider {
case DownloadManager.STATUS_RUNNING:
final long progress = cursor.getLong(cursor.getColumnIndexOrThrow(
DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR));
- if (size != null) {
+ if (size > 0) {
String percent =
NumberFormat.getPercentInstance().format((double) progress / size);
summary = getContext().getString(R.string.download_running_percent, percent);
@@ -729,9 +728,7 @@ public class DownloadStorageProvider extends FileSystemProvider {
row.add(Document.COLUMN_DOCUMENT_ID, docId);
row.add(Document.COLUMN_DISPLAY_NAME, displayName);
row.add(Document.COLUMN_SUMMARY, summary);
- if (size != -1) {
- row.add(Document.COLUMN_SIZE, size);
- }
+ row.add(Document.COLUMN_SIZE, size == -1 ? null : size);
row.add(Document.COLUMN_MIME_TYPE, mimeType);
row.add(Document.COLUMN_FLAGS, flags);
// Incomplete downloads get a null timestamp. This prevents thrashy UI when a bunch of