<?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"
        id="blinkid-cordova" 
        version="6.13.0">

    <name>BlinkIdScanner</name>
    <description>A small and powerful ID card scanning library</description>
    <license>MIT</license>
    <keywords>ID</keywords>
    <author>Microblink Team info@microblink.com</author>

    <engines>
        <engine name="cordova" version=">=7.0.0" />
        <engine name="cordova-android" version=">=8.0.0" />
    </engines>   

    <js-module src="www/blinkIdScanner.js" name="BlinkIDScanner">
        <clobbers target="cordova.plugins.BlinkID" />
    </js-module>

    <!-- android -->
    <platform name="android">

        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="BlinkIDScanner">
                <param name="android-package" value="com.microblink.blinkid.plugins.cordova.BlinkIDScanner" />
            </feature>
        </config-file>

        <config-file target="app/src/main/AndroidManifest.xml" parent="/manifest">
            <uses-permission android:name="android.permission.CAMERA" />
            <uses-permission android:name="android.permission.FLASHLIGHT" />
            
            <uses-feature android:name="android.hardware.camera" />
            <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
            <uses-feature android:name="android.hardware.camera.flash" android:required="false" />

            <supports-screens
                android:anyDensity="true"
                android:largeScreens="true"
                android:normalScreens="true"
                android:resizeable="true"
                android:smallScreens="true" />
        </config-file>

        <config-file target="app/src/main/AndroidManifest.xml" parent="/manifest/application">
            <activity
                    android:name="com.microblink.activity.ScanCard"
                    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                    android:configChanges="orientation|screenSize"
                    android:screenOrientation="portrait" >
            </activity>

            <activity android:name="com.microblink.activity.DocumentScanActivity" android:noHistory="true" />
            <activity android:name="com.microblink.activity.DocumentVerificationActivity" android:noHistory="true" />
            <activity android:name="com.microblink.activity.BlinkIdActivity" android:noHistory="true" />
        </config-file>


        <!-- ANDROID SOURCE FILES BEGIN -->
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/SerializationUtils.java" target-dir="src/com/microblink/blinkid/plugins/cordova" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/FakeR.java" target-dir="src/com/microblink/blinkid/plugins/cordova" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/BlinkIDScanner.java" target-dir="src/com/microblink/blinkid/plugins/cordova" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/overlays/OverlaySettingsSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/overlays" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/overlays/OverlaySerializationUtils.java" target-dir="src/com/microblink/blinkid/plugins/cordova/overlays" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/overlays/OverlaySettingsSerializers.java" target-dir="src/com/microblink/blinkid/plugins/cordova/overlays" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/overlays/serialization/DocumentVerificationOverlaySettingsSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/overlays/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/overlays/serialization/BlinkIdOverlaySettingsSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/overlays/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/overlays/serialization/DocumentOverlaySettingsSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/overlays/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/RecognizerSerializers.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/RecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/SuccessFrameGrabberRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/MrtdRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/MrtdCombinedRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/BlinkIdMultiSideRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/IdBarcodeRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/BlinkIDSerializationUtils.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/UsdlRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/BlinkIdSingleSideRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/PassportRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/DocumentFaceRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/VisaRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <source-file src="src/android/java/com/microblink/blinkid/plugins/cordova/recognizers/serialization/UsdlCombinedRecognizerSerialization.java" target-dir="src/com/microblink/blinkid/plugins/cordova/recognizers/serialization" />
        <!-- ANDROID SOURCE FILES END -->

        <!-- resources -->
        <resource-file src="src/android/res/raw/beep.mp3" target="res/raw/beep.mp3" />

        <framework src="src/android/libBlinkID.gradle" custom="true" type="gradleReference" />
        
        <!--hook type="after_prepare" src="scripts/fix-largeheap.js" /-->
    </platform>

    <platform name="ios">
        <!-- IOS SOURCE FILES BEGIN -->
        <header-file src="src/ios/sources/CDVBlinkIDScanner.h" />
        <source-file src="src/ios/sources/MBBlinkIDSerializationUtils.m" />
        <source-file src="src/ios/sources/MBCommonSerializationUtils.m" />
        <source-file src="src/ios/sources/MBSerializationUtils.m" />
        <header-file src="src/ios/sources/MBBlinkIDSerializationUtils.h" />
        <source-file src="src/ios/sources/CDVBlinkIDScanner.m" />
        <header-file src="src/ios/sources/MBCommonSerializationUtils.h" />
        <header-file src="src/ios/sources/MBSerializationUtils.h" />
        <source-file src="src/ios/sources/Overlays/MBOverlaySerializationUtils.m" />
        <header-file src="src/ios/sources/Overlays/MBOverlayVCCreator.h" />
        <source-file src="src/ios/sources/Overlays/MBOverlaySettingsSerializers.m" />
        <header-file src="src/ios/sources/Overlays/MBOverlaySerializationUtils.h" />
        <header-file src="src/ios/sources/Overlays/MBOverlayViewControllerDelegate.h" />
        <header-file src="src/ios/sources/Overlays/MBOverlaySettingsSerializers.h" />
        <header-file src="src/ios/sources/Overlays/Serialization/MBDocumentOverlaySettingsSerialization.h" />
        <source-file src="src/ios/sources/Overlays/Serialization/MBDocumentVerificationOverlaySettingsSerialization.m" />
        <source-file src="src/ios/sources/Overlays/Serialization/MBBlinkIdOverlaySettingsSerialization.m" />
        <source-file src="src/ios/sources/Overlays/Serialization/MBDocumentOverlaySettingsSerialization.m" />
        <header-file src="src/ios/sources/Overlays/Serialization/MBDocumentVerificationOverlaySettingsSerialization.h" />
        <header-file src="src/ios/sources/Overlays/Serialization/MBBlinkIdOverlaySettingsSerialization.h" />
        <header-file src="src/ios/sources/Recognizers/MBRecognizerWrapper.h" />
        <header-file src="src/ios/sources/Recognizers/MBRecognizerSerializers.h" />
        <source-file src="src/ios/sources/Recognizers/MBRecognizerWrapper.m" />
        <source-file src="src/ios/sources/Recognizers/MBRecognizerSerializers.m" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBDocumentFaceRecognizerWrapper.m" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBVisaRecognizerWrapper.m" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBBlinkIdMultiSideRecognizerWrapper.m" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBSuccessFrameGrabberRecognizerWrapper.h" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBMrtdRecognizerWrapper.m" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBUsdlRecognizerWrapper.h" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBBlinkIdSingleSideRecognizerWrapper.h" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBMrtdCombinedRecognizerWrapper.m" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBPassportRecognizerWrapper.m" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBUsdlCombinedRecognizerWrapper.m" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBIdBarcodeRecognizerWrapper.m" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBVisaRecognizerWrapper.h" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBDocumentFaceRecognizerWrapper.h" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBMrtdCombinedRecognizerWrapper.h" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBBlinkIdSingleSideRecognizerWrapper.m" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBUsdlRecognizerWrapper.m" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBBlinkIdMultiSideRecognizerWrapper.h" />
        <source-file src="src/ios/sources/Recognizers/Wrappers/MBSuccessFrameGrabberRecognizerWrapper.m" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBMrtdRecognizerWrapper.h" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBIdBarcodeRecognizerWrapper.h" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBUsdlCombinedRecognizerWrapper.h" />
        <header-file src="src/ios/sources/Recognizers/Wrappers/MBPassportRecognizerWrapper.h" />
        <!-- IOS SOURCE FILES END -->
        
        <framework src="libc++.dylib" />
        <framework src="libz.dylib" />
        <framework src="libiconv.dylib" />

        <framework src="CoreVideo.framework" />
        <framework src="CoreText.framework" />
        <framework src="CoreMedia.framework" />
        <framework src="QuartzCore.framework" />
        <framework src="AudioToolbox.framework" />
        <framework src="OpenGLES.framework" />
        <framework src="Accelerate.framework" />
        <framework src="src/ios/blinkid-ios/BlinkID.xcframework" custom="true" embed="true"/>
        <preference name="CAMERA_USAGE_DESCRIPTION" default=" " />
        <config-file target="*-Info.plist" parent="NSCameraUsageDescription">
            <string>$CAMERA_USAGE_DESCRIPTION</string>
        </config-file>
        
        <config-file target="config.xml" parent="/*">
            <feature name="BlinkIDScanner">
                <param name="ios-package" value="CDVBlinkIDScanner" />
            </feature>
        </config-file>
        
        <hook type="before_plugin_install" src="scripts/initIOSFramework.sh"/>
    </platform>
    
</plugin>
