diff --git a/api/current.txt b/api/current.txt index 98f04e8479340..c7f0a75dcc537 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28536,6 +28536,7 @@ package android.os { 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 ad874ff121202..3c5e59e6a4c3c 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -30563,6 +30563,7 @@ package android.os { 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 5e6ce398f1f7b..3e755ae299c71 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -28545,6 +28545,7 @@ package android.os { 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 c776ef82d5262..e841dfe2b2a3a 100644 --- a/core/java/android/os/Environment.java +++ b/core/java/android/os/Environment.java @@ -478,6 +478,11 @@ public class Environment { */ 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. *

@@ -493,6 +498,7 @@ public class Environment { *

  • {@link #DIRECTORY_DOWNLOADS} *
  • {@link #DIRECTORY_DCIM} *
  • {@link #DIRECTORY_DOCUMENTS} + *
  • {@link #DIRECTORY_HOME} * * @hide */ @@ -506,7 +512,8 @@ public class Environment { 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 1bfc19c101eb3..56e5a9b6c58db 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.graphics.Point; 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 @@ public class ExternalStorageProvider extends DocumentsProvider { 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 {