Browse Source

Add main bundle folder #138

Ben Hsieh 8 years ago
parent
commit
3be2c2ca15

+ 18
- 4
src/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java View File

1
 package com.RNFetchBlob;
1
 package com.RNFetchBlob;
2
 
2
 
3
+import android.content.pm.PackageInfo;
4
+import android.content.pm.PackageManager;
3
 import android.content.res.AssetFileDescriptor;
5
 import android.content.res.AssetFileDescriptor;
4
 import android.media.MediaScannerConnection;
6
 import android.media.MediaScannerConnection;
5
 import android.net.Uri;
7
 import android.net.Uri;
184
      */
186
      */
185
     static public Map<String, Object> getSystemfolders(ReactApplicationContext ctx) {
187
     static public Map<String, Object> getSystemfolders(ReactApplicationContext ctx) {
186
         Map<String, Object> res = new HashMap<>();
188
         Map<String, Object> res = new HashMap<>();
189
+
190
+        PackageManager m = ctx.getPackageManager();
191
+        String s = ctx.getPackageName();
192
+        PackageInfo p = null;
193
+
194
+        try {
195
+            p = m.getPackageInfo(s, 0);
196
+            s = p.applicationInfo.dataDir;
197
+            res.put("DocumentDir", s);
198
+        } catch (PackageManager.NameNotFoundException e) {
199
+            e.printStackTrace();
200
+        }
187
         res.put("DocumentDir", ctx.getFilesDir().getAbsolutePath());
201
         res.put("DocumentDir", ctx.getFilesDir().getAbsolutePath());
188
         res.put("CacheDir", ctx.getCacheDir().getAbsolutePath());
202
         res.put("CacheDir", ctx.getCacheDir().getAbsolutePath());
189
         res.put("DCIMDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath());
203
         res.put("DCIMDir", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath());
782
      * @param event Event name, `data`, `end`, `error`, etc.
796
      * @param event Event name, `data`, `end`, `error`, etc.
783
      * @param data  Event data
797
      * @param data  Event data
784
      */
798
      */
785
-    void emitStreamEvent(String streamName, String event, String data) {
799
+    private void emitStreamEvent(String streamName, String event, String data) {
786
         WritableMap eventData = Arguments.createMap();
800
         WritableMap eventData = Arguments.createMap();
787
         eventData.putString("event", event);
801
         eventData.putString("event", event);
788
         eventData.putString("detail", data);
802
         eventData.putString("detail", data);
789
         this.emitter.emit(streamName, eventData);
803
         this.emitter.emit(streamName, eventData);
790
     }
804
     }
791
 
805
 
792
-    void emitStreamEvent(String streamName, String event, WritableArray  data) {
806
+    private void emitStreamEvent(String streamName, String event, WritableArray data) {
793
         WritableMap eventData = Arguments.createMap();
807
         WritableMap eventData = Arguments.createMap();
794
         eventData.putString("event", event);
808
         eventData.putString("event", event);
795
         eventData.putArray("detail", data);
809
         eventData.putArray("detail", data);
838
 
852
 
839
     }
853
     }
840
 
854
 
841
-    public static boolean isAsset(String path) {
855
+    static boolean isAsset(String path) {
842
         if(path != null)
856
         if(path != null)
843
             return path.startsWith(RNFetchBlobConst.FILE_PREFIX_BUNDLE_ASSET);
857
             return path.startsWith(RNFetchBlobConst.FILE_PREFIX_BUNDLE_ASSET);
844
         return false;
858
         return false;
845
     }
859
     }
846
 
860
 
847
-    public static String normalizePath(String path) {
861
+    static String normalizePath(String path) {
848
         if(path == null)
862
         if(path == null)
849
             return null;
863
             return null;
850
         Uri uri = Uri.parse(path);
864
         Uri uri = Uri.parse(path);

+ 4
- 0
src/ios/RNFetchBlobFS.m View File

85
 
85
 
86
 #pragma mark - system directories
86
 #pragma mark - system directories
87
 
87
 
88
++ (NSString *) getMainBundleDir {
89
+    return [[NSBundle mainBundle] bundlePath];
90
+}
91
+
88
 + (NSString *) getCacheDir {
92
 + (NSString *) getCacheDir {
89
     return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
93
     return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
90
 }
94
 }