<?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="com.foxdebug.acode.rk.exec.terminal" version="1.0.0">
    <name>Terminal</name>
   
    <js-module name="Terminal" src="www/Terminal.js">
        <clobbers target="window.Terminal" />
    </js-module>

    <!-- executor api -->
    <js-module name="Executor" src="www/Executor.js">
        <clobbers target="window.Executor" />
    </js-module>

    <platform name="android">

        <framework src="org.java-websocket:Java-WebSocket:1.6.0" />

        <config-file parent="/*" target="res/xml/config.xml">
            <feature name="Executor">
                <param name="android-package" value="com.foxdebug.acode.rk.exec.terminal.Executor" />
            </feature>
            <feature name="BackgroundExecutor">
                <param name="android-package" value="com.foxdebug.acode.rk.exec.terminal.BackgroundExecutor" />
            </feature>
        </config-file>
        <config-file parent="/*" target="AndroidManifest.xml" />

        <source-file src="src/android/BackgroundExecutor.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />
        <source-file src="src/android/ProcessManager.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />
        <source-file src="src/android/ProcessUtils.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />
        <source-file src="src/android/StreamHandler.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />

        <source-file src="src/android/Executor.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />
        <source-file src="src/android/ProcessServer.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />

        <source-file src="src/android/TerminalService.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />
        
        <source-file src="src/android/AlpineDocumentProvider.java" target-dir="src/com/foxdebug/acode/rk/exec/terminal" />

        <source-file src="scripts/init-sandbox.sh" target-dir="assets"/>
        <source-file src="scripts/init-alpine.sh" target-dir="assets"/>
        <source-file src="scripts/rm-wrapper.sh" target-dir="assets"/>


        <config-file target="AndroidManifest.xml" parent="./application">
            <provider
                android:name="com.foxdebug.acode.rk.exec.terminal.AlpineDocumentProvider"
                android:authorities="${applicationId}.documents"
                android:exported="true"
                android:grantUriPermissions="true"
                android:icon="@mipmap/ic_launcher"
                android:permission="android.permission.MANAGE_DOCUMENTS">
            <intent-filter>
                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
            </intent-filter>
            </provider>

            <service
                android:name="com.foxdebug.acode.rk.exec.terminal.TerminalService"
                android:enabled="true"
                android:foregroundServiceType="specialUse"
                android:exported="false" />

        </config-file>

        <config-file target="AndroidManifest.xml" parent="/manifest">
            <uses-permission android:name="android.permission.WAKE_LOCK"/>
            <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
            <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
            <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
        </config-file>


        <!-- DO NOT EDIT OR REMOVE-->
        <config-file target="AndroidManifest.xml" parent="/manifest"></config-file>

    </platform>
</plugin>