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

<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="cordova-background-geolocation-lt"
    version="4.18.3">

    <name>BackgroundGeolocation</name>
    <description>The most sophisticated, battery-efficient background-geolocation and geofencing plugin for Cordova</description>
    <license>MIT</license>
    <keywords>cordova, phonegap, background geolocation, background, location, tracking, geofence, geofencing</keywords>

    <engines>
        <engine name="cordova" version=">=7.1.0"/>
        <engine name="cordova-android" version=">=7.0.0"/>
        <engine name="cordova-ios" version=">=4.5.0"/>
    </engines>

    <dependency id="cordova-plugin-background-fetch" version="~7.2.4" />

    <js-module src="www/BackgroundGeolocation.js" name="BackgroundGeolocation">
        <clobbers target="window.BackgroundGeolocation" />
    </js-module>
    <js-module src="www/API.js" name="API"></js-module>
    <js-module src="www/DeviceSettings.js" name="DeviceSettings"></js-module>
    <js-module src="www/Logger.js" name="Logger"></js-module>
    <js-module src="www/TransistorAuthorizationToken.js" name="TransistorAuthorizationToken"></js-module>

    <platform name="ios">
        <preference name="BACKGROUND_MODE_LOCATION" default="&lt;string&gt;location&lt;/string&gt;" />

        <!-- required background modes:  App registers for location updates -->
        <config-file target="*-Info.plist" parent="UIBackgroundModes">
            <array>
                $BACKGROUND_MODE_LOCATION
            </array>
        </config-file>

        <config-file target="config.xml" parent="/*">
            <feature name="BackgroundGeolocation">
                <param name="ios-package" value="CDVBackgroundGeolocation"/>
            </feature>
        </config-file>


        <podspec>
            <config>
                <source url="https://cdn.cocoapods.org/"/>
            </config>
            <pods>
                <pod name="CocoaLumberjack" spec="~> 3.7.2" />
            </pods>
        </podspec>

        <framework src="libstdc++.dylib" />
        <framework src="AudioToolbox.framework" weak="true" />
        <framework src="SystemConfiguration.framework" weak="true" />
        <framework src="AVFoundation.framework" weak="true" />
        <framework src="libsqlite3.dylib" weak="true" />
        <framework src="libz.dylib" weak="true" />
        <framework src="src/ios/TSLocationManager.xcframework" custom="true" />
        <source-file src="src/ios/CDVBackgroundGeolocation.m" />
        <header-file src="src/ios/CDVBackgroundGeolocation.h" />
     </platform>

     <!-- android -->
    <platform name="android">
        <preference name="GOOGLE_API_VERSION" default="20.+" />
        <preference name="HMS_LOCATION_VERSION" default="6.9.0.300" />
        <preference name="OKHTTP_VERSION" default="3.12.+" />
        <framework src="com.squareup.okhttp3:okhttp:$OKHTTP_VERSION"/>
        <preference name="EVENTBUS_VERSION" default="3.3.1" />
        <framework src="org.greenrobot:eventbus:$EVENTBUS_VERSION"/>

        <framework src="io.github.nishkarsh:android-permissions:2.1.6"/>
        <framework src="org.slf4j:slf4j-api:2.0.7"/>
        <framework src="com.github.tony19:logback-android:3.0.0"/>
        <framework src="androidx.lifecycle:lifecycle-runtime:2.4.+" />
        <framework src="androidx.lifecycle:lifecycle-extensions:2.2.+" />

        <framework src="src/android/build.gradle" custom="true" type="gradleReference" />

        <resource-file src="src/android/libs/com/transistorsoft/tslocationmanager" target="../../libs/com/transistorsoft/tslocationmanager" />
        <resource-file src="src/android/libs/com/transistorsoft/tslocationmanager-v21" target="../../libs/com/transistorsoft/tslocationmanager-v21" />

        <source-file src="src/android/CDVBackgroundGeolocation.java" target-dir="src/com/transistorsoft/cordova/bggeo" />

        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="BackgroundGeolocation">
                <param name="android-package" value="com.transistorsoft.cordova.bggeo.CDVBackgroundGeolocation"/>
            </feature>
        </config-file>
     </platform>

     <!-- Browser (mock) -->
     <platform name="browser">
        <config-file target="config.xml" parent="/*">
            <feature name="BackgroundGeolocation"></feature>
        </config-file>
        <js-module src="src/browser/BackgroundGeolocationMock.js" name="BackgroundGeolocationMock">
            <runs/>
        </js-module>
     </platform>

</plugin>
