Create "Home" dir instead of "home" to match other default dirs.
Add DIRECTORY_HOME to android.os.Environment...use that for dir name,
so we don't use a localized name when creating directory.
Mark all of the DIRECTORY_* fields final.
Bug: 26814341
Change-Id: I5a11bcb180674c619de2f5ce9ed598521e60cc25
diff --git a/api/current.txt b/api/current.txt
index 24776c1..e318463 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -28516,6 +28516,7 @@
field public static java.lang.String DIRECTORY_DCIM;
field public static java.lang.String DIRECTORY_DOCUMENTS;
field public static java.lang.String DIRECTORY_DOWNLOADS;
+ field public static java.lang.String DIRECTORY_HOME;
field public static java.lang.String DIRECTORY_MOVIES;
field public static java.lang.String DIRECTORY_MUSIC;
field public static java.lang.String DIRECTORY_NOTIFICATIONS;
diff --git a/api/system-current.txt b/api/system-current.txt
index 2ab45cb..4482592 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -30543,6 +30543,7 @@
field public static java.lang.String DIRECTORY_DCIM;
field public static java.lang.String DIRECTORY_DOCUMENTS;
field public static java.lang.String DIRECTORY_DOWNLOADS;
+ field public static java.lang.String DIRECTORY_HOME;
field public static java.lang.String DIRECTORY_MOVIES;
field public static java.lang.String DIRECTORY_MUSIC;
field public static java.lang.String DIRECTORY_NOTIFICATIONS;
diff --git a/api/test-current.txt b/api/test-current.txt
index 60274d7..3f00224 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -28525,6 +28525,7 @@
field public static java.lang.String DIRECTORY_DCIM;
field public static java.lang.String DIRECTORY_DOCUMENTS;
field public static java.lang.String DIRECTORY_DOWNLOADS;
+ field public static java.lang.String DIRECTORY_HOME;
field public static java.lang.String DIRECTORY_MOVIES;
field public static java.lang.String DIRECTORY_MUSIC;
field public static java.lang.String DIRECTORY_NOTIFICATIONS;
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index c776ef8..e841dfe 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -479,6 +479,11 @@
public static String DIRECTORY_DOCUMENTS = "Documents";
/**
+ * Standard directory in which user managed files are stored.
+ */
+ public static String DIRECTORY_HOME = "Home";
+
+ /**
* List of standard storage directories.
* <p>
* Each of its values have its own constant:
@@ -493,6 +498,7 @@
* <li>{@link #DIRECTORY_DOWNLOADS}
* <li>{@link #DIRECTORY_DCIM}
* <li>{@link #DIRECTORY_DOCUMENTS}
+ * <li>{@link #DIRECTORY_HOME}
* </ul>
* @hide
*/
@@ -506,7 +512,8 @@
DIRECTORY_MOVIES,
DIRECTORY_DOWNLOADS,
DIRECTORY_DCIM,
- DIRECTORY_DOCUMENTS
+ DIRECTORY_DOCUMENTS,
+ DIRECTORY_HOME
};
/**
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
index 1bfc19c..56e5a9b 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -27,6 +27,7 @@
import android.net.Uri;
import android.os.Bundle;
import android.os.CancellationSignal;
+import android.os.Environment;
import android.os.FileObserver;
import android.os.FileUtils;
import android.os.Handler;
@@ -208,8 +209,10 @@
root.flags |= Root.FLAG_SUPPORTS_CREATE;
}
+ // Create the "Home" directory on disk, but don't the localized root.title
+ // since the directories shouldn't be localized.
root.visiblePath = new File(
- primaryVolume.getPathForUser(userId), root.rootId);
+ primaryVolume.getPathForUser(userId), Environment.DIRECTORY_HOME);
root.path = new File(
primaryVolume.getInternalPathForUser(userId), root.rootId);
try {