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

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
    xmlns:rim="http://www.blackberry.com/ns/widgets"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="cordova-plugin-wechat"
    version="3.0.0">

    <name>Wechat</name>
    <description>A cordova plugin, a JS version of Wechat SDK</description>
    <license>MIT</license>
    <keywords>cordova,wechat,weixin,share</keywords>
    <repo>https://github.com/xu-li/cordova-plugin-wechat.git</repo>
    <issue>https://github.com/xu-li/cordova-plugin-wechat/issues</issue>

    <!-- add this to your config.xml -->
    <!-- <preference name="WECHATAPPID" value="YOUR_WECHAT_APP_ID_HERE" /> -->
    <preference name="WECHATAPPID" />
    <preference name="UNIVERSALLINK" />

    <!-- js module-->
    <js-module src="www/wechat.js" name="Wechat">
        <clobbers target="Wechat" />
    </js-module>

    <!-- ios -->
    <platform name="ios">
        <config-file target="config.xml" parent="/*">
            <feature name="Wechat">
                <param name="ios-package" value="CDVWechat"/>
                <param name="onload" value="true" />
            </feature>
            <preference name="WECHATAPPID" value="$WECHATAPPID"/>
            <preference name="UNIVERSALLINK" value="$UNIVERSALLINK"/>
        </config-file>

        <config-file target="*-Info.plist" parent="LSApplicationQueriesSchemes">
            <array>
                <string>weixin</string>
                <string>wechat</string>
                <string>weixinULAPI</string>
            </array>
        </config-file>

        <config-file target="*-Info.plist" parent="NSAppTransportSecurity">
            <dict>
                <key>NSAllowsArbitraryLoads</key>
                <true/>
            </dict>
        </config-file>


        <config-file target="*-Info.plist" parent="CFBundleURLTypes">
            <array>
                <dict>
                    <key>CFBundleURLName</key>
                    <string>weixin</string>
                    <key>CFBundleURLSchemes</key>
                    <array>
                        <string>$WECHATAPPID</string>
                    </array>
                </dict>
            </array>
        </config-file>

        <!-- Plugin source code -->
        <header-file src="src/ios/CDVWechat.h" />
        <source-file src="src/ios/CDVWechat.m" />
        <header-file src="src/ios/AppDelegate+Wechat.h" />
        <source-file src="src/ios/AppDelegate+Wechat.m" />

        <!-- Wechat Official -->
        <header-file src="src/ios/libs/OpenSDK1.8.6.2/WXApi.h" />
        <header-file src="src/ios/libs/OpenSDK1.8.6.2/WXApiObject.h" />
        <header-file src="src/ios/libs/OpenSDK1.8.6.2/WechatAuthSDK.h" />
        <source-file src="src/ios/libs/OpenSDK1.8.6.2/libWeChatSDK.a" framework="true" />

        <!-- Other required frameworks -->
        <framework src="libz.tbd" />
        <framework src="libsqlite3.0.tbd" />
        <framework src="CoreTelephony.framework" />
        <framework src="SystemConfiguration.framework" />
        <framework src="Security.framework" />
        <framework src="CFNetwork.framework" />
        <framework src="CoreGraphics.framework" />
        <framework src="Webkit.framework" />
        <framework src="libc++.1.tbd" />
    </platform>

    <!-- android -->
    <platform name="android">
        <hook type="after_plugin_add" src="scripts/android-install.js" />
        <hook type="after_plugin_install" src="scripts/android-install.js" />
        <hook type="before_plugin_rm" src="scripts/android-install.js" />
        <hook type="before_plugin_uninstall" src="scripts/android-install.js" />

        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="Wechat">
                <param name="android-package" value="xu.li.cordova.wechat.Wechat"/>
            </feature>
            <preference name="WECHATAPPID" value="$WECHATAPPID"/>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
            <uses-permission android:name="android.permission.READ_PHONE_STATE" />
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/manifest/application">
            <activity
                android:name=".wxapi.WXEntryActivity"
                android:label="@string/launcher_name"
                android:exported="true"
                android:taskAffinity="$PACKAGE_NAME"
                android:launchMode="singleTask">
                <intent-filter>
                    <action android:name="android.intent.action.VIEW"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <data android:scheme="$WECHATAPPID"/>
                </intent-filter>
            </activity>
            <activity
                android:name=".wxapi.WXPayEntryActivity"
                android:label="@string/launcher_name"
                android:exported="true"
                android:launchMode="singleTop">
                <intent-filter>
                    <action android:name="android.intent.action.VIEW"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <data android:scheme="$WECHATAPPID"/>
                </intent-filter>
            </activity>
        </config-file>

        <source-file src="src/android/Wechat.java" target-dir="src/xu/li/cordova/wechat" />
        <source-file src="src/android/Util.java" target-dir="src/xu/li/cordova/wechat" />
        <framework src="android-build.gradle" custom="true" type="gradleReference" />
    </platform>
</plugin>
