|
@@ -1,18 +1,11 @@
|
1
|
1
|
package com.RNFetchBlob;
|
2
|
2
|
|
3
|
|
-import android.app.LoaderManager;
|
4
|
|
-import android.content.ContentResolver;
|
5
|
|
-import android.content.CursorLoader;
|
6
|
3
|
import android.content.res.AssetFileDescriptor;
|
7
|
|
-import android.database.Cursor;
|
8
|
|
-import android.graphics.Path;
|
9
|
4
|
import android.media.MediaScannerConnection;
|
10
|
5
|
import android.net.Uri;
|
11
|
6
|
import android.os.AsyncTask;
|
12
|
7
|
import android.os.Environment;
|
13
|
|
-import android.os.Looper;
|
14
|
8
|
import android.os.SystemClock;
|
15
|
|
-import android.provider.MediaStore;
|
16
|
9
|
import android.util.Base64;
|
17
|
10
|
|
18
|
11
|
import com.RNFetchBlob.Utils.PathResolver;
|
|
@@ -23,31 +16,19 @@ import com.facebook.react.bridge.ReactApplicationContext;
|
23
|
16
|
import com.facebook.react.bridge.ReadableArray;
|
24
|
17
|
import com.facebook.react.bridge.WritableArray;
|
25
|
18
|
import com.facebook.react.bridge.WritableMap;
|
26
|
|
-import com.facebook.react.bridge.WritableNativeArray;
|
27
|
19
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
28
|
20
|
|
29
|
21
|
import java.io.File;
|
30
|
22
|
import java.io.FileInputStream;
|
31
|
|
-import java.io.FileNotFoundException;
|
32
|
23
|
import java.io.FileOutputStream;
|
33
|
24
|
import java.io.IOException;
|
34
|
25
|
import java.io.InputStream;
|
35
|
26
|
import java.io.OutputStream;
|
36
|
|
-import java.io.UnsupportedEncodingException;
|
37
|
|
-import java.net.URLDecoder;
|
38
|
27
|
import java.nio.charset.Charset;
|
39
|
28
|
import java.util.HashMap;
|
40
|
29
|
import java.util.Map;
|
41
|
30
|
import java.util.UUID;
|
42
|
|
-import java.util.concurrent.BlockingDeque;
|
43
|
|
-import java.util.concurrent.BlockingQueue;
|
44
|
|
-import java.util.concurrent.LinkedBlockingQueue;
|
45
|
|
-import java.util.concurrent.ThreadPoolExecutor;
|
46
|
|
-import java.util.concurrent.TimeUnit;
|
47
|
|
-
|
48
|
|
-/**
|
49
|
|
- * Created by wkh237 on 2016/5/26.
|
50
|
|
- */
|
|
31
|
+
|
51
|
32
|
public class RNFetchBlobFS {
|
52
|
33
|
|
53
|
34
|
ReactApplicationContext mCtx;
|
|
@@ -676,10 +657,10 @@ public class RNFetchBlobFS {
|
676
|
657
|
|
677
|
658
|
/**
|
678
|
659
|
* Create new file at path
|
679
|
|
- * @param path
|
680
|
|
- * @param data
|
681
|
|
- * @param encoding
|
682
|
|
- * @param callback
|
|
660
|
+ * @param path The destination path of the new file.
|
|
661
|
+ * @param data Initial data of the new file.
|
|
662
|
+ * @param encoding Encoding of initial data.
|
|
663
|
+ * @param callback RCT bridge callback.
|
683
|
664
|
*/
|
684
|
665
|
static void createFile(String path, String data, String encoding, Callback callback) {
|
685
|
666
|
try {
|
|
@@ -785,8 +766,8 @@ public class RNFetchBlobFS {
|
785
|
766
|
return data.getBytes(Charset.forName("US-ASCII"));
|
786
|
767
|
}
|
787
|
768
|
else if(encoding.toLowerCase().contains("base64")) {
|
788
|
|
- byte [] b = Base64.decode(data, Base64.NO_WRAP);
|
789
|
|
- return b;
|
|
769
|
+ return Base64.decode(data, Base64.NO_WRAP);
|
|
770
|
+
|
790
|
771
|
}
|
791
|
772
|
else if(encoding.equalsIgnoreCase("utf8")) {
|
792
|
773
|
return data.getBytes(Charset.forName("UTF-8"));
|
|
@@ -825,8 +806,8 @@ public class RNFetchBlobFS {
|
825
|
806
|
/**
|
826
|
807
|
* Get input stream of the given path, when the path is a string starts with bundle-assets://
|
827
|
808
|
* the stream is created by Assets Manager, otherwise use FileInputStream.
|
828
|
|
- * @param path
|
829
|
|
- * @return
|
|
809
|
+ * @param path The file to open stream
|
|
810
|
+ * @return InputStream instance
|
830
|
811
|
* @throws IOException
|
831
|
812
|
*/
|
832
|
813
|
static InputStream inputStreamFromPath(String path) throws IOException {
|
|
@@ -838,8 +819,8 @@ public class RNFetchBlobFS {
|
838
|
819
|
|
839
|
820
|
/**
|
840
|
821
|
* Check if the asset or the file exists
|
841
|
|
- * @param path
|
842
|
|
- * @return
|
|
822
|
+ * @param path A file path URI string
|
|
823
|
+ * @return A boolean value represents if the path exists.
|
843
|
824
|
*/
|
844
|
825
|
static boolean isPathExists(String path) {
|
845
|
826
|
if(path.startsWith(RNFetchBlobConst.FILE_PREFIX_BUNDLE_ASSET)) {
|