@@ -7,14 +7,17 @@ import * as platform from "tns-core-modules/platform/platform";
7
7
import * as permissions from "nativescript-permissions" ;
8
8
9
9
let REQUEST_IMAGE_CAPTURE = 3453 ;
10
+ declare let global : any ;
11
+
12
+ let useAndroidX = function ( ) {
13
+ return global . androidx && global . androidx . appcompat ;
14
+ } ;
15
+ const FileProviderPackageName = useAndroidX ( ) ? global . androidx . core . content : android . support . v4 . content ;
10
16
11
17
export let takePicture = function ( options ?) : Promise < any > {
12
18
return new Promise ( ( resolve , reject ) => {
13
19
try {
14
- if ( ( < any > android . support . v4 . content . ContextCompat ) . checkSelfPermission (
15
- applicationModule . android . context ,
16
- ( < any > android ) . Manifest . permission . CAMERA ) !== android . content . pm . PackageManager . PERMISSION_GRANTED ) {
17
-
20
+ if ( ! permissions . hasPermission ( android . Manifest . permission . CAMERA ) ) {
18
21
reject ( new Error ( "Application does not have permissions to use Camera" ) ) ;
19
22
20
23
return ;
@@ -36,9 +39,7 @@ export let takePicture = function (options?): Promise<any> {
36
39
shouldKeepAspectRatio = types . isNullOrUndefined ( options . keepAspectRatio ) ? shouldKeepAspectRatio : options . keepAspectRatio ;
37
40
}
38
41
39
- if ( ( < any > android . support . v4 . content . ContextCompat ) . checkSelfPermission (
40
- applicationModule . android . context ,
41
- ( < any > android ) . Manifest . permission . WRITE_EXTERNAL_STORAGE ) !== android . content . pm . PackageManager . PERMISSION_GRANTED ) {
42
+ if ( ! permissions . hasPermission ( android . Manifest . permission . WRITE_EXTERNAL_STORAGE ) ) {
42
43
43
44
saveToGallery = false ;
44
45
}
@@ -62,7 +63,7 @@ export let takePicture = function (options?): Promise<any> {
62
63
63
64
let sdkVersionInt = parseInt ( platform . device . sdkVersion ) ;
64
65
if ( sdkVersionInt >= 21 ) {
65
- tempPictureUri = ( < any > android . support . v4 . content ) . FileProvider . getUriForFile (
66
+ tempPictureUri = FileProviderPackageName . FileProvider . getUriForFile (
66
67
applicationModule . android . context ,
67
68
applicationModule . android . nativeApp . getPackageName ( ) + ".provider" , nativeFile ) ;
68
69
} else {
@@ -169,20 +170,20 @@ export let isAvailable = function () {
169
170
170
171
export let requestPermissions = function ( ) {
171
172
return permissions . requestPermissions ( [
172
- ( < any > android ) . Manifest . permission . WRITE_EXTERNAL_STORAGE ,
173
- ( < any > android ) . Manifest . permission . CAMERA
173
+ android . Manifest . permission . WRITE_EXTERNAL_STORAGE ,
174
+ android . Manifest . permission . CAMERA
174
175
] ) ;
175
176
} ;
176
177
177
178
export let requestPhotosPermissions = function ( ) {
178
179
return permissions . requestPermissions ( [
179
- ( < any > android ) . Manifest . permission . WRITE_EXTERNAL_STORAGE ,
180
+ android . Manifest . permission . WRITE_EXTERNAL_STORAGE ,
180
181
] ) ;
181
182
} ;
182
183
183
184
export let requestCameraPermissions = function ( ) {
184
185
return permissions . requestPermissions ( [
185
- ( < any > android ) . Manifest . permission . CAMERA
186
+ android . Manifest . permission . CAMERA
186
187
] ) ;
187
188
} ;
188
189
0 commit comments