Skip to content

Commit 99ddde4

Browse files
author
Yonah Forst
committed
Merge branch 'jbpin-master'
2 parents 0af1a22 + 29b16c2 commit 99ddde4

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

ReactNativePermissions.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const RNPTypes = {
2626
'event',
2727
'photo',
2828
'storage'
29+
'notification',
2930
]
3031
}
3132

android/src/main/java/com/joshblour/reactnativepermissions/ReactNativePermissionsModule.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.net.Uri;
66
import android.provider.Settings;
77
import android.support.v4.app.ActivityCompat;
8+
import android.support.v4.app.NotificationManagerCompat;
89
import android.support.v4.content.ContextCompat;
910
import android.support.v4.content.PermissionChecker;
1011

@@ -23,9 +24,11 @@
2324
public class ReactNativePermissionsModule extends ReactContextBaseJavaModule {
2425
private final ReactApplicationContext reactContext;
2526
private final PermissionsModule mPermissionsModule;
27+
private final NotificationManagerCompat mNotificationManagerCompat;
2628

2729
public enum RNType {
2830
LOCATION,
31+
NOTIFICATION,
2932
CAMERA,
3033
MICROPHONE,
3134
CONTACTS,
@@ -38,6 +41,7 @@ public ReactNativePermissionsModule(ReactApplicationContext reactContext) {
3841
super(reactContext);
3942
this.reactContext = reactContext;
4043
mPermissionsModule = new PermissionsModule(this.reactContext);
44+
mNotificationManagerCompat = NotificationManagerCompat.from(this.reactContext);
4145
}
4246

4347
@Override
@@ -55,6 +59,15 @@ public void getPermissionStatus(String permissionString, String nullForiOSCompat
5559
return;
5660
}
5761

62+
if(permission.equals("notification")) {
63+
if (mNotificationManagerCompat.areNotificationsEnabled()) {
64+
promise.resolve("authorized");
65+
} else {
66+
promise.resolve("denied");
67+
}
68+
return;
69+
}
70+
5871
int result = PermissionChecker.checkSelfPermission(this.reactContext, permission);
5972
switch (result) {
6073
case PermissionChecker.PERMISSION_DENIED:
@@ -131,6 +144,8 @@ private String permissionForString(String permission) {
131144
case STORAGE:
132145
case PHOTO:
133146
return Manifest.permission.READ_EXTERNAL_STORAGE;
147+
case NOTIFICATION:
148+
return permission;
134149
default:
135150
return null;
136151
}

0 commit comments

Comments
 (0)