<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.keylesspalace.tusky">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.VIBRATE" /> <!-- For notifications -->
    <uses-permission
        android:name="android.permission.ACCESS_COARSE_LOCATION"
        android:maxSdkVersion="22" /> <!-- for day/night mode -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

    <application
        android:name=".TuskyApplication"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/TuskyTheme"
        android:usesCleartextTraffic="false">
        <activity
            android:name=".SplashActivity"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

            <meta-data
                android:name="android.app.shortcuts"
                android:resource="@xml/share_shortcuts" />

        </activity>
        <activity
            android:name=".SavedTootActivity"
            android:configChanges="orientation|screenSize|keyboardHidden" />
        <activity
            android:name=".LoginActivity"
            android:windowSoftInputMode="adjustResize">
            <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:host="${applicationId}"
                    android:scheme="@string/oauth_scheme" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden|screenLayout|smallestScreenSize">
            <intent-filter>
                <action android:name="android.intent.action.SEND" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="text/plain" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="image/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="video/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND_MULTIPLE" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="image/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND_MULTIPLE" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="video/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="audio/*" />
            </intent-filter>

            <meta-data
                android:name="android.service.chooser.chooser_target_service"
                android:value="androidx.sharetarget.ChooserTargetServiceCompat" />

        </activity>
        <activity
            android:name=".components.compose.ComposeActivity"
            android:theme="@style/TuskyDialogActivityTheme"
            android:windowSoftInputMode="stateVisible|adjustResize" />
        <activity
            android:name=".components.chat.ChatActivity"
            android:windowSoftInputMode="stateVisible|adjustResize"/>
        <activity
            android:name=".ViewThreadActivity"
            android:configChanges="orientation|screenSize" />
        <activity android:name=".ViewTagActivity" />
        <activity
            android:name=".ViewMediaActivity"
            android:theme="@style/TuskyBaseTheme" />
        <activity
            android:name=".AccountActivity"
            android:configChanges="orientation|screenSize|keyboardHidden|screenLayout|smallestScreenSize" />
        <activity android:name=".EditProfileActivity" />
        <activity android:name=".components.preference.PreferencesActivity" />
        <activity android:name=".StatusListActivity" />
        <activity android:name=".AccountListActivity" />
        <activity android:name=".AboutActivity" />
        <activity android:name=".TabPreferenceActivity" />
        <activity
            android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
            android:theme="@style/Base.Theme.AppCompat" />
        <activity
            android:name=".components.search.SearchActivity"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>

            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>
        <activity android:name=".ListsActivity" />
        <activity android:name=".ModalTimelineActivity" />
        <activity android:name=".LicenseActivity" />
        <activity android:name=".FiltersActivity" />
        <activity
            android:name=".components.report.ReportActivity"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
        <activity android:name=".components.instancemute.InstanceListActivity" />
        <activity android:name=".components.scheduled.ScheduledTootActivity" />
        <activity android:name=".components.announcements.AnnouncementsActivity" />
        <activity android:name=".components.drafts.DraftsActivity" />

        <receiver android:name=".receiver.NotificationClearBroadcastReceiver" />
        <receiver
            android:name=".receiver.SendStatusBroadcastReceiver"
            android:enabled="true"
            android:exported="false" />

        <service
            android:name=".service.TuskyTileService"
            android:icon="@drawable/ic_tusky"
            android:label="Compose Toot"
            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
            tools:targetApi="24">
            <intent-filter>
                <action android:name="android.service.quicksettings.action.QS_TILE" />
            </intent-filter>
        </service>

        <service android:name=".service.SendTootService" />

        <service android:name=".service.StreamingService" />

        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>

        <!-- disable automatic WorkManager initialization -->
        <provider
            android:name="androidx.work.impl.WorkManagerInitializer"
            android:authorities="${applicationId}.workmanager-init"
            android:exported="false"
            tools:node="remove" />
    </application>

</manifest>
