Merge "Add Recordings folder to support recording type" into sc-dev
diff --git a/core/api/current.txt b/core/api/current.txt
index 77b5032..f82e000 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -30609,6 +30609,7 @@
field public static String DIRECTORY_NOTIFICATIONS;
field public static String DIRECTORY_PICTURES;
field public static String DIRECTORY_PODCASTS;
+ field @NonNull public static String DIRECTORY_RECORDINGS;
field public static String DIRECTORY_RINGTONES;
field public static String DIRECTORY_SCREENSHOTS;
field public static final String MEDIA_BAD_REMOVAL = "bad_removal";
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index 518e29d..6295124 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -18,6 +18,7 @@
import android.Manifest;
import android.annotation.NonNull;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.app.AppGlobals;
@@ -836,6 +837,21 @@
public static String DIRECTORY_AUDIOBOOKS = "Audiobooks";
/**
+ * Standard directory in which to place any audio files which are
+ * recordings.
+ */
+ @NonNull
+ // The better way is that expose a static method getRecordingDirectories.
+ // But since it's an existing API surface and developers already
+ // used to DIRECTORY_* constants, we should keep using this pattern
+ // for consistency. We use SuppressLint here to avoid exposing a final
+ // field. A final field will prevent us from ever changing the value of
+ // DIRECTORY_RECORDINGS. Not that it's likely that we will ever need to
+ // change it, but it's better to have such option.
+ @SuppressLint({"MutableBareField", "AllUpper"})
+ public static String DIRECTORY_RECORDINGS = "Recordings";
+
+ /**
* List of standard storage directories.
* <p>
* Each of its values have its own constant:
@@ -851,6 +867,7 @@
* <li>{@link #DIRECTORY_DCIM}
* <li>{@link #DIRECTORY_DOCUMENTS}
* <li>{@link #DIRECTORY_AUDIOBOOKS}
+ * <li>{@link #DIRECTORY_RECORDINGS}
* </ul>
* @hide
*/
@@ -866,6 +883,7 @@
DIRECTORY_DCIM,
DIRECTORY_DOCUMENTS,
DIRECTORY_AUDIOBOOKS,
+ DIRECTORY_RECORDINGS,
};
/**
@@ -891,6 +909,7 @@
/** {@hide} */ public static final int HAS_DCIM = 1 << 8;
/** {@hide} */ public static final int HAS_DOCUMENTS = 1 << 9;
/** {@hide} */ public static final int HAS_AUDIOBOOKS = 1 << 10;
+ /** {@hide} */ public static final int HAS_RECORDINGS = 1 << 11;
/** {@hide} */ public static final int HAS_ANDROID = 1 << 16;
/** {@hide} */ public static final int HAS_OTHER = 1 << 17;
@@ -921,6 +940,7 @@
else if (DIRECTORY_DCIM.equals(name)) res |= HAS_DCIM;
else if (DIRECTORY_DOCUMENTS.equals(name)) res |= HAS_DOCUMENTS;
else if (DIRECTORY_AUDIOBOOKS.equals(name)) res |= HAS_AUDIOBOOKS;
+ else if (DIRECTORY_RECORDINGS.equals(name)) res |= HAS_RECORDINGS;
else if (DIRECTORY_ANDROID.equals(name)) res |= HAS_ANDROID;
else res |= HAS_OTHER;
}