<?xml version="1.0" encoding="UTF-8"?>

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:rim="http://www.blackberry.com/ns/widgets"
    id="cordova-plugin-camera-with-exif"
    version="1.3.0">

    <name>cordova-plugin-camera-with-exif</name>
    <description>
       Cordova Camera Plugin that will return an image as well as the EXIF data (including GPS location) on iOS and Android devices. 
    </description>

    <license>Apache 2.0</license>

    <keywords>cordova,camera,exif,gps,geotag</keywords>
    <repo>https://github.com/remoorejr/cordova-plugin-camera-with-exif.git</repo>

    <engines>
       <engine name="cordova" version="&gt;=7.1.0" />
       <engine name="cordova-android" version=">=6.3.0" />
    </engines>

    <js-module src="www/CameraConstants.js" name="Camera">
        <clobbers target="Camera" />
    </js-module>

    <js-module src="www/CameraPopoverOptions.js" name="CameraPopoverOptions">
        <clobbers target="CameraPopoverOptions" />
    </js-module>

    <js-module src="www/Camera.js" name="camera">
        <clobbers target="navigator.camera" />
    </js-module>

    <!-- android -->
    <platform name="android">
        <framework src="com.google.android.gms:play-services-location:11.6.2" />

        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="Camera">
                <param name="android-package" value="org.apache.cordova.camera.CameraLauncher"/>
            </feature>
        </config-file>
        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
            <uses-permission android:name="android.permission.INTERNET" />
            <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        </config-file>
		
		<config-file target="AndroidManifest.xml" parent="application">
	          <provider
	              android:name="android.support.v4.content.FileProvider"
	              android:authorities="${applicationId}.provider"
	              android:exported="false"
	              android:grantUriPermissions="true" >
	              <meta-data
	                  android:name="android.support.FILE_PROVIDER_PATHS"
	                  android:resource="@xml/provider_paths"/>
	          </provider>
	    </config-file>

        <source-file src="src/android/CameraLauncher.java" target-dir="src/org/apache/cordova/camera" />
        <source-file src="src/android/CordovaUri.java" target-dir="src/org/apache/cordova/camera" />
        <source-file src="src/android/FileHelper.java" target-dir="src/org/apache/cordova/camera" />
        <source-file src="src/android/ExifHelper.java" target-dir="src/org/apache/cordova/camera" />

        <source-file src="src/android/CordovaLocationServices.java" target-dir="src/org/apache/cordova/camera" />
        <source-file src="src/android/CordovaLocationListener.java" target-dir="src/org/apache/cordova/camera" />
        <source-file src="src/android/GApiUtils.java" target-dir="src/org/apache/cordova/camera" />
        <source-file src="src/android/LocationUtils.java" target-dir="src/org/apache/cordova/camera" />
        <source-file src="src/android/CameraOptions.java" target-dir="src/org/apache/cordova/camera" />

        <source-file src="src/android/gson-2.3.1.jar" target-dir="libs" />
        <source-file src="src/android/xml/provider_paths.xml" target-dir="res/xml" />

        <js-module src="www/CameraPopoverHandle.js" name="CameraPopoverHandle">
            <clobbers target="CameraPopoverHandle" />
        </js-module>

         <preference name="ANDROID_SUPPORT_V4_VERSION" default="27.+"/>
        <framework src="src/android/build.gradle" custom="true" type="gradleReference" />
        <framework src="com.android.support:support-v4:$ANDROID_SUPPORT_V4_VERSION"/>


     </platform>

     <!-- ios -->
     <platform name="ios">
            <config-file target="config.xml" parent="/*">
                <feature name="Camera">
                    <param name="ios-package" value="CDVCamera" />
                </feature>
                <preference name="CameraUsesGeolocation" value="true" />
            </config-file>

            <js-module src="www/ios/CameraPopoverHandle.js" name="CameraPopoverHandle">
	            <clobbers target="CameraPopoverHandle" />
            </js-module>

            <header-file src="src/ios/UIImage+CropScaleOrientation.h" />
            <source-file src="src/ios/UIImage+CropScaleOrientation.m" />
            <header-file src="src/ios/CDVCamera.h" />
            <source-file src="src/ios/CDVCamera.m" />
            <header-file src="src/ios/CDVJpegHeaderWriter.h" />
            <source-file src="src/ios/CDVJpegHeaderWriter.m" />
            <header-file src="src/ios/CDVExif.h" />
            <framework src="ImageIO.framework" weak="true" />
            <framework src="CoreLocation.framework" />
            <framework src="CoreGraphics.framework" />
            <framework src="AssetsLibrary.framework" />
            <framework src="MobileCoreServices.framework" />
            <framework src="CoreGraphics.framework" />
            <framework src="CoreImage.framework" />
            <framework src="AVFoundation.framework" />

            <config-file target="*-Info.plist" parent="NSCameraUsageDescription">
                <string>This app requires access to the camera to take photos.</string>
            </config-file>

            <config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
                <string>This app requires access to the photo library to display images.</string>
            </config-file>

            <config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription">
                <string>This app requires access to your location when in use to include location info in photo metadata.</string>
            </config-file>
                  
     </platform>

    <!-- browser -->
    <platform name="browser">
        <config-file target="config.xml" parent="/*">
            <feature name="Camera">
                <param name="browser-package" value="Camera" />
            </feature>
        </config-file>

        <js-module src="src/browser/CameraProxy.js" name="CameraProxy">
            <runs />
        </js-module>
    </platform>

    <!-- windows -->
    <platform name="windows">
        <config-file target="package.appxmanifest" parent="/Package/Capabilities">
            <DeviceCapability Name="webcam" />
        </config-file>
        <js-module src="www/CameraPopoverHandle.js" name="CameraPopoverHandle">
            <clobbers target="CameraPopoverHandle" />
        </js-module>
        <js-module src="src/windows/CameraProxy.js" name="CameraProxy">
            <runs />
        </js-module>
    </platform>

    <!-- osx -->
    <platform name="osx">
        <config-file target="config.xml" parent="/*">
            <feature name="Camera">
                <param name="osx-package" value="CDVCamera"/>
            </feature>
        </config-file>

        <js-module src="www/CameraPopoverHandle.js" name="CameraPopoverHandle">
            <clobbers target="CameraPopoverHandle" />
        </js-module>
        
        <header-file src="src/osx/CDVCamera.h" />
        <source-file src="src/osx/CDVCamera.m" />
                
        <framework src="Quartz.framework" />
        <framework src="AppKit.framework" />
    </platform>

</plugin>
