Browse Source

added android notification support

Jean-Baptiste Pin 9 years ago
parent
commit
584a76e9d7

+ 4 - 3
ReactNativePermissions.js

@@ -15,7 +15,7 @@ const RNPTypes = {
 		'reminder',
 		'bluetooth',
 		'notification',
-		'backgroundRefresh', 
+		'backgroundRefresh',
 	],
 	android: [
 		'location',
@@ -24,6 +24,7 @@ const RNPTypes = {
 		'contacts',
 		'event',
 		'photos',
+		'notification',
 	]
 }
 
@@ -66,7 +67,7 @@ class ReactNativePermissions {
 	}
 
 	requestPermission(permission, type) {
-		let options; 
+		let options;
 
 		if (!this.getPermissionTypes().includes(permission)) {
 			return Promise.reject(`ReactNativePermissions: ${permission} is not a valid permission type on ${Platform.OS}`)
@@ -89,7 +90,7 @@ class ReactNativePermissions {
 		function processNext() {
 			i--
 			let p = permissions[i]
-			
+
 			if (!p) {
 				return Promise.resolve(obj)
 			}

+ 5 - 4
android/build.gradle

@@ -1,6 +1,6 @@
 buildscript {
     repositories {
-        jcenter()
+        mavenCentral()
     }
 
     dependencies {
@@ -11,12 +11,12 @@ buildscript {
 apply plugin: 'com.android.library'
 
 android {
-    compileSdkVersion 23
-    buildToolsVersion "23.0.1"
+    compileSdkVersion 24
+    buildToolsVersion "24.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 23
+        targetSdkVersion 24
         versionCode 1
         versionName "1.0"
     }
@@ -31,4 +31,5 @@ repositories {
 
 dependencies {
     compile 'com.facebook.react:react-native:+'
+    compile 'com.android.support:support-v4:24.1.1'
 }

+ 4 - 3
android/src/main/java/com/joshblour/reactnativepermissions/ReactNativePermissionsModule.java

@@ -22,6 +22,7 @@ import com.facebook.react.modules.permissions.PermissionsModule;
 public class ReactNativePermissionsModule extends ReactContextBaseJavaModule {
   private final ReactApplicationContext reactContext;
   private final PermissionsModule mPermissionsModule;
+  private final NotificationManagerCompat mNotificationManagerCompat;
 
   public enum RNType {
     LOCATION,
@@ -37,7 +38,7 @@ public class ReactNativePermissionsModule extends ReactContextBaseJavaModule {
     super(reactContext);
     this.reactContext = reactContext;
     mPermissionsModule = new PermissionsModule(this.reactContext);
-    this.notificationManagerCompat = NotificationManagerCompat.from(reactContext);
+    mNotificationManagerCompat = NotificationManagerCompat.from(this.reactContext);
   }
 
   @Override
@@ -55,8 +56,8 @@ public class ReactNativePermissionsModule extends ReactContextBaseJavaModule {
       return;
     }
 
-    if(permission == 'notification') {
-      if (this.notificationManagerCompat.areNotificationsEnabled()) {
+    if(permission.equals('notification')) {
+      if (mNotificationManagerCompat.areNotificationsEnabled()) {
         promise.resolve("authorized");
       } else {
         promise.resolve("denied");