<?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="de.appplant.cordova.plugin.background-mode"
        version="0.6.4">

    <name>BackgroundMode</name>

    <description>
        Cordova plugin to prevent the app from going to sleep in background.
    </description>

    <repo>https://github.com/katzer/cordova-plugin-background-mode.git</repo>

    <keywords>appplant, background</keywords>

    <license>Apache 2.0</license>

    <author>Sebastián Katzer</author>

    <!-- dependencies -->
    <dependency id="org.apache.cordova.device" />

    <!-- cordova -->
    <engines>
        <engine name="cordova" version=">=3.0.0" />
    </engines>

    <!-- js -->
    <js-module src="www/background-mode.js" name="BackgroundMode">
        <clobbers target="cordova.plugins.backgroundMode" />
        <clobbers target="plugin.backgroundMode" />
    </js-module>

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

        <!-- The app is able to run in background through audio mode -->
        <config-file target="*-Info.plist" parent="UIBackgroundModes">
            <array>
                <string>audio</string>
            </array>
        </config-file>

        <resource-file src="appbeep.wav" />

        <header-file src="src/ios/APPBackgroundMode.h" />
        <source-file src="src/ios/APPBackgroundMode.m" />
    </platform>

    <!-- android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="BackgroundMode" >
                <param name="android-package"
                      value="de.appplant.cordova.plugin.background.BackgroundMode"/>
            </feature>
        </config-file>

        <config-file target="res/xml/config.xml" parent="/*">
            <preference name="KeepRunning" value="true" />
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/manifest/application">
            <!--
             * Puts the service in a foreground state, where the system considers
             * it to be something the user is actively aware of and thus not a
             * candidate for killing when low on memory.
            -->
            <service android:name="de.appplant.cordova.plugin.background.ForegroundService" />

        </config-file>

        <source-file
            src="src/android/BackgroundMode.java"
            target-dir="src/de/appplant/cordova/plugin/background" />

        <source-file
            src="src/android/ForegroundService.java"
            target-dir="src/de/appplant/cordova/plugin/background" />

    </platform>

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

        <!-- The app is able to run in background through location-tracking mode -->
        <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Tasks/DefaultTask">
            <BackgroundExecution>
                <ExecutionType Name="LocationTracking" />
            </BackgroundExecution>
        </config-file>

        <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities">
            <Capability Name="ID_CAP_LOCATION" />
        </config-file>

        <source-file src="src/wp8/BackgroundMode.cs" />
    </platform>
</plugin>
