16
16
import android .util .SparseArray ;
17
17
18
18
import com .facebook .react .bridge .Callback ;
19
+ import com .facebook .react .bridge .Promise ;
19
20
import com .facebook .react .bridge .ReactApplicationContext ;
20
21
import com .facebook .react .bridge .ReactContextBaseJavaModule ;
21
22
import com .facebook .react .bridge .ReactMethod ;
@@ -37,29 +38,22 @@ public PermissionsModule(ReactApplicationContext reactContext) {
37
38
38
39
@ Override
39
40
public String getName () {
40
- return "AndroidPermissions " ;
41
+ return "PermissionsAndroid " ;
41
42
}
42
43
43
44
/**
44
45
* Check if the app has the permission given. successCallback is called with true if the
45
46
* permission had been granted, false otherwise. See {@link Activity#checkSelfPermission}.
46
47
*/
47
48
@ ReactMethod
48
- public void checkPermission (
49
- final String permission ,
50
- final Callback successCallback ,
51
- final Callback errorCallback ) {
49
+ public void checkPermission (final String permission , final Promise promise ) {
52
50
PermissionAwareActivity activity = getPermissionAwareActivity ();
53
51
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .M ) {
54
- successCallback .invoke (
55
- permission ,
56
- activity .checkPermission (permission , Process .myPid (), Process .myUid ()) ==
57
- PackageManager .PERMISSION_GRANTED );
52
+ promise .resolve (activity .checkPermission (permission , Process .myPid (), Process .myUid ()) ==
53
+ PackageManager .PERMISSION_GRANTED );
58
54
return ;
59
55
}
60
- successCallback .invoke (
61
- permission ,
62
- activity .checkSelfPermission (permission ) == PackageManager .PERMISSION_GRANTED );
56
+ promise .resolve (activity .checkSelfPermission (permission ) == PackageManager .PERMISSION_GRANTED );
63
57
}
64
58
65
59
/**
@@ -71,17 +65,12 @@ public void checkPermission(
71
65
* See {@link Activity#shouldShowRequestPermissionRationale}.
72
66
*/
73
67
@ ReactMethod
74
- public void shouldShowRequestPermissionRationale (
75
- final String permission ,
76
- final Callback successCallback ,
77
- final Callback errorCallback ) {
68
+ public void shouldShowRequestPermissionRationale (final String permission , final Promise promise ) {
78
69
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .M ) {
79
- successCallback . invoke ( permission , false );
70
+ promise . resolve ( false );
80
71
return ;
81
72
}
82
- successCallback .invoke (
83
- permission ,
84
- getPermissionAwareActivity ().shouldShowRequestPermissionRationale (permission ));
73
+ promise .resolve (getPermissionAwareActivity ().shouldShowRequestPermissionRationale (permission ));
85
74
}
86
75
87
76
/**
@@ -91,28 +80,23 @@ public void shouldShowRequestPermissionRationale(
91
80
* See {@link Activity#checkSelfPermission}.
92
81
*/
93
82
@ ReactMethod
94
- public void requestPermission (
95
- final String permission ,
96
- final Callback successCallback ,
97
- final Callback errorCallback ) {
83
+ public void requestPermission (final String permission , final Promise promise ) {
98
84
PermissionAwareActivity activity = getPermissionAwareActivity ();
99
85
if (Build .VERSION .SDK_INT < Build .VERSION_CODES .M ) {
100
- successCallback .invoke (
101
- permission ,
102
- activity .checkPermission (permission , Process .myPid (), Process .myUid ()) ==
86
+ promise .resolve (activity .checkPermission (permission , Process .myPid (), Process .myUid ()) ==
103
87
PackageManager .PERMISSION_GRANTED );
104
88
return ;
105
89
}
106
90
if (activity .checkSelfPermission (permission ) == PackageManager .PERMISSION_GRANTED ) {
107
- successCallback . invoke ( permission , true );
91
+ promise . resolve ( true );
108
92
return ;
109
93
}
110
94
111
95
mCallbacks .put (
112
96
mRequestCode , new Callback () {
113
97
@ Override
114
98
public void invoke (Object ... args ) {
115
- successCallback . invoke ( permission , args [0 ].equals (PackageManager .PERMISSION_GRANTED ));
99
+ promise . resolve ( args [0 ].equals (PackageManager .PERMISSION_GRANTED ));
116
100
}
117
101
});
118
102
0 commit comments