You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2015/09/23 21:58:40 UTC

[29/45] android commit: Got the PoC working with the Contacts plugin, going to work through all the plugins

Got the PoC working with the Contacts plugin, going to work through all the plugins


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

Branch: refs/heads/5.0.x
Commit: 4f3571a0a103b2833b1c5186a8d4e7aedb8d9670
Parents: 1f8a231
Author: Joe Bowser <bo...@apache.org>
Authored: Mon Aug 31 15:32:53 2015 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Mon Aug 31 15:32:53 2015 -0700

----------------------------------------------------------------------
 framework/src/org/apache/cordova/CordovaActivity.java    | 11 ++++++++++-
 framework/src/org/apache/cordova/CordovaInterface.java   |  4 ++--
 .../src/org/apache/cordova/CordovaInterfaceImpl.java     | 10 +++++-----
 framework/src/org/apache/cordova/CordovaPlugin.java      | 11 ++---------
 .../org/apache/cordova/engine/SystemWebChromeClient.java |  7 +++++--
 5 files changed, 24 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/4f3571a0/framework/src/org/apache/cordova/CordovaActivity.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaActivity.java b/framework/src/org/apache/cordova/CordovaActivity.java
index 43e013b..868b243 100755
--- a/framework/src/org/apache/cordova/CordovaActivity.java
+++ b/framework/src/org/apache/cordova/CordovaActivity.java
@@ -493,7 +493,16 @@ public class CordovaActivity extends Activity {
     @Override
     public void onRequestPermissionsResult(int requestCode, String permissions[],
                                            int[] grantResults) {
-        cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults);
+        try
+        {
+            cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults);
+        }
+        catch (JSONException e)
+        {
+            LOG.d(TAG, "JSONException: Parameters fed into the method are not valid");
+            e.printStackTrace();
+        }
+
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/4f3571a0/framework/src/org/apache/cordova/CordovaInterface.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaInterface.java b/framework/src/org/apache/cordova/CordovaInterface.java
index 2aa0452..4b43580 100755
--- a/framework/src/org/apache/cordova/CordovaInterface.java
+++ b/framework/src/org/apache/cordova/CordovaInterface.java
@@ -70,6 +70,6 @@ public interface CordovaInterface {
      */
     public ExecutorService getThreadPool();
 
-    public void requestPermission(CordovaPlugin plugin, String permission);
-    public void requestPermissions(CordovaPlugin plugin);
+    public void requestPermission(CordovaPlugin plugin, int requestCode, String permission);
+    public void requestPermissions(CordovaPlugin plugin, int requestCode);
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/4f3571a0/framework/src/org/apache/cordova/CordovaInterfaceImpl.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaInterfaceImpl.java b/framework/src/org/apache/cordova/CordovaInterfaceImpl.java
index 7b436af..ac31189 100644
--- a/framework/src/org/apache/cordova/CordovaInterfaceImpl.java
+++ b/framework/src/org/apache/cordova/CordovaInterfaceImpl.java
@@ -24,6 +24,8 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
 
+import org.json.JSONException;
+
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -171,7 +173,7 @@ public class CordovaInterfaceImpl implements CordovaInterface {
      * @param grantResults
      */
     public void onRequestPermissionResult(int requestCode, String[] permissions,
-                                          int[] grantResults) {
+                                          int[] grantResults) throws JSONException {
         if(permissionResultCallback != null)
         {
             permissionResultCallback.onRequestPermissionResult(requestCode, permissions, grantResults);
@@ -179,19 +181,17 @@ public class CordovaInterfaceImpl implements CordovaInterface {
         }
     }
 
-    public void requestPermission(CordovaPlugin plugin, String permission) {
+    public void requestPermission(CordovaPlugin plugin, int requestCode, String permission) {
         permissionResultCallback = plugin;
         String[] permissions = new String [1];
         permissions[0] = permission;
-        int requestCode = 1;
         getActivity().requestPermissions(permissions, requestCode);
     }
 
-    public void requestPermissions(CordovaPlugin plugin)
+    public void requestPermissions(CordovaPlugin plugin, int requestCode)
     {
         permissionResultCallback = plugin;
         String[] permissions = plugin.getPermissionRequest();
-        int requestCode = 1;
         getActivity().requestPermissions(permissions, requestCode);
     }
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/4f3571a0/framework/src/org/apache/cordova/CordovaPlugin.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaPlugin.java b/framework/src/org/apache/cordova/CordovaPlugin.java
index 6e82027..7dc18e3 100644
--- a/framework/src/org/apache/cordova/CordovaPlugin.java
+++ b/framework/src/org/apache/cordova/CordovaPlugin.java
@@ -391,15 +391,8 @@ public class CordovaPlugin {
      * @param permissions
      * @param grantResults
      */
-    public boolean onRequestPermissionResult(int requestCode, String[] permissions,
-                                          int[] grantResults) {
+    public void onRequestPermissionResult(int requestCode, String[] permissions,
+                                          int[] grantResults) throws JSONException {
 
-        for(int r:grantResults)
-        {
-            if(r == PackageManager.PERMISSION_DENIED)
-                return false;
-        }
-
-        return true;
     }
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/4f3571a0/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java b/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java
index bca847b..d411421 100755
--- a/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java
+++ b/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java
@@ -21,6 +21,7 @@ package org.apache.cordova.engine;
 import java.util.Arrays;
 import android.annotation.TargetApi;
 import android.app.Activity;
+import android.content.Context;
 import android.content.ActivityNotFoundException;
 import android.content.Intent;
 import android.net.Uri;
@@ -63,13 +64,15 @@ public class SystemWebChromeClient extends WebChromeClient {
     private View mVideoProgressView;
     
     private CordovaDialogsHelper dialogsHelper;
+    private Context appContext;
 
     private WebChromeClient.CustomViewCallback mCustomViewCallback;
     private View mCustomView;
 
     public SystemWebChromeClient(SystemWebViewEngine parentEngine) {
         this.parentEngine = parentEngine;
-        dialogsHelper = new CordovaDialogsHelper(parentEngine.webView.getContext());
+        appContext = parentEngine.webView.getContext();
+        dialogsHelper = new CordovaDialogsHelper(appContext);
     }
 
     /**
@@ -186,7 +189,7 @@ public class SystemWebChromeClient extends WebChromeClient {
         CordovaPlugin geolocation = parentEngine.pluginManager.getPlugin("Geolocation");
         if(geolocation != null && !geolocation.hasPermisssion())
         {
-            parentEngine.pluginManager.requestPermission(geolocation);
+            //cordova.requestPermissions(geolocation);
         }
 
     }


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