You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by rk...@apache.org on 2015/12/07 21:47:51 UTC

cordova-plugin-contacts git commit: CB-10148 android: Added READ_CONTACTS permission request when picking a contact

Repository: cordova-plugin-contacts
Updated Branches:
  refs/heads/master 07f7784ce -> 4bb747fff


CB-10148 android: Added READ_CONTACTS permission request when picking a contact


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/commit/4bb747ff
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/tree/4bb747ff
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/diff/4bb747ff

Branch: refs/heads/master
Commit: 4bb747fff0ad957e210408936039755b740659e5
Parents: 07f7784
Author: riknoll <ri...@gmail.com>
Authored: Mon Dec 7 12:05:51 2015 -0800
Committer: riknoll <ri...@gmail.com>
Committed: Mon Dec 7 12:05:51 2015 -0800

----------------------------------------------------------------------
 src/android/ContactManager.java | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/blob/4bb747ff/src/android/ContactManager.java
----------------------------------------------------------------------
diff --git a/src/android/ContactManager.java b/src/android/ContactManager.java
index 3bdea86..a69e409 100644
--- a/src/android/ContactManager.java
+++ b/src/android/ContactManager.java
@@ -43,7 +43,7 @@ public class ContactManager extends CordovaPlugin {
     private ContactAccessor contactAccessor;
     private CallbackContext callbackContext;        // The callback context from which we were invoked.
     private JSONArray executeArgs;
-    
+
     private static final String LOG_TAG = "Contact Query";
 
     public static final int UNKNOWN_ERROR = 0;
@@ -62,6 +62,7 @@ public class ContactManager extends CordovaPlugin {
     public static final int SEARCH_REQ_CODE = 0;
     public static final int SAVE_REQ_CODE = 1;
     public static final int REMOVE_REQ_CODE = 2;
+    public static final int PICK_REQ_CODE = 3;
 
     public static final String READ = Manifest.permission.READ_CONTACTS;
     public static final String WRITE = Manifest.permission.WRITE_CONTACTS;
@@ -96,10 +97,10 @@ public class ContactManager extends CordovaPlugin {
      * @return                  True if the action was valid, false otherwise.
      */
     public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
-        
+
         this.callbackContext = callbackContext;
-        this.executeArgs = args; 
-        
+        this.executeArgs = args;
+
         /**
          * Check to see if we are on an Android 1.X device.  If we are return an error as we
          * do not support this as of Cordova 1.0.
@@ -147,7 +148,14 @@ public class ContactManager extends CordovaPlugin {
             }
         }
         else if (action.equals("pickContact")) {
-            pickContactAsync();
+            if(cordova.hasPermission(READ))
+            {
+                pickContactAsync();
+            }
+            else
+            {
+                getReadPermission(PICK_REQ_CODE);
+            }
         }
         else {
             return false;
@@ -216,7 +224,7 @@ public class ContactManager extends CordovaPlugin {
         };
         this.cordova.getThreadPool().execute(worker);
     }
-    
+
     /**
      * Called when user picks contact.
      * @param requestCode       The request code originally supplied to startActivityForResult(),
@@ -278,6 +286,9 @@ public class ContactManager extends CordovaPlugin {
             case REMOVE_REQ_CODE:
                 remove(executeArgs);
                 break;
+            case PICK_REQ_CODE:
+                pickContactAsync();
+                break;
         }
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org