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:39 UTC

[28/45] android commit: Refactoring based on feedback from Andrew

Refactoring based on feedback from Andrew


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

Branch: refs/heads/5.0.x
Commit: 1f8a23193efc9db48ba53c7f6147cf36f590457d
Parents: 2cd5e3c
Author: Joe Bowser <bo...@apache.org>
Authored: Fri Aug 28 16:50:16 2015 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Fri Aug 28 16:50:16 2015 -0700

----------------------------------------------------------------------
 .../src/org/apache/cordova/CordovaActivity.java |  3 +-
 .../org/apache/cordova/CordovaInterface.java    |  3 +-
 .../apache/cordova/CordovaInterfaceImpl.java    | 32 ++++++++++++++++++--
 .../src/org/apache/cordova/CordovaPlugin.java   |  7 -----
 .../src/org/apache/cordova/PluginManager.java   | 22 --------------
 5 files changed, 33 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/1f8a2319/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 171e2a8..43e013b 100755
--- a/framework/src/org/apache/cordova/CordovaActivity.java
+++ b/framework/src/org/apache/cordova/CordovaActivity.java
@@ -493,8 +493,7 @@ public class CordovaActivity extends Activity {
     @Override
     public void onRequestPermissionsResult(int requestCode, String permissions[],
                                            int[] grantResults) {
-        PluginManager pm = this.appView.getPluginManager();
-        pm.onRequestPermissionResult(requestCode, permissions, grantResults);
+        cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/1f8a2319/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 3fa6e63..2aa0452 100755
--- a/framework/src/org/apache/cordova/CordovaInterface.java
+++ b/framework/src/org/apache/cordova/CordovaInterface.java
@@ -70,5 +70,6 @@ public interface CordovaInterface {
      */
     public ExecutorService getThreadPool();
 
-    public void requestPermission(CordovaPlugin plugin);
+    public void requestPermission(CordovaPlugin plugin, String permission);
+    public void requestPermissions(CordovaPlugin plugin);
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/1f8a2319/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 146bacb..7b436af 100644
--- a/framework/src/org/apache/cordova/CordovaInterfaceImpl.java
+++ b/framework/src/org/apache/cordova/CordovaInterfaceImpl.java
@@ -38,6 +38,7 @@ public class CordovaInterfaceImpl implements CordovaInterface {
 
     protected ActivityResultHolder savedResult;
     protected CordovaPlugin activityResultCallback;
+    protected CordovaPlugin permissionResultCallback;
     protected String initCallbackService;
     protected int activityResultRequestCode;
 
@@ -162,9 +163,36 @@ public class CordovaInterfaceImpl implements CordovaInterface {
         }
     }
 
-    public void requestPermission(CordovaPlugin plugin)
+    /**
+     * Called by the system when the user grants permissions
+     *
+     * @param requestCode
+     * @param permissions
+     * @param grantResults
+     */
+    public void onRequestPermissionResult(int requestCode, String[] permissions,
+                                          int[] grantResults) {
+        if(permissionResultCallback != null)
+        {
+            permissionResultCallback.onRequestPermissionResult(requestCode, permissions, grantResults);
+            permissionResultCallback = null;
+        }
+    }
+
+    public void requestPermission(CordovaPlugin plugin, String permission) {
+        permissionResultCallback = plugin;
+        String[] permissions = new String [1];
+        permissions[0] = permission;
+        int requestCode = 1;
+        getActivity().requestPermissions(permissions, requestCode);
+    }
+
+    public void requestPermissions(CordovaPlugin plugin)
     {
-        pluginManager.requestPermission(plugin);
+        permissionResultCallback = plugin;
+        String[] permissions = plugin.getPermissionRequest();
+        int requestCode = 1;
+        getActivity().requestPermissions(permissions, requestCode);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/1f8a2319/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 6cb2a3c..6e82027 100644
--- a/framework/src/org/apache/cordova/CordovaPlugin.java
+++ b/framework/src/org/apache/cordova/CordovaPlugin.java
@@ -372,13 +372,6 @@ public class CordovaPlugin {
         return permissions;
     }
 
-    /**
-     * requestPermission
-     */
-    public void requestPermission() {
-        cordova.requestPermission(this);
-    }
-
     public boolean hasPermisssion() {
         for(String p : permissions)
         {

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/1f8a2319/framework/src/org/apache/cordova/PluginManager.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/PluginManager.java b/framework/src/org/apache/cordova/PluginManager.java
index e543b04..3afbc18 100755
--- a/framework/src/org/apache/cordova/PluginManager.java
+++ b/framework/src/org/apache/cordova/PluginManager.java
@@ -511,26 +511,4 @@ public class PluginManager {
         }
     }
 
-    /**
-     * Called by the system when the user grants permissions
-     *
-     * @param requestCode
-     * @param permissions
-     * @param grantResults
-     */
-    public void onRequestPermissionResult(int requestCode, String[] permissions,
-                                          int[] grantResults) {
-        if(permissionRequester != null)
-        {
-            permissionRequester.onRequestPermissionResult(requestCode, permissions, grantResults);
-            permissionRequester = null;
-        }
-    }
-
-    public void requestPermission(CordovaPlugin plugin) {
-        permissionRequester = plugin;
-        String[] permissions = plugin.getPermissionRequest();
-        int requestCode = 1;
-        ctx.getActivity().requestPermissions(permissions, requestCode);
-    }
 }


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