am ce05cbc5: am 6e19feb4: Merge "Treat dates near epoch as unknown." into klp-dev

* commit 'ce05cbc5ec52417f1f927be2b3d9b93e0881a4d9':
  Treat dates near epoch as unknown.
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
index 9328b33..189e985 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -73,7 +73,11 @@
         mIdToRoot = Maps.newHashMap();
         mIdToPath = Maps.newHashMap();
 
-        // TODO: support multiple storage devices
+        // TODO: support multiple storage devices, requiring that volume serial
+        // number be burned into rootId so we can identify files from different
+        // volumes. currently we only use a static rootId for emulated storage,
+        // since that storage never changes.
+        if (!Environment.isExternalStorageEmulated()) return true;
 
         try {
             final String rootId = "primary";
@@ -182,8 +186,13 @@
         row.add(Document.COLUMN_DISPLAY_NAME, displayName);
         row.add(Document.COLUMN_SIZE, file.length());
         row.add(Document.COLUMN_MIME_TYPE, mimeType);
-        row.add(Document.COLUMN_LAST_MODIFIED, file.lastModified());
         row.add(Document.COLUMN_FLAGS, flags);
+
+        // Only publish dates reasonably after epoch
+        long lastModified = file.lastModified();
+        if (lastModified > 31536000000L) {
+            row.add(Document.COLUMN_LAST_MODIFIED, lastModified);
+        }
     }
 
     @Override