Skip to content

Commit 8ca5aea

Browse files
author
Ron Radtke
committed
adds paths
1 parent a1ba9eb commit 8ca5aea

File tree

3 files changed

+41
-4
lines changed

3 files changed

+41
-4
lines changed

android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtil.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.facebook.react.modules.network.OkHttpClientProvider;
2929

3030
import java.io.File;
31+
import java.util.HashMap;
3132
import java.util.Map;
3233
import java.util.concurrent.LinkedBlockingQueue;
3334
import java.util.concurrent.ThreadPoolExecutor;
@@ -88,7 +89,11 @@ public String getName() {
8889

8990
@Override
9091
public Map<String, Object> getConstants() {
91-
return ReactNativeBlobUtilFS.getSystemfolders(this.getReactApplicationContext());
92+
Map<String, Object> res = new HashMap<>();
93+
res.putAll(ReactNativeBlobUtilFS.getSystemfolders(this.getReactApplicationContext()));
94+
res.putAll(ReactNativeBlobUtilFS.getLegacySystemfolders(this.getReactApplicationContext()));
95+
96+
return res;
9297
}
9398

9499
@ReactMethod
@@ -440,7 +445,7 @@ public void createMediaFile(ReadableMap filedata, String mt, Promise promise) {
440445
@ReactMethod
441446
public void writeToMediaFile(String fileUri, String path, boolean transformFile, Promise promise) {
442447
boolean res = ReactNativeBlobUtilMediaCollection.writeToMediaFile(Uri.parse(fileUri), path, transformFile, promise);
443-
if(res) promise.resolve("Success");
448+
if (res) promise.resolve("Success");
444449
}
445450

446451
@RequiresApi(api = Build.VERSION_CODES.Q)
@@ -479,7 +484,7 @@ public void copyToMediaStore(ReadableMap filedata, String mt, String path, Promi
479484
}
480485

481486
boolean res = ReactNativeBlobUtilMediaCollection.writeToMediaFile(fileuri, path, false, promise);
482-
if(res) promise.resolve(fileuri.toString());
487+
if (res) promise.resolve(fileuri.toString());
483488
}
484489

485490
}

android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtilFS.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,30 @@ static Map<String, Object> getSystemfolders(ReactApplicationContext ctx) {
358358

359359
return res;
360360
}
361+
/**
362+
* Static method that returns legacy system folders to JS context (usage of deprecated functions since these retunr different folders)
363+
*
364+
* @param ctx React Native application context
365+
*/
366+
static Map<String, Object> getLegacySystemfolders(ReactApplicationContext ctx) {
367+
Map<String, Object> res = new HashMap<>();
368+
369+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) return ReactNativeBlobUtilFS.getSystemfolders(ctx);
370+
371+
res.put("LegacyDCIMDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath());
372+
res.put("LegacyPictureDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath());
373+
res.put("LegacyMusicDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath());
374+
res.put("LegacyDownloadDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());
375+
res.put("LegacyMovieDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath());
376+
res.put("LegacyRingtoneDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES).getAbsolutePath());
377+
378+
String state = Environment.getExternalStorageState();
379+
if (state.equals(Environment.MEDIA_MOUNTED)) {
380+
res.put("LegacySDCardDir", Environment.getExternalStorageDirectory().getAbsolutePath());
381+
}
382+
383+
return res;
384+
}
361385

362386
static String getExternalFilesDirPath(ReactApplicationContext ctx, String type) {
363387
File dir = ctx.getExternalFilesDir(type);

fs.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,15 @@ const dirs = {
2424
SDCardApplicationDir: ReactNativeBlobUtil.SDCardApplicationDir, // Deprecated
2525
MainBundleDir: ReactNativeBlobUtil.MainBundleDir,
2626
LibraryDir: ReactNativeBlobUtil.LibraryDir,
27-
ApplicationSupportDir: ReactNativeBlobUtil.ApplicationSupportDir
27+
ApplicationSupportDir: ReactNativeBlobUtil.ApplicationSupportDir,
28+
29+
LegacyPictureDir: ReactNativeBlobUtil.LegacyPictureDir,
30+
LegacyMusicDir: ReactNativeBlobUtil.LegacyMusicDir,
31+
LegacyMovieDir: ReactNativeBlobUtil.LegacyMovieDir,
32+
LegacyDownloadDir: ReactNativeBlobUtil.LegacyDownloadDir,
33+
LegacyDCIMDir: ReactNativeBlobUtil.LegacyDCIMDir,
34+
LegacySDCardDir: ReactNativeBlobUtil.LegacySDCardDir, // Depracated
35+
2836
};
2937

3038
function addCode(code: string, error: Error): Error {

0 commit comments

Comments
 (0)