fix: Use DCIM folder when album is not provided on Android. (#185)

fixes #141

Co-authored-by: Antonio Gallo <antgallo@amazon.com>
This commit is contained in:
Antonio Gallo
2020-05-26 13:16:54 +03:00
committed by GitHub
co-authored by Antonio Gallo
parent 4c448619d3
commit b5352cb8be
2 changed files with 17 additions and 8 deletions
@@ -129,16 +129,22 @@ public class CameraRollModule extends ReactContextBaseJavaModule {
File source = new File(mUri.getPath());
FileChannel input = null, output = null;
try {
File environment;
if ("mov".equals(mOptions.getString("type"))) {
environment = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MOVIES);
boolean isAlbumPresent = !"".equals(mOptions.getString("album"));
final File environment;
// Media is not saved into an album when using Environment.DIRECTORY_DCIM.
if (isAlbumPresent) {
if ("video".equals(mOptions.getString("type"))) {
environment = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);
} else {
environment = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
}
} else {
environment = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
environment = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
}
File exportDir;
if (!"".equals(mOptions.getString("album"))) {
if (isAlbumPresent) {
exportDir = new File(environment, mOptions.getString("album"));
if (!exportDir.exists() && !exportDir.mkdirs()) {
mPromise.reject(ERROR_UNABLE_TO_LOAD, "Album Directory not created. Did you request WRITE_EXTERNAL_STORAGE?");