Skip to content
This repository was archived by the owner on Mar 16, 2019. It is now read-only.

Commit 4ea5080

Browse files
committed
Change system dir API on android
1 parent 166bfa2 commit 4ea5080

File tree

2 files changed

+17
-25
lines changed

2 files changed

+17
-25
lines changed

src/android/src/main/java/com/RNFetchBlob/RNFetchBlob.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222
import java.io.ByteArrayOutputStream;
2323
import java.io.File;
24+
import java.util.HashMap;
25+
import java.util.Map;
2426

2527
import cz.msebera.android.httpclient.HttpEntity;
2628
import cz.msebera.android.httpclient.entity.AbstractHttpEntity;
@@ -43,10 +45,9 @@ public String getName() {
4345
return "RNFetchBlob";
4446
}
4547

46-
@ReactMethod
47-
public void getEnvironmentDirs(Callback callback) {
48-
ReactApplicationContext ctx = this.getReactApplicationContext();
49-
RNFetchBlobFS.getSystemfolders(ctx, callback);
48+
@Override
49+
public Map<String, Object> getConstants() {
50+
return RNFetchBlobFS.getSystemfolders(this.getReactApplicationContext());
5051
}
5152

5253
@ReactMethod

src/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -51,27 +51,18 @@ public class RNFetchBlobFS {
5151
/**
5252
* Static method that returns system folders to JS context
5353
* @param ctx React Native application context
54-
* @param callback Javascript callback function
5554
*/
56-
static public void getSystemfolders(ReactApplicationContext ctx, Callback callback) {
57-
callback.invoke(
58-
// document folder
59-
ctx.getFilesDir().getAbsolutePath(),
60-
// cache folder
61-
ctx.getCacheDir().getAbsolutePath(),
62-
// SD card folder
63-
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath(),
64-
// Download folder
65-
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(),
66-
// Picture
67-
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(),
68-
// Music
69-
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath(),
70-
// Movies
71-
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath(),
72-
// Ringtones
73-
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES).getAbsolutePath()
74-
);
55+
static public Map<String, Object> getSystemfolders(ReactApplicationContext ctx) {
56+
Map<String, Object> res = new HashMap<>();
57+
res.put("DocumentDir", ctx.getFilesDir().getAbsolutePath());
58+
res.put("CacheDir", ctx.getCacheDir().getAbsolutePath());
59+
res.put("DCIMDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath());
60+
res.put("PictureDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath());
61+
res.put("MusicDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath());
62+
res.put("DownloadDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());
63+
res.put("MovieDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath());
64+
res.put("RingtoneDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES).getAbsolutePath());
65+
return res;
7566
}
7667

7768
/**
@@ -431,7 +422,7 @@ void scanFile(String [] path, String[] mimes, final Callback callback) {
431422
Intent scanFileIntent = new Intent(
432423
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
433424
mCtx.sendBroadcast(scanFileIntent);
434-
callback.invoke();
425+
callback.invoke(null, true);
435426
}
436427
}
437428

0 commit comments

Comments
 (0)