<!--
/*
 * 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="com.android.browser.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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.BrowserLauncher"
            android:targetActivity="com.android.browser.BrowserLauncher"
            android:exported="true">
        </activity-alias>
        {% endif %}

        <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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.BrowserActivity"
            android:targetActivity="com.android.browser.BrowserActivity"/>
        {% endif %}

        <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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.ShortcutActivity"
            android:targetActivity="com.android.browser.ShortcutActivity"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <activity android:name="com.android.browser.BrowserPreferencesPage"
            android:label="@string/menu_preferences"
            android:parentActivityName="com.android.browser.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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.BrowserPreferencesPage"
            android:targetActivity="com.android.browser.BrowserPreferencesPage"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <activity android:name="com.android.browser.preferences.LegalPreviewActivity"
            android:parentActivityName="com.android.browser.BrowserActivity"
            android:theme="@style/SettingsTheme">
        </activity>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.LegalPreviewActivity"
            android:targetActivity="com.android.browser.preferences.LegalPreviewActivity"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <activity android:name="com.android.browser.BookmarkSearch"
                  android:label="@string/application_name"
                  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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.BookmarkSearch"
            android:targetActivity="com.android.browser.BookmarkSearch"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.AddBookmarkPage"
            android:targetActivity="com.android.browser.AddBookmarkPage"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.DownloadSettings"
            android:targetActivity="com.android.browser.DownloadSettings"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <!-- For creating new folder in bookmarks page -->
        <activity android:name="com.android.browser.AddBookmarkFolder"
                  android:label="@string/new_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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.AddBookmarkFolder"
            android:targetActivity="com.android.browser.AddBookmarkFolder"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <activity android:name="com.android.browser.ComboViewActivity"
                  android:theme="@style/ComboViewTheme">
        </activity>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.ComboViewActivity"
            android:targetActivity="com.android.browser.ComboViewActivity"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <!-- 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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.widget.BookmarkWidgetConfigure"
            android:targetActivity="com.android.browser.widget.BookmarkWidgetConfigure"
            android:exported="false">
        </activity-alias>
        {% endif %}
        <!-- 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>
        {% if not app_package_name in ['com.android.browser'] %}
        <activity-alias android:name="{{ app_package_name }}.mynavigation.AddMyNavigationPage"
            android:targetActivity="com.android.browser.mynavigation.AddMyNavigationPage"
            android:exported="false">
        </activity-alias>
        {% endif %}

        <!-- 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="com.android.browser.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="21" android:targetSdkVersion="21" />

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

</manifest>
