You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ma...@apache.org on 2016/01/08 19:33:00 UTC
cordova-plugin-camera git commit: Use Android compat libs for
permission
Repository: cordova-plugin-camera
Updated Branches:
refs/heads/compat [created] 9b6d91009
Use Android compat libs for permission
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-camera/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-camera/commit/9b6d9100
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-camera/tree/9b6d9100
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-camera/diff/9b6d9100
Branch: refs/heads/compat
Commit: 9b6d91009d6dea1cdea0304fe6ef36224d05506e
Parents: e219363
Author: Simon MacDonald <si...@gmail.com>
Authored: Fri Jan 8 13:32:00 2016 -0500
Committer: Simon MacDonald <si...@gmail.com>
Committed: Fri Jan 8 13:32:00 2016 -0500
----------------------------------------------------------------------
plugin.xml | 14 ++++++++------
src/android/CameraLauncher.java | 11 ++++++++---
2 files changed, 16 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-camera/blob/9b6d9100/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
index 673761e..fa66f86 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -54,12 +54,12 @@
<feature name="Camera">
<param name="firefoxos-package" value="Camera" />
</feature>
- </config-file>
-
+ </config-file>
+
<js-module src="src/firefoxos/CameraProxy.js" name="CameraProxy">
<runs />
</js-module>
- </platform>
+ </platform>
<!-- android -->
<platform name="android">
@@ -80,6 +80,8 @@
<clobbers target="CameraPopoverHandle" />
</js-module>
+ <framework src="com.android.support:support-v4:23+" />
+
</platform>
<!-- amazon-fireos -->
@@ -102,7 +104,7 @@
</js-module>
</platform>
-
+
<!-- ubuntu -->
<platform name="ubuntu">
<config-file target="config.xml" parent="/*">
@@ -151,11 +153,11 @@
<framework src="MobileCoreServices.framework" />
<framework src="CoreGraphics.framework" />
<framework src="AVFoundation.framework" />
-
+
<config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription">
<string></string>
</config-file>
-
+
</platform>
<!-- blackberry10 -->
http://git-wip-us.apache.org/repos/asf/cordova-plugin-camera/blob/9b6d9100/src/android/CameraLauncher.java
----------------------------------------------------------------------
diff --git a/src/android/CameraLauncher.java b/src/android/CameraLauncher.java
index ff8599b..7eb36e1 100644
--- a/src/android/CameraLauncher.java
+++ b/src/android/CameraLauncher.java
@@ -58,6 +58,9 @@ import android.provider.MediaStore;
import android.util.Base64;
import android.util.Log;
import android.content.pm.PackageManager;
+
+import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.ContextCompat;
/**
* This class launches the camera view, allows the user to take a picture, closes the camera view,
* and returns the captured image. When the camera view is closed, the screen displayed before
@@ -117,7 +120,9 @@ public class CameraLauncher extends CordovaPlugin implements MediaScannerConnect
protected void getReadPermission(int requestCode)
{
- cordova.requestPermission(this, requestCode, Manifest.permission.READ_EXTERNAL_STORAGE);
+ ActivityCompat.requestPermissions(cordova.getActivity(),
+ new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
+ requestCode);
}
/**
@@ -178,7 +183,7 @@ public class CameraLauncher extends CordovaPlugin implements MediaScannerConnect
// preserve the original exif data and filename in the modified file that is
// created
if(this.mediaType == PICTURE && (this.destType == FILE_URI || this.destType == NATIVE_URI)
- && fileWillBeModified() && !cordova.hasPermission(permissions[0])) {
+ && fileWillBeModified() && !(ContextCompat.checkSelfPermission(cordova.getActivity(), permissions[0]) == PackageManager.PERMISSION_GRANTED)) {
getReadPermission(SAVE_TO_ALBUM_SEC);
} else {
this.getImage(this.srcType, destType, encodingType);
@@ -238,7 +243,7 @@ public class CameraLauncher extends CordovaPlugin implements MediaScannerConnect
* @param returnType Set the type of image to return.
*/
public void callTakePicture(int returnType, int encodingType) {
- if (cordova.hasPermission(permissions[0])) {
+ if (ContextCompat.checkSelfPermission(cordova.getActivity(), permissions[0]) == PackageManager.PERMISSION_GRANTED) {
takePicture(returnType, encodingType);
} else {
getReadPermission(TAKE_PIC_SEC);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org