<?xml version="1.0" encoding="utf-8"?>
<!--
/**
 * Copyright 2016, The CyanogenMod Project
 * Copyright 2017-2018, The LineageOS Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
    package="org.lineageos.lineageparts"
    android:versionCode="1"
    android:versionName="1.0"
    android:sharedUserId="android.uid.system">

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

    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="android.permission.DEVICE_POWER" />
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    <uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.READ_SEARCH_INDEXABLES" />

    <uses-permission android:name="lineageos.permission.MANAGE_REMOTE_PREFERENCES" />
    <uses-permission android:name="lineageos.permission.CHANGE_STYLE" />

    <protected-broadcast android:name="lineageos.intent.action.UPDATE_POWER_MENU" />
    <protected-broadcast android:name="lineageos.platform.app.profiles.PROFILES_STATE_CHANGED" />
    <protected-broadcast android:name="org.lineageos.lineageparts.PART_CHANGED" />
    <protected-broadcast android:name="org.lineageos.lineageparts.REFRESH_PART" />
    <protected-broadcast android:name="org.lineageos.lineageparts.gestures.UPDATE_SETTINGS" />

    <application android:label="@string/lineageparts_title"
            android:icon="@mipmap/ic_launcher"
            android:theme="@style/Theme.Settings"
            android:hardwareAccelerated="true"
            android:supportsRtl="true"
            android:defaultToDeviceProtectedStorage="true"
            android:directBootAware="true">

        <activity android:name=".PartsActivity"
                android:configChanges="orientation|keyboardHidden|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="org.lineageos.settings.summary.receiver"
                android:value="org.lineageos.lineageparts.PartsUpdater" />
        </activity>

        <activity android:name=".trust.TrustOnBoardingActivity"
            android:label="@string/trust_title"
            android:theme="@style/OnBoardingStyle"
            android:exported="true"
            android:enabled="true">
            <intent-filter android:priority="-4">
                <action android:name="org.lineageos.lineageparts.TRUST_HINT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <receiver android:name=".BootReceiver" android:enabled="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <receiver android:name=".PartsUpdater" android:enabled="true">
            <intent-filter>
                <action android:name="lineageos.intent.action.UPDATE_PREFERENCE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

        <provider android:name=".search.LineagePartsSearchIndexablesProvider"
                  android:authorities="org.lineageos.lineageparts"
                  android:multiprocess="false"
                  android:grantUriPermissions="true"
                  android:permission="android.permission.READ_SEARCH_INDEXABLES"
                  android:exported="true">
            <intent-filter>
                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
            </intent-filter>
        </provider>

        <!-- LiveDisplay settings (Display category) -->
        <activity-alias
            android:name=".livedisplay.LiveDisplaySettings"
            android:label="@*lineageos.platform:string/live_display_title"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="-2">
                <action android:name="org.lineageos.lineageparts.action.SETTINGS" />
                <action android:name="org.lineageos.lineageparts.LIVEDISPLAY_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.display" />
            <meta-data
                android:name="com.android.settings.summary"
                android:resource="@string/live_display_summary" />
        </activity-alias>

        <!-- Privacy settings (dashboard) -->
        <!--
        <activity-alias
            android:name=".PrivacySettings"
            android:label="@string/privacy_settings_title"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="3">
                <action android:name="com.android.settings.action.EXTRA_SETTINGS" />
                <action android:name="org.lineageos.lineageparts.PRIVACY_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="com.android.settings.category"
                android:value="com.android.settings.category.personal" />
            <meta-data
                android:name="com.android.settings.icon"
                android:resource="@drawable/ic_settings_privacy" />
            <meta-data
                android:name="org.lineageos.settings.summary.receiver"
                android:value="org.lineageos.lineageparts.PartsUpdater" />
            <meta-data
                android:name="org.lineageos.settings.summary.key"
                android:value="privacy_settings" />
        </activity-alias>
        -->

        <!-- Button settings (System category) -->
        <activity-alias
            android:name=".input.ButtonSettings"
            android:label="@string/button_pref_title"
            android:icon="@drawable/ic_settings_buttons"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="256">
                <action android:name="org.lineageos.lineageparts.action.SETTINGS" />
                <action android:name="org.lineageos.lineageparts.BUTTON_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.system" />
            <meta-data
                android:name="com.android.settings.summary"
                android:value="@string/summary_empty" />
        </activity-alias>

        <activity android:name=".gestures.KeyHandler" />

        <!-- Profiles settings (System category) -->
        <activity-alias
            android:name=".profiles.ProfilesSettings"
            android:label="@string/profiles_settings_title"
            android:icon="@drawable/ic_settings_profiles"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="255">
                <action android:name="org.lineageos.lineageparts.action.SETTINGS" />
                <action android:name="org.lineageos.lineageparts.PROFILES_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.system" />
            <meta-data
                android:name="com.android.settings.summary"
                android:resource="@string/summary_empty" />
        </activity-alias>

        <!-- Status bar settings (System category) -->
        <activity-alias
            android:name=".statusbar.StatusBarSettings"
            android:label="@string/status_bar_title"
            android:icon="@drawable/ic_settings_statusbar"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="254">
                <action android:name="org.lineageos.lineageparts.action.SETTINGS" />
                <action android:name="org.lineageos.lineageparts.STATUS_BAR_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.system" />
            <meta-data
                android:name="com.android.settings.summary"
                android:resource="@string/summary_empty" />
        </activity-alias>

        <!-- Style settings (Display category) -->
        <activity-alias
            android:name=".style.StylePreferences"
            android:label="@string/style_title"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="-3">
                <action android:name="org.lineageos.lineageparts.action.SETTINGS" />
                <action android:name="org.lineageos.lineageparts.STYLE_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.display" />
            <meta-data
                android:name="com.android.settings.summary"
                android:resource="@string/style_summary" />
        </activity-alias>

        <!-- Trust interface (Security category) -->
        <activity-alias
            android:name=".trust.TrustPreferences"
            android:label="@string/trust_title"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="-4">
                <action android:name="org.lineageos.lineageparts.action.SETTINGS" />
                <action android:name="org.lineageos.lineageparts.TRUST_INTERFACE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity-alias>

        <!-- Expanded Desktop settings (Display category) -->
        <activity-alias
            android:name=".applications.ExpandedDesktopSettings"
            android:label="@string/expanded_desktop_settings_title"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="-9">
                <action android:name="org.lineageos.lineageparts.action.SETTINGS" />
                <action android:name="org.lineageos.lineageparts.EXPANDED_DESKTOP_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data
                android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.display" />
            <meta-data
                android:name="com.android.settings.summary"
                android:resource="@string/expanded_desktop_settings_summary" />
        </activity-alias>

        <!-- Anonymous Statistics -->
        <receiver android:name=".lineagestats.ReportingServiceManager"
            android:enabled="true"
            android:exported="false"
            android:label="ReportingServiceManager">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="org.lineageos.lineageparts.action.TRIGGER_REPORT_METRICS" />
            </intent-filter>
        </receiver>

        <service android:label="ReportingService"
            android:enabled="true"
            android:exported="false"
            android:name=".lineagestats.ReportingService">
        </service>

        <service android:name=".lineagestats.StatsUploadJobService"
                 android:permission="android.permission.BIND_JOB_SERVICE" />

        <service android:name=".lineagestats.ReportingService"
                 android:label="ReportingService"
                 android:enabled="true"
                 android:exported="false" />

        <!-- Weather settings -->
        <activity-alias
            android:name=".weather.WeatherServiceSettings"
            android:label="@string/weather_settings_title"
            android:targetActivity="PartsActivity">
            <intent-filter android:priority="1">
                <action android:name="lineageos.intent.action.MANAGE_WEATHER_PROVIDER_SERVICES" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity-alias>

        <activity android:name=".profiles.NFCProfile">
            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="lineage/profile" />
            </intent-filter>
        </activity>

        <activity
            android:name=".profiles.NFCProfileSelect"
            android:label="@string/profile_select"
            android:excludeFromRecents="true"/>

        <activity android:name=".logo.PlatLogoActivity"
                android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
                android:configChanges="orientation|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name=".egg.octo.Ocquarium"
            android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"
            android:label="@string/egg_title">
            <intent-filter>
                <action android:name="org.lineageos.lineageparts.EASTER_EGG"/>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="com.android.internal.category.PLATLOGO" />
            </intent-filter>
        </activity>

    </application>
</manifest>
