<?xml version="1.0" encoding="utf-8"?>
<!--

    Geekttrss is a RSS feed reader application on the Android Platform.

    Copyright (C) 2017-2019 by Frederic-Charles Barthelery.

    This file is part of Geekttrss.

    Geekttrss is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Geekttrss is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Geekttrss.  If not, see <http://www.gnu.org/licenses/>.

-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- AGP 7.0 seems to have a bug who makes it ignores targetSdkVersion for manifest of variant (debug/release) -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

    <queries>
        <intent>
            <action android:name="android.support.customtabs.action.CustomTabsService" />
        </intent>
    </queries>

    <application
            android:name="com.geekorum.ttrss.Application"
            android:appCategory="news"
            android:supportsRtl="true"
            android:allowBackup="true"
            android:fullBackupOnly="true"
            android:hardwareAccelerated="true"
            android:icon="@mipmap/ic_launcher"
            android:roundIcon="@drawable/ic_launcher_round"
            android:label="@string/app_name"
            android:theme="@style/AppTheme"
            android:networkSecurityConfig="@xml/network_security_config"
            tools:ignore="UnusedAttribute">

        <activity android:name="com.geekorum.ttrss.MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.geekorum.ttrss.articles_list.ArticleListActivity"
            android:theme="@style/AppTheme.ArticleListActivity"
            android:exported="false"
            />

        <activity
            android:name="com.geekorum.ttrss.SingleActivity"
            android:theme="@style/AppTheme.NoActionBar"
            android:exported="false"
            />

        <activity
            android:name="com.geekorum.ttrss.article_details.ArticleDetailActivity"
            android:label="@string/title_article_details"
            android:parentActivityName="com.geekorum.ttrss.articles_list.ArticleListActivity"
            android:theme="@style/AppTheme.ArticleDetailActivity"
            android:exported="true"
            >
            <intent-filter tools:ignore="AppLinkUrlError">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.item/vnd.com.geekorum.ttrss.article" />
            </intent-filter>
        </activity>

        <activity android:name="com.geekorum.ttrss.accounts.LoginActivity"
                  android:excludeFromRecents="true"
                  android:taskAffinity="com.geekorum.ttrss.account"
                  android:theme="@style/AppTheme.NoActionBar"
                  android:exported="false"
            />

        <activity
                android:name="com.geekorum.ttrss.settings.SettingsActivity"
                android:label="@string/activity_settings_title"
                android:theme="@style/AppTheme.NoActionBar"
                android:parentActivityName="com.geekorum.ttrss.articles_list.ArticleListActivity"
                android:exported="false"
            />

        <activity android:name=".settings.manage_features.InstallFeatureActivity"
            android:exported="false" />

        <activity android:name=".add_feed.AddFeedLauncherActivity"
                  android:label="@string/activity_add_feed_title"
                  android:theme="@style/AppTheme.LauncherActivity"
                  android:exported="true" >
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.SEND" />
                <data android:mimeType="text/plain" />
            </intent-filter>
        </activity>

        <activity android:name=".add_feed.AddFeedInstallerActivity"
            android:label="@string/lbl_install_feature_title"
            android:exported="false"
            />

        <activity android:name=".publish_article.ShareToPublishArticleActivity"
            android:label="@string/activity_share_to_publish_article_title"
            android:theme="@style/AppTheme.ShareToPublishArticleActivity"
            android:noHistory="true"
            android:exported="false"/>

        <activity android:name=".settings.licenses.OpenSourceLicensesActivity"
            android:theme="@style/AppTheme.NoActionBar"
            android:parentActivityName="com.geekorum.ttrss.settings.SettingsActivity"
            android:exported="false"
            />

        <service android:name="com.geekorum.ttrss.accounts.AuthenticatorService"
                 android:exported="true"
                 tools:ignore="ExportedService">
            <intent-filter>
                <action android:name="android.accounts.AccountAuthenticator" />
            </intent-filter>
            <meta-data android:name="android.accounts.AccountAuthenticator"
                       android:resource="@xml/authenticator"/>
        </service>

        <service android:name="com.geekorum.ttrss.sync.ArticleSyncService"
                 android:exported="true"
                 tools:ignore="ExportedService">
            <!--TODO run in another process-->
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <meta-data android:name="android.content.SyncAdapter"
                       android:resource="@xml/articlesyncadapter" />
        </service>

        <provider android:authorities="${applicationId}.providers.articles"
            android:name="com.geekorum.ttrss.providers.ArticlesProvider"
            android:exported="false"/>

        <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="${applicationId}.androidx-startup"
            android:exported="false"
            tools:node="merge">
            <!-- Remove WorkManagerInitializer and initialize manually in Application -->
            <meta-data
                android:name="androidx.work.WorkManagerInitializer"
                android:value="androidx.startup"
                tools:node="remove" />

            <meta-data android:name="com.geekorum.ttrss.background_job.WorkManagerInitializer"
                android:value="androidx.startup" />

            <meta-data android:name="com.geekorum.ttrss.background_job.BackgroundJobManagerInitializer"
                android:value="androidx.startup" />

            <meta-data android:name="com.geekorum.ttrss.debugtools.StrictModeInitializer"
                android:value="androidx.startup" />

            <meta-data android:name="com.geekorum.ttrss.debugtools.KotlinInitializer"
                android:value="androidx.startup" />

            <meta-data android:name="com.geekorum.ttrss.settings.SettingsInitializer"
                android:value="androidx.startup" />

            <meta-data android:name="com.geekorum.ttrss.logging.TimberInitializer"
                android:value="androidx.startup" />

            <meta-data android:name="com.geekorum.ttrss.DefaultNightModeInitializer"
                android:value="androidx.startup" />

        </provider>


        <!-- Preloaded downloaded fonts -->
        <meta-data
            android:name="preloaded_fonts"
            android:resource="@array/preloaded_fonts" />

    </application>

</manifest>
