Commit 77840081 authored by Yedidya Kennard's avatar Yedidya Kennard

Added support for checking permissions on android

parent 26da9c9a
...@@ -5,6 +5,7 @@ import android.app.Application; ...@@ -5,6 +5,7 @@ import android.app.Application;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.NotificationManagerCompat;
import android.util.Log; import android.util.Log;
import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Arguments;
...@@ -89,6 +90,12 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements ...@@ -89,6 +90,12 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements
notificationsDrawer.onNotificationClearRequest(notificationId); notificationsDrawer.onNotificationClearRequest(notificationId);
} }
@ReactMethod
public void isRegisteredForRemoteNotifications(Promise promise) {
boolean hasPermission = NotificationManagerCompat.from(getReactApplicationContext()).areNotificationsEnabled();
promise.resolve(new Boolean(hasPermission));
}
@Override @Override
public void onAppVisible() { public void onAppVisible() {
final IPushNotificationsDrawer notificationsDrawer = PushNotificationsDrawer.get(getReactApplicationContext().getApplicationContext()); final IPushNotificationsDrawer notificationsDrawer = PushNotificationsDrawer.get(getReactApplicationContext().getApplicationContext());
......
...@@ -126,10 +126,22 @@ class MainComponent extends Component { ...@@ -126,10 +126,22 @@ class MainComponent extends Component {
<TouchableHighlight onPress={() => this.onCancelNotification()}> <TouchableHighlight onPress={() => this.onCancelNotification()}>
<Text style={styles.plainButtonText}>Undo last</Text> <Text style={styles.plainButtonText}>Undo last</Text>
</TouchableHighlight> </TouchableHighlight>
<TouchableHighlight onPress={() => this.onCheckPermissions()}>
<Text style={styles.plainButtonText}>Check permissions</Text>
</TouchableHighlight>
</View> </View>
) )
} }
async onCheckPermissions() {
const hasPermissions = await NotificationsAndroid.isRegisteredForRemoteNotifications();
if (hasPermissions) {
alert('Yay! You have permissions');
} else {
alert('Boo! You don\'t have permissions');
}
}
onPushRegistered() { onPushRegistered() {
} }
......
...@@ -41,6 +41,10 @@ export class NotificationsAndroid { ...@@ -41,6 +41,10 @@ export class NotificationsAndroid {
} }
} }
static async isRegisteredForRemoteNotifications() {
return await RNNotifications.isRegisteredForRemoteNotifications();
}
static refreshToken() { static refreshToken() {
RNNotifications.refreshToken(); RNNotifications.refreshToken();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment