Browse Source

Make requestPermission method (Android) compatible with RN 0.33

Manuel Vila 8 years ago
parent
commit
8a9e81543e

+ 10
- 3
android/src/main/java/com/joshblour/reactnativepermissions/ReactNativePermissionsModule.java View File

10
 
10
 
11
 import com.facebook.react.bridge.Callback;
11
 import com.facebook.react.bridge.Callback;
12
 import com.facebook.react.bridge.Promise;
12
 import com.facebook.react.bridge.Promise;
13
+import com.facebook.react.bridge.PromiseImpl;
13
 import com.facebook.react.bridge.ReactApplicationContext;
14
 import com.facebook.react.bridge.ReactApplicationContext;
14
 import com.facebook.react.bridge.ReactContextBaseJavaModule;
15
 import com.facebook.react.bridge.ReactContextBaseJavaModule;
15
 import com.facebook.react.bridge.ReactMethod;
16
 import com.facebook.react.bridge.ReactMethod;
79
   @ReactMethod
80
   @ReactMethod
80
   public void requestPermission(final String permissionString, String nullForiOSCompat, final Promise promise) {
81
   public void requestPermission(final String permissionString, String nullForiOSCompat, final Promise promise) {
81
     String permission = permissionForString(permissionString);
82
     String permission = permissionForString(permissionString);
82
-    mPermissionsModule.requestPermission(permission, new Callback() {
83
+    Callback resolve = new Callback() {
83
       @Override
84
       @Override
84
       public void invoke(Object... args) {
85
       public void invoke(Object... args) {
85
         getPermissionStatus(permissionString, promise);
86
         getPermissionStatus(permissionString, promise);
86
-//        promise.resolve((boolean)args[1] ? "authorized" : "denied");
87
       }
87
       }
88
-    }, null);
88
+    };
89
+    Callback reject = new Callback() {
90
+      @Override
91
+      public void invoke(Object... args) {
92
+        // NOOP
93
+      }
94
+    };
95
+    mPermissionsModule.requestPermission(permission, new PromiseImpl(resolve, reject));
89
   }
96
   }
90
 
97
 
91
 
98