<!--
/*
 * Copyright 2006, The Android Open Source 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" package="{{ manifest_package }}">

    <permission android:name="{{ app_package_name }}.permission.PRELOAD"
        android:label="@string/permission_preload_label"
        android:protectionLevel="signatureOrSystem" />

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.NFC" />
    <uses-permission android:name="android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS" />
    <uses-permission android:name="android.permission.SET_WALLPAPER" />
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
    <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    <uses-permission android:name="{{ app_package_name }}.permission.READ_HOMEPAGE" />
    <uses-permission android:name="{{ app_package_name }}.permission.WRITE_HOMEPAGE" />
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <!-- Templatize taskAffinity otherwise it will default to 'package'
        defined in manifest -->
    <application   android:name="com.android.browser.Browser"
                   android:label="{{ apk_label }}"
                   android:icon="@mipmap/ic_launcher_browser"
                   android:backupAgent=".BrowserBackupAgent"
                   android:hardwareAccelerated="true"
                   android:taskAffinity="{{ apk_task_affinity }}"
                   android:theme="@style/BrowserBase" >

        <uses-library android:name="com.qrd.useragent"
                      android:required="false" />

        <provider android:name="com.android.browser.provider.BrowserProvider2"
                  android:authorities="{{ app_package_name }};{{apk_authorities}}"
                  android:multiprocess="false"
                  android:exported="true"
                  android:readPermission="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
                  android:writePermission="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS">
            <path-permission android:path="/bookmarks/search_suggest_query"
                    android:readPermission="android.permission.GLOBAL_SEARCH" />
            <path-permission android:path="/homepage"
                    android:readPermission="{{ app_package_name }}.permission.READ_HOMEPAGE"
                    android:writePermission="{{ app_package_name }}.permission.WRITE_HOMEPAGE" />
        </provider>

        <activity android:name="com.android.browser.BrowserLauncher"
                  android:theme="@android:style/Theme.NoDisplay" >
            <!-- We are the main entry point of the browser. -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.APP_BROWSER" />
            </intent-filter>
        </activity>
        <activity-alias android:name="{{ app_package_name }}.BrowserLauncher"
            android:targetActivity="com.android.browser.BrowserLauncher"
            android:exported="true">
        </activity-alias>

        <activity android:name="com.android.browser.BrowserActivity"
                  android:label="{{ apk_label }}"
                  android:launchMode="singleTask"
                  android:alwaysRetainTaskState="true"
                  android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
                  android:theme="@style/BrowserTheme"
                  android:windowSoftInputMode="adjustResize" >

            <intent-filter>
                <action android:name="android.speech.action.VOICE_SEARCH_RESULTS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <!-- For these schemes were not particular MIME type has been
                 supplied, we are a good candidate. -->
            <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="http" />
                <data android:scheme="https" />
                <data android:scheme="about" />
                <data android:scheme="javascript" />
            </intent-filter>
            <!--  For these schemes where any of these particular MIME types
                  have been supplied, we are a good candidate. -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:scheme="inline" />
                <data android:mimeType="text/html"/>
                <data android:mimeType="text/plain"/>
                <data android:mimeType="application/xhtml+xml"/>
                <data android:mimeType="application/vnd.wap.xhtml+xml"/>
            </intent-filter>
            <!-- For viewing saved web archives. -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:scheme="file" />
                <data android:mimeType="application/x-webarchive-xml"/>
            </intent-filter>
            <!-- Accept inbound NFC URLs -->
            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="http" />
                <data android:scheme="https" />
            </intent-filter>
            <!-- The maps app is a much better experience, so it's not
                 worth having this at all... especially for a demo!
            <intent-filter android:label="Map In Browser">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.item/postal-address" />
            </intent-filter>
            -->
            <intent-filter>
                <action android:name="android.intent.action.WEB_SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.app.searchable"
                    android:resource="@xml/searchable" />
        </activity>
        <activity-alias android:name="{{ app_package_name }}.BrowserActivity"
            android:targetActivity="com.android.browser.BrowserActivity"
            android:exported="false"/>

        <activity android:name="com.android.browser.ShortcutActivity"
            android:theme="@style/ShortcutTheme"
            android:label="@string/shortcut_bookmark"
            android:icon="@mipmap/ic_launcher_shortcut_browser_bookmark">
            <intent-filter>
                <action android:name="android.intent.action.CREATE_SHORTCUT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity-alias android:name="{{ app_package_name }}.ShortcutActivity"
            android:targetActivity="com.android.browser.ShortcutActivity"
            android:exported="false">
        </activity-alias>

        <activity android:name="com.android.browser.BrowserPreferencesPage"
            android:label="@string/menu_preferences"
            android:parentActivityName=".BrowserActivity"
            android:theme="@style/SettingsTheme">
            <intent-filter>
               <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
               <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity-alias android:name="{{ app_package_name }}.BrowserPreferencesPage"
            android:targetActivity="com.android.browser.BrowserPreferencesPage"
            android:exported="false">
        </activity-alias>

        <activity android:name="com.android.browser.preferences.LegalPreviewActivity"
            android:parentActivityName=".BrowserActivity"
            android:theme="@style/SettingsTheme">
        </activity>
        <activity-alias android:name="{{ app_package_name }}.LegalPreviewActivity"
            android:targetActivity="com.android.browser.preferences.LegalPreviewActivity"
            android:exported="false">
        </activity-alias>

        <activity android:name="com.android.browser.BookmarkSearch"
                  android:label="@string/bookmarks_search"
                  android:stateNotNeeded="true"
                  android:theme="@android:style/Theme.NoDisplay"
                  android:excludeFromRecents="true">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.app.searchable"
                    android:resource="@xml/bookmarks_searchable" />
        </activity>
        <activity-alias android:name="{{ app_package_name }}.BookmarkSearch"
            android:targetActivity="com.android.browser.BookmarkSearch"
            android:exported="false">
        </activity-alias>

        <activity android:name="com.android.browser.AddBookmarkPage"
                  android:label="@string/bookmarks_add_page"
                  android:theme="@style/DialogWhenLarge"
                  android:configChanges="orientation|keyboardHidden|screenSize"
                  android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.INSERT" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.dir/bookmark"/>
            </intent-filter>
        </activity>
        <activity-alias android:name="{{ app_package_name }}.AddBookmarkPage"
            android:targetActivity="com.android.browser.AddBookmarkPage"
            android:exported="false">
        </activity-alias>

        <activity android:name="com.android.browser.DownloadSettings"
                  android:label="@string/download_settings_title"
                  android:theme="@style/DialogWhenLarge"
                  android:launchMode="singleTask"
                  android:configChanges="orientation|keyboardHidden|screenSize"
                  android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.BROWSERDOWNLOAD" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity-alias android:name="{{ app_package_name }}.DownloadSettings"
            android:targetActivity="com.android.browser.DownloadSettings"
            android:exported="false">
        </activity-alias>

        <!-- For creating new folder in bookmarks page -->
        <activity android:name="com.android.browser.AddBookmarkFolder"
                  android:label="@string/save_bookmark_folder"
                  android:theme="@style/DialogWhenLarge"
                  android:configChanges="orientation|keyboardHidden|screenSize">
                  <intent-filter>
                      <category android:name="android.intent.category.DEFAULT" />
                      <data android:mimeType="vnd.android.cursor.dir/bookmark"/>
                  </intent-filter>
        </activity>
        <activity-alias android:name="{{ app_package_name }}.AddBookmarkFolder"
            android:targetActivity="com.android.browser.AddBookmarkFolder"
            android:exported="false">
        </activity-alias>

        <activity android:name="com.android.browser.ComboViewActivity"
                  android:theme="@style/ComboViewTheme">
        </activity>
        <activity-alias android:name="{{ app_package_name }}.ComboViewActivity"
            android:targetActivity="com.android.browser.ComboViewActivity"
            android:exported="false">
        </activity-alias>

        <!-- Bookmark thumbnail homescreen widget -->
        <receiver
            android:name="com.android.browser.widget.BookmarkThumbnailWidgetProvider"
            android:label="@string/bookmarks">
            <intent-filter>
                <action
                    android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                <action
                    android:name="com.android.browser.BOOKMARK_APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/bookmarkthumbnailwidget_info" />
        </receiver>
        <service
            android:name="com.android.browser.widget.BookmarkThumbnailWidgetService"
            android:permission="android.permission.BIND_REMOTEVIEWS"
            android:exported="false" />
        <receiver
            android:name="com.android.browser.widget.BookmarkWidgetProxy"
            android:exported="false" />
        <activity android:name="com.android.browser.widget.BookmarkWidgetConfigure"
            android:theme="@style/DialogWhenLarge">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
            </intent-filter>
        </activity>
        <activity-alias android:name="{{ app_package_name }}.widget.BookmarkWidgetConfigure"
            android:targetActivity="com.android.browser.widget.BookmarkWidgetConfigure"
            android:exported="false">
        </activity-alias>
        <!-- add or edit my navigation activity -->
        <activity android:name="com.android.browser.mynavigation.AddMyNavigationPage"
            android:label="@string/my_navigation_page_title"
            android:configChanges="orientation|keyboardHidden"
            android:windowSoftInputMode="stateHidden">
        </activity>
        <activity-alias android:name="{{ app_package_name }}.mynavigation.AddMyNavigationPage"
            android:targetActivity="com.android.browser.mynavigation.AddMyNavigationPage"
            android:exported="false">
        </activity-alias>

        <!-- Makes .BrowserActivity the search target for any activity in Browser -->
        <meta-data android:name="android.app.default_searchable" android:value="com.android.browser.BrowserActivity" />

        <receiver android:name="com.android.browser.OpenDownloadReceiver">
            <intent-filter>
                <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED"/>
            </intent-filter>
        </receiver>

        <!-- For custom home pages (like most visited) -->
        <provider
            android:name="com.android.browser.homepages.HomeProvider"
            android:authorities="{{ app_package_name }}.home"
            android:grantUriPermissions="true"
            android:readPermission="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
            android:exported="false" />

        <receiver android:name="com.android.browser.AccountsChangedReceiver">
            <intent-filter>
                <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
            </intent-filter>
        </receiver>

         <receiver android:name="com.android.browser.MessagesReceiver">
            <intent-filter>
                <action android:name="com.android.mms.transaction.MESSAGE_RECEIVED" />
            </intent-filter>
        </receiver>

        <receiver android:name="com.android.browser.PreloadRequestReceiver"
             android:permission="{{ app_package_name }}.permission.PRELOAD" >
             <intent-filter>
                 <action android:name="android.intent.action.PRELOAD"/>
                 <data android:scheme="http" />
             </intent-filter>
         </receiver>

        <provider android:name="com.android.browser.provider.SnapshotProvider"
                  android:authorities="{{ app_package_name }}.snapshots"
                  android:exported="false" />
        <provider
            android:name="com.android.browser.provider.MyNavigationProvider"
            android:authorities="{{ app_package_name }}.mynavigation"
            android:exported="false"
            android:grantUriPermissions="true"/>

        {% set num_sandboxed_services = 20 %}
        <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES"
                   android:value="{{ num_sandboxed_services }}"/>
        {% for i in range(num_sandboxed_services) %}
        <service android:name="org.chromium.content.app.SandboxedProcessService{{ i }}"
                 android:process=":sandboxed_process{{ i }}"
                 android:isolatedProcess="true"
                 android:exported="false" />
        {% endfor %}

        {% set num_privileged_services = 3 %}
        <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
                   android:value="{{ num_privileged_services }}"/>
        {% for i in range(num_privileged_services) %}
        <service android:name="org.chromium.content.app.PrivilegedProcessService{{ i }}"
                 android:process=":privileged_process{{ i }}"
                 android:isolatedProcess="false"
                 android:exported="false" />
        {% endfor %}


        <!-- Provider for FileProvider. -->
        <provider android:name="android.support.v4.content.FileProvider"
            android:authorities="{{ app_package_name }}.FileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>

        <service
            android:name=".UpdateNotificationService"
            android:exported="false" >
        </service>

        <!-- Compiler gcc/llvm -->
        <meta-data android:name="Compiler" android:value="{{ apk_compiler }}" />
        <!-- Architecture x64/x32 -->
        <meta-data android:name="Architecture" android:value="{{ apk_architecture }}" />

    </application>

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

    <uses-feature android:name="android.hardware.location.gps" android:required="false" />

</manifest>
