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