summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI/src/com/android/documentsui/model
diff options
context:
space:
mode:
Diffstat (limited to 'packages/DocumentsUI/src/com/android/documentsui/model')
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/model/Document.java23
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/model/Root.java6
2 files changed, 21 insertions, 8 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/Document.java b/packages/DocumentsUI/src/com/android/documentsui/model/Document.java
index 95922b4..cf45394 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/Document.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/Document.java
@@ -21,6 +21,7 @@ import android.database.Cursor;
import android.net.Uri;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.DocumentColumns;
+import android.provider.DocumentsContract.Documents;
import com.android.documentsui.RecentsProvider;
@@ -87,7 +88,7 @@ public class Document {
final String mimeType = getCursorString(cursor, DocumentColumns.MIME_TYPE);
final String displayName = getCursorString(cursor, DocumentColumns.DISPLAY_NAME);
final int flags = getCursorInt(cursor, DocumentColumns.FLAGS)
- & DocumentsContract.FLAG_SUPPORTS_THUMBNAIL;
+ & Documents.FLAG_SUPPORTS_THUMBNAIL;
final String summary = getCursorString(cursor, DocumentColumns.SUMMARY);
final long size = getCursorLong(cursor, DocumentColumns.SIZE);
@@ -127,19 +128,19 @@ public class Document {
}
public boolean isCreateSupported() {
- return (flags & DocumentsContract.FLAG_SUPPORTS_CREATE) != 0;
+ return (flags & Documents.FLAG_SUPPORTS_CREATE) != 0;
}
public boolean isSearchSupported() {
- return (flags & DocumentsContract.FLAG_SUPPORTS_SEARCH) != 0;
+ return (flags & Documents.FLAG_SUPPORTS_SEARCH) != 0;
}
public boolean isThumbnailSupported() {
- return (flags & DocumentsContract.FLAG_SUPPORTS_THUMBNAIL) != 0;
+ return (flags & Documents.FLAG_SUPPORTS_THUMBNAIL) != 0;
}
public boolean isDirectory() {
- return DocumentsContract.MIME_TYPE_DIRECTORY.equals(mimeType);
+ return Documents.MIME_TYPE_DIR.equals(mimeType);
}
private static String getCursorString(Cursor cursor, String columnName) {
@@ -147,9 +148,19 @@ public class Document {
return (index != -1) ? cursor.getString(index) : null;
}
+ /**
+ * Missing or null values are returned as -1.
+ */
private static long getCursorLong(Cursor cursor, String columnName) {
final int index = cursor.getColumnIndex(columnName);
- return (index != -1) ? cursor.getLong(index) : 0;
+ if (index == -1) return -1;
+ final String value = cursor.getString(index);
+ if (value == null) return -1;
+ try {
+ return Long.parseLong(value);
+ } catch (NumberFormatException e) {
+ return -1;
+ }
}
private static int getCursorInt(Cursor cursor, String columnName) {
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/Root.java b/packages/DocumentsUI/src/com/android/documentsui/model/Root.java
index 0880731..23d16df 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/Root.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/Root.java
@@ -24,7 +24,9 @@ import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.DocumentsContract;
+import android.provider.DocumentsContract.Documents;
import android.provider.DocumentsContract.RootColumns;
+import android.provider.DocumentsContract.Roots;
import com.android.documentsui.R;
@@ -47,7 +49,7 @@ public class Root {
final PackageManager pm = context.getPackageManager();
final Root root = new Root();
root.rootId = null;
- root.rootType = DocumentsContract.ROOT_TYPE_SHORTCUT;
+ root.rootType = Roots.ROOT_TYPE_SHORTCUT;
root.uri = null;
root.icon = context.getResources().getDrawable(R.drawable.ic_dir);
root.title = context.getString(R.string.root_recent);
@@ -65,7 +67,7 @@ public class Root {
root.rootId = cursor.getString(cursor.getColumnIndex(RootColumns.ROOT_ID));
root.rootType = cursor.getInt(cursor.getColumnIndex(RootColumns.ROOT_TYPE));
root.uri = DocumentsContract.buildDocumentUri(
- info.providerInfo.authority, root.rootId, DocumentsContract.ROOT_DOC_ID);
+ info.providerInfo.authority, root.rootId, Documents.DOC_ID_ROOT);
root.icon = info.providerInfo.loadIcon(pm);
root.title = info.providerInfo.loadLabel(pm).toString();
root.availableBytes = cursor.getLong(cursor.getColumnIndex(RootColumns.AVAILABLE_BYTES));