<?xml version="1.0" encoding="utf-8"?>
<!-- Replace org.libsdl.app with the identifier of your game below, e.g.
     com.gamemaker.game
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      package="{{ args.package }}"
      android:versionCode="{{ args.numeric_version }}"
      android:versionName="{{ args.version }}"
      android:installLocation="auto">

    <supports-screens
            android:smallScreens="true"
            android:normalScreens="true"
            android:largeScreens="true"
            android:anyDensity="true"
            {% if args.min_sdk_version >= 9 %}
            android:xlargeScreens="true"
            {% endif %}
    />

    <!-- Android 2.3.3 -->
    <uses-sdk android:minSdkVersion="{{ args.min_sdk_version }}" android:targetSdkVersion="{{ android_api }}" />

    <!-- OpenGL ES 2.0 -->
    <uses-feature android:glEsVersion="0x00020000" />

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    {% for perm in args.permissions %}
    {% if '.' in perm %}
    <uses-permission android:name="{{ perm }}" />
    {% else %}
    <uses-permission android:name="android.permission.{{ perm }}" />
    {% endif %}
    {% endfor %}

    {% if args.wakelock %}
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    {% endif %}

    {% if args.billing_pubkey %}
    <uses-permission android:name="com.android.vending.BILLING" />
    {% endif %}

    <!-- Create a Java class extending SDLActivity and place it in a
         directory under src matching the package, e.g.
         	src/com/gamemaker/game/MyGame.java

         then replace "SDLActivity" with the name of your class (e.g. "MyGame")
         in the XML below.

         An example Java class can be found in README-android.txt
    -->
    <application android:label="@string/app_name"
                 android:icon="@drawable/icon"
                 android:allowBackup="true"
                 android:theme="@style/LbryAppTheme"
                 android:hardwareAccelerated="true"
                 android:usesCleartextTraffic="true">

        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/ic_lbry" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_color"
            android:resource="@color/lbryGreen" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_channel_id"
            android:value="@string/default_notification_channel_id"/>

        {% for m in args.meta_data %}
        <meta-data android:name="{{ m.split('=', 1)[0] }}" android:value="{{ m.split('=', 1)[-1] }}"/>{% endfor %}
        <meta-data android:name="wakelock" android:value="{% if args.wakelock %}1{% else %}0{% endif %}"/>

        <!--activity android:name="io.lbry.lbrynet.ServiceControlActivity"
                  android:label="@string/app_name"
                  android:configChanges="keyboardHidden|orientation{% if args.min_sdk_version >= 13 %}|screenSize{% endif %}"
                  android:screenOrientation="{{ args.orientation }}"
				  -->

        <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />

        <activity android:name="io.lbry.browser.MainActivity"
                  android:label="@string/app_name"
                  android:theme="@style/LbryAppTheme"
                  android:configChanges="keyboardHidden|orientation{% if args.min_sdk_version >= 13 %}|screenSize{% endif %}"
                  android:screenOrientation="{{ args.orientation }}"
                  android:launchMode="singleInstance"
                  >

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="lbry" />
            </intent-filter>

            {% if args.launcher %}
            <intent-filter>
                <action android:name="org.kivy.LAUNCH" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="{{ url_scheme }}" />
            </intent-filter>
            {% else  %}
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            {% endif %}

            {%- if args.intent_filters -%}
            {{- args.intent_filters -}}
            {%- endif -%}
        </activity>

        <receiver android:name="io.lbry.browser.receivers.NotificationDeletedReceiver" />

        {% if args.launcher %}
        <activity android:name="org.kivy.android.launcher.ProjectChooser"
                  android:icon="@drawable/icon"
                  android:label="@string/app_name">

          <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>

        </activity>
        {% endif %}

        {% if service or args.launcher %}
        <service android:name="org.kivy.android.PythonService"
                 android:process=":pythonservice" />
        {% endif %}
        {% for name in service_names %}
        <service android:name="{{ args.package }}.Service{{ name|capitalize }}"
                 android:process=":service_{{ name }}" />
        {% endfor %}
        <service android:name="{{ args.package }}.LbrynetService"
				 android:process=":service_lbrynet" />
		<service android:name="{{ args.package }}.LbrynetTestRunnerService"
				 android:process=":service_lbrynet_testrunner" />

        <service
            android:name="{{ args.package }}.LbrynetMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

        {% if args.billing_pubkey %}
        <service android:name="org.kivy.android.billing.BillingReceiver"
                 android:process=":pythonbilling" />
        <receiver android:name="org.kivy.android.billing.BillingReceiver"
                  android:process=":pythonbillingreceiver">
            <intent-filter>
                <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
                <action android:name="com.android.vending.billing.RESPONSE_CODE" />
                <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
            </intent-filter>
        </receiver>
        {% endif %}

         <provider
            android:name="io.lbry.browser.LocalFileProvider"
            android:authorities="io.lbry.browser.fileprovider"
            android:grantUriPermissions="true"
            android:exported="false">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/filepaths" />
        </provider>
    </application>

</manifest>
