Undeprecate storage directory APIs

Android 10 did not support file path operations for apps in
scoped storage. But Android 11 and above do support file path
operations for such apps.

Undeprecate getExternalStorageDirectory() and
getExternalStoragePublicDirectory() to reflect the current level of
support.

BUG: 153562415
Test: m
Change-Id: Ibd93ca07a0c08b11a82b70dca8c2cd7d49600354
(cherry picked from commit 74bf4e682d)
This commit is contained in:
Nandana Dutt
2021-06-18 11:48:19 +01:00
parent e1dfa92bf1
commit 9f77f7f31b
2 changed files with 2 additions and 12 deletions

View File

@@ -31070,8 +31070,8 @@ package android.os {
ctor public Environment();
method public static java.io.File getDataDirectory();
method public static java.io.File getDownloadCacheDirectory();
method @Deprecated public static java.io.File getExternalStorageDirectory();
method @Deprecated public static java.io.File getExternalStoragePublicDirectory(String);
method public static java.io.File getExternalStorageDirectory();
method public static java.io.File getExternalStoragePublicDirectory(String);
method public static String getExternalStorageState();
method public static String getExternalStorageState(java.io.File);
method @NonNull public static java.io.File getRootDirectory();

View File

@@ -189,13 +189,11 @@ public class Environment {
}
@UnsupportedAppUsage
@Deprecated
public File getExternalStorageDirectory() {
return getExternalDirs()[0];
}
@UnsupportedAppUsage
@Deprecated
public File getExternalStoragePublicDirectory(String type) {
return buildExternalStoragePublicDirs(type)[0];
}
@@ -698,11 +696,7 @@ public class Environment {
*
* @see #getExternalStorageState()
* @see #isExternalStorageRemovable()
* @deprecated Alternatives such as {@link Context#getExternalFilesDir(String)},
* {@link MediaStore}, or {@link Intent#ACTION_OPEN_DOCUMENT} offer better
* performance.
*/
@Deprecated
public static File getExternalStorageDirectory() {
throwIfUserRequired();
return sCurrentUser.getExternalDirs()[0];
@@ -1009,11 +1003,7 @@ public class Environment {
* @return Returns the File path for the directory. Note that this directory
* may not yet exist, so you must make sure it exists before using
* it such as with {@link File#mkdirs File.mkdirs()}.
* @deprecated Alternatives such as {@link Context#getExternalFilesDir(String)},
* {@link MediaStore}, or {@link Intent#ACTION_OPEN_DOCUMENT} offer better
* performance.
*/
@Deprecated
public static File getExternalStoragePublicDirectory(String type) {
throwIfUserRequired();
return sCurrentUser.buildExternalStoragePublicDirs(type)[0];