<?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="cordova-plugin-playlist"
	version="0.9.2">
	<name>AudioPlayer</name>
	<keywords>cordova,music,controller,controls,media,plugin,notification,lockscreen,now,playing,playlist</keywords>
	<repo>https://github.com/Rolamix/cordova-plugin-playlist</repo>
	<description>Native support for audio playlists, background support, and lock screen controls</description>
	<license>MIT</license>
	<author>Rolamix</author>

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

	<js-module src="www/RmxAudioPlayer.js" name="AudioPlayer">
		<clobbers target="window.plugins.AudioPlayer" />
	</js-module>

  <js-module src="www/Constants.js" name="Constants">
		<runs />
	</js-module>

	<!-- android -->
	<platform name="android">
    <hook type="after_prepare" src="scripts/android_after_plugin_install.js" />
    <hook type="after_plugin_install" src="scripts/android_after_plugin_install.js"/>
    <hook type="before_plugin_uninstall" src="scripts/android_before_plugin_uninstall.js" />

    <info>
        cordova-plugin-playlist adds a MainApplication.java file to your Android project and an Application to your app.
        If your app cannot use this, do not install this plugin.
    </info>

		<config-file target="res/xml/config.xml" parent="/*">
			<feature name="RmxAudioPlayer" >
				<param name="android-package" value="com.rolamix.plugins.audioplayer.AudioPlayerPlugin"/>
        <param name="onload" value="true" />
			</feature>
		</config-file>

    <config-file target="AndroidManifest.xml" parent="/manifest">
      <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
      <!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> -->
      <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    </config-file>

    <config-file target="AndroidManifest.xml" parent="/manifest/application">
      <service android:name="com.rolamix.plugins.audioplayer.service.MediaService"></service>
    </config-file>

    <!-- ExoMedia requires an application to instantiate the playlist service.
         This is because even when the cordova activity goes out of scope
         (e.g. minimize the app), the notification callbacks need to continue running.
         This can be done with activities & binder services, but the ExoMedia author chose not to.
         Due to a bug in Cordova, this cannot be added via plugin.xml using <edit-config>; instead
         the plugin install/uninstall scripts manages this.
    -->

    <dependency id="cordova-support-google-services" version="~1.2.0"/>

    <framework src="com.android.support:support-v4:27.+" />
    <framework src="com.android.support:support-media-compat:27.+" />
    <framework src="src/android/audio-player.gradle" custom="true" type="gradleReference"/>

    <resource-file src="src/android/res/drawable/img_playlist_notif_default.png" target="res/drawable/img_playlist_notif_default.png" />
    <resource-file src="src/android/res/drawable/img_playlist_artwork_default.png" target="res/drawable/img_playlist_artwork_default.png" />

    <source-file src="src/android/java/data/AudioTrack.java" target-dir="src/com/rolamix/plugins/audioplayer/data/" />
    <source-file src="src/android/java/manager/PlaylistManager.java" target-dir="src/com/rolamix/plugins/audioplayer/manager/" />
    <source-file src="src/android/java/manager/MediaControlsListener.java" target-dir="src/com/rolamix/plugins/audioplayer/manager/" />
    <source-file src="src/android/java/notification/PlaylistNotificationProvider.java" target-dir="src/com/rolamix/plugins/audioplayer/notification/" />
    <source-file src="src/android/java/playlist/AudioApi.java" target-dir="src/com/rolamix/plugins/audioplayer/playlist/" />
    <source-file src="src/android/java/playlist/AudioPlaylistHandler.java" target-dir="src/com/rolamix/plugins/audioplayer/playlist/" />
    <source-file src="src/android/java/playlist/BaseMediaApi.java" target-dir="src/com/rolamix/plugins/audioplayer/playlist/" />
    <source-file src="src/android/java/service/MediaImageProvider.java" target-dir="src/com/rolamix/plugins/audioplayer/service/" />
    <source-file src="src/android/java/service/MediaService.java" target-dir="src/com/rolamix/plugins/audioplayer/service/" />

    <source-file src="src/android/java/MainApplication.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/AudioPlayerPlugin.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/FakeR.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/OnStatusCallback.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/OnStatusReportListener.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/PluginCallback.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/PlaylistItemOptions.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/RmxAudioPlayer.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
		<source-file src="src/android/java/RmxConstants.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/RmxAudioErrorType.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/RmxAudioStatusMessage.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
    <source-file src="src/android/java/TrackRemovalItem.java" target-dir="src/com/rolamix/plugins/audioplayer/" />
	</platform>

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

    <framework src="MediaPlayer.framework" />
    <framework src="AVFoundation.framework" />

		<header-file src="src/ios/AudioTrack.h" />
    <header-file src="src/ios/AVBidirectionalQueuePlayer.h" />
    <header-file src="src/ios/Constants.h" />
		<header-file src="src/ios/MainViewController+RmxAudioPlayer.h" />
		<header-file src="src/ios/RmxAudioPlayer.h" />

		<source-file src="src/ios/AudioTrack.m" />
    <source-file src="src/ios/AVBidirectionalQueuePlayer.m" />
		<source-file src="src/ios/MainViewController+RmxAudioPlayer.m" />
		<source-file src="src/ios/RmxAudioPlayer.m" />
	</platform>

      <!-- browser -->
    <platform name="browser">
      <js-module src="www/browser/Media.js" name="RmxAudioPlayer">
        <clobbers target="RmxAudioPlayer" />
      </js-module>
    </platform>

</plugin>
