summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadStorageProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/downloads/DownloadStorageProvider.java')
-rw-r--r--src/com/android/providers/downloads/DownloadStorageProvider.java30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/com/android/providers/downloads/DownloadStorageProvider.java b/src/com/android/providers/downloads/DownloadStorageProvider.java
index 04cbf090..f1cd8fa9 100644
--- a/src/com/android/providers/downloads/DownloadStorageProvider.java
+++ b/src/com/android/providers/downloads/DownloadStorageProvider.java
@@ -41,7 +41,7 @@ import java.io.FileNotFoundException;
* contents.
*/
public class DownloadStorageProvider extends DocumentsProvider {
- private static final String DOC_ID_ROOT = Constants.STORAGE_DOC_ID_ROOT;
+ private static final String DOC_ID_ROOT = Constants.STORAGE_ROOT_ID;
private static final String[] DEFAULT_ROOT_PROJECTION = new String[] {
Root.COLUMN_ROOT_ID, Root.COLUMN_ROOT_TYPE, Root.COLUMN_FLAGS, Root.COLUMN_ICON,
@@ -51,7 +51,8 @@ public class DownloadStorageProvider extends DocumentsProvider {
private static final String[] DEFAULT_DOCUMENT_PROJECTION = new String[] {
Document.COLUMN_DOCUMENT_ID, Document.COLUMN_MIME_TYPE, Document.COLUMN_DISPLAY_NAME,
- Document.COLUMN_LAST_MODIFIED, Document.COLUMN_FLAGS, Document.COLUMN_SIZE,
+ Document.COLUMN_SUMMARY, Document.COLUMN_LAST_MODIFIED, Document.COLUMN_FLAGS,
+ Document.COLUMN_SIZE,
};
private DownloadManager mDm;
@@ -214,33 +215,35 @@ public class DownloadStorageProvider extends DocumentsProvider {
if (mimeType == null) {
mimeType = "application/octet-stream";
}
- Long size = null;
+ Long size = cursor.getLong(
+ cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
+ if (size == -1) {
+ size = null;
+ }
final int status = cursor.getInt(
cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS));
switch (status) {
case DownloadManager.STATUS_SUCCESSFUL:
- size = cursor.getLong(
- cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
- if (size == -1) {
- size = null;
- }
break;
case DownloadManager.STATUS_PAUSED:
- mimeType = null;
summary = getContext().getString(R.string.download_queued);
break;
case DownloadManager.STATUS_PENDING:
- mimeType = null;
summary = getContext().getString(R.string.download_queued);
break;
case DownloadManager.STATUS_RUNNING:
- mimeType = null;
- summary = getContext().getString(R.string.download_running);
+ final long progress = cursor.getLong(cursor.getColumnIndexOrThrow(
+ DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR));
+ if (size != null) {
+ final long percent = progress * 100 / size;
+ summary = getContext().getString(R.string.download_running_percent, percent);
+ } else {
+ summary = getContext().getString(R.string.download_running);
+ }
break;
case DownloadManager.STATUS_FAILED:
default:
- mimeType = null;
summary = getContext().getString(R.string.download_error);
break;
}
@@ -256,6 +259,7 @@ public class DownloadStorageProvider extends DocumentsProvider {
final RowBuilder row = result.newRow();
row.offer(Document.COLUMN_DOCUMENT_ID, docId);
row.offer(Document.COLUMN_DISPLAY_NAME, displayName);
+ row.offer(Document.COLUMN_SUMMARY, summary);
row.offer(Document.COLUMN_SIZE, size);
row.offer(Document.COLUMN_MIME_TYPE, mimeType);
row.offer(Document.COLUMN_LAST_MODIFIED, lastModified);