<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="app.seamlessupdate.client"
        android:versionCode="1"
        android:versionName="1">

    <uses-sdk android:minSdkVersion="36" android:targetSdkVersion="36" />

    <!-- /data/ota_package -->
    <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ALLOCATE_AGGRESSIVE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.REBOOT" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <!-- Permission used to open Updater settings -->
    <permission
        android:name="app.seamlessupdate.client.OPEN_SETTINGS"
        android:protectionLevel="system|signature" />

    <application android:label="@string/app_name"
            android:name=".UpdaterApplication"
            android:icon="@mipmap/ic_launcher"
            android:networkSecurityConfig="@xml/network_security_config"
            android:theme="@style/Theme.SubSettingsBase">
        <service android:name=".Service"
                android:directBootAware="true"
                android:exported="false"
                android:foregroundServiceType="specialUse" />

        <service android:name=".PeriodicJob"
                android:directBootAware="true"
                android:permission="android.permission.BIND_JOB_SERVICE"
                android:exported="false" />

        <service android:name=".IdleReboot"
                android:directBootAware="true"
                android:permission="android.permission.BIND_JOB_SERVICE"
                android:exported="false" />

        <receiver android:name=".BootReceiver"
                android:directBootAware="true"
                android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <receiver android:name=".RebootReceiver"
                android:directBootAware="true"
                android:exported="false" />

        <activity android:name=".Settings"
                android:launchMode="singleTop"
                android:label="@string/settings_title"
                android:excludeFromRecents="true"
                android:permission="app.seamlessupdate.client.OPEN_SETTINGS"
                android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.SHORTCUT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.settings.SYSTEM_UPDATE_SETTINGS" />
            </intent-filter>
        </activity>

    </application>
</manifest>
