| Index: chrome/android/java_staging/AndroidManifest.xml
|
| diff --git a/chrome/android/java_staging/AndroidManifest.xml b/chrome/android/java_staging/AndroidManifest.xml
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..aad194c51e163fc264f76c50dbd5c9c97e524784
|
| --- /dev/null
|
| +++ b/chrome/android/java_staging/AndroidManifest.xml
|
| @@ -0,0 +1,577 @@
|
| +<?xml version="1.0" encoding="utf-8"?>
|
| +<!-- Copyright 2015 The Chromium Authors. All rights reserved.
|
| + Use of this source code is governed by a BSD-style license that can be
|
| + found in the LICENSE file. -->
|
| +
|
| +<!--
|
| +Note: This is a jinja2 template, processed at build time into the final manifest.
|
| +
|
| +Blocks denoted with { % block some_name % }foo{ % endblock % } can be overridden
|
| +by a child template that "extends" this file.
|
| +-->
|
| +
|
| +<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
| + xmlns:tools="http://schemas.android.com/tools"
|
| + package="{{ manifest_package }}"
|
| + tools:ignore="MissingVersion">
|
| + <!-- android:versionCode and android:versionName is set through gyp. See build/common.gypi -->
|
| +
|
| + <uses-sdk android:minSdkVersion="{{min_sdk_version}}" android:targetSdkVersion="22" />
|
| + <uses-feature android:glEsVersion="0x00020000" />
|
| +
|
| + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
| + <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.GET_ACCOUNTS"/>
|
| + <uses-permission android:name="android.permission.INTERNET"/>
|
| + <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
|
| + <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
| + <uses-permission android:name="android.permission.NFC"/>
|
| + <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
|
| + <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
|
| + <uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
| + <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
|
| + <uses-permission android:name="android.permission.VIBRATE"/>
|
| + <uses-permission android:name="android.permission.WAKE_LOCK"/>
|
| + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
| + <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
|
| +
|
| + <permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" android:protectionLevel="signature" />
|
| + <permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem" />
|
| + <permission android:name="{{ manifest_package }}.TOS_ACKED" android:protectionLevel="signatureOrSystem" />
|
| + <!-- Only chrome can receive the messages and registration result -->
|
| + <permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE"
|
| + android:protectionLevel="signature" />
|
| + <permission android:name="{{ manifest_package }}.permission.DEBUG"
|
| + android:label="Debug web pages"
|
| + android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
|
| + android:protectionLevel="signature" />
|
| +
|
| + <uses-permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE" />
|
| + <uses-permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" />
|
| + <uses-permission android:name="{{ manifest_package }}.TOS_ACKED" />
|
| +
|
| + <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
|
| + <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.google.android.c2dm.permission.RECEIVE" />
|
| + <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
|
| +
|
| + {% block extra_uses_permissions %}
|
| + {% endblock %}
|
| +
|
| + <!-- We may use GPS but it's not required -->
|
| + <uses-feature android:name="android.hardware.location.gps" android:required="false" />
|
| + <uses-feature android:name="android.hardware.camera" android:required="false" />
|
| +
|
| + <!--
|
| + android.permission.RECORD_AUDIO makes this implied, however we don't
|
| + require a microphone.
|
| + -->
|
| + <uses-feature android:name="android.hardware.microphone" android:required="false" />
|
| + <!--
|
| + The app is usable with keyboard/mouse. This feature is implicitly true for
|
| + all applications and needs to be disabled manually.
|
| + -->
|
| + <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
|
| +
|
| + <!-- Set android:largeHeap to "true" to allow more than the default
|
| + Java heap limit (32Mb on Nexus S, 48Mb on Xoom). -->
|
| + <application android:name="{% block application_name %}org.chromium.chrome.browser.ChromeMobileApplication{% endblock %}"
|
| + android:icon="@mipmap/app_icon"
|
| + android:label="@string/app_name"
|
| + android:largeHeap="false"
|
| + android:allowBackup="false"
|
| + android:supportsRtl="true">
|
| +
|
| + <!-- Samsung MultiWindow Support -->
|
| + <meta-data android:name="com.samsung.android.sdk.multiwindow.enable"
|
| + android:value="true" />
|
| + <meta-data android:name="com.samsung.android.sdk.multiwindow.multiinstance.enable"
|
| + android:value="true" />
|
| + <meta-data android:name="com.samsung.android.sdk.multiwindow.multiinstance.launchmode"
|
| + android:value="singleTask" />
|
| + <meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable"
|
| + android:value="true"/>
|
| +
|
| + {% if channel in ['dev', 'canary', 'default'] %}
|
| + <meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
|
| + {% endif %}
|
| + {% if configuration_policy == '1' %}
|
| + <meta-data android:name="android.content.APP_RESTRICTIONS"
|
| + android:resource="@xml/app_restrictions"/>
|
| + {% endif %}
|
| +
|
| + <!-- Note: Set android:hardwareAccelerated to "false" in the ".Main"
|
| + activity below to go into software, browser tiling mode.
|
| +
|
| + Since this activity (shown in the launcher) and the application
|
| + (shown in Android's Settings/Apps list) share the same label, we
|
| + do not specify one here to allow it to inherit from the app. -->
|
| + <activity android:name="org.chromium.chrome.browser.document.ChromeLauncherActivity"
|
| + android:theme="@android:style/Theme.Translucent.NoTitleBar">
|
| + </activity>
|
| + <activity-alias android:name="com.google.android.apps.chrome.Main"
|
| + android:targetActivity="org.chromium.chrome.browser.document.ChromeLauncherActivity"
|
| + android:exported="true">
|
| + <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" />
|
| + <category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
|
| + {% if channel in ['dev', 'canary', 'default'] %}
|
| + <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
| + {% endif %}
|
| + </intent-filter>
|
| + <!-- Matches the common case of intents with no MIME type.
|
| + Make sure to keep in sync with the next filter. -->
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.VIEW" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + <category android:name="android.intent.category.BROWSABLE" />
|
| + {% if channel in ['stable', 'default'] %}<data android:scheme="googlechrome" />{% endif %}
|
| + <data android:scheme="http" />
|
| + <data android:scheme="https" />
|
| + <data android:scheme="about" />
|
| + <data android:scheme="javascript" />
|
| + </intent-filter>
|
| + <!-- Same filter as above but with MIME types. Intents that
|
| + do not specify a MIME type won't match. -->
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.VIEW" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + <category android:name="android.intent.category.BROWSABLE" />
|
| + {% if channel in ['stable', 'default'] %}<data android:scheme="googlechrome" />{% endif %}
|
| + <data android:scheme="http" />
|
| + <data android:scheme="https" />
|
| + <data android:scheme="about" />
|
| + <data android:scheme="content" />
|
| + <data android:scheme="javascript" />
|
| + <data android:mimeType="text/html"/>
|
| + <data android:mimeType="text/plain"/>
|
| + <data android:mimeType="application/xhtml+xml"/>
|
| + </intent-filter>
|
| + <!-- MHTML support, used for snapshots -->
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.VIEW" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + <data android:scheme="file" android:mimeType="multipart/related"/>
|
| + </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.speech.action.VOICE_SEARCH_RESULTS" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + </intent-filter>
|
| + <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>
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.SEARCH" />
|
| + </intent-filter>
|
| + <intent-filter>
|
| + <action android:name="com.sec.android.airview.HOVER" />
|
| + </intent-filter>
|
| + <meta-data android:name="android.app.searchable"
|
| + android:resource="@xml/searchable" />
|
| + </activity-alias>
|
| + <activity android:name="org.chromium.chrome.browser.document.DocumentActivity"
|
| + android:exported="false"
|
| + android:theme="@style/MainTheme"
|
| + android:windowSoftInputMode="adjustResize"
|
| + android:taskAffinity=""
|
| + android:persistableMode="persistAcrossReboots"
|
| + android:autoRemoveFromRecents="false"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:hardwareAccelerated="true">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.document.IncognitoDocumentActivity"
|
| + android:icon="@mipmap/incognito_app_icon"
|
| + android:exported="false"
|
| + android:theme="@style/IncognitoTheme"
|
| + android:windowSoftInputMode="adjustResize"
|
| + android:taskAffinity=""
|
| + android:persistableMode="persistNever"
|
| + android:autoRemoveFromRecents="false"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:hardwareAccelerated="true">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.hosted.HostedActivity"
|
| + android:theme="@style/MainTheme"
|
| + android:exported="false"
|
| + android:windowSoftInputMode="adjustResize"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:hardwareAccelerated="true">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
|
| + android:theme="@style/MainTheme"
|
| + android:exported="false"
|
| + android:windowBackground="@drawable/window_background"
|
| + android:windowSoftInputMode="adjustResize"
|
| + android:launchMode="singleTask"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:hardwareAccelerated="true">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity"
|
| + android:theme="@style/MainTheme"
|
| + android:exported="false"
|
| + android:windowBackground="@drawable/window_background"
|
| + android:windowSoftInputMode="adjustResize"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:hardwareAccelerated="true">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
|
| + android:theme="@style/MainTheme"
|
| + android:autoRemoveFromRecents="true">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.bookmark.ManageBookmarkActivity"
|
| + android:theme="@style/DialogWhenLargeHolo"
|
| + android:label="@string/save_bookmark"
|
| + android:windowSoftInputMode="stateHidden|adjustPan"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize">
|
| + <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="chrome" android:host="editbookmark" />
|
| + </intent-filter>
|
| + <intent-filter>
|
| + <!-- This is sent by the BrowserProviderProxy as a result of
|
| + calls to android.provider.Browser.saveBookmark(). -->
|
| + <action android:name="{{ manifest_package }}.ADDBOOKMARK" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + </intent-filter>
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.firstrun.FirstRunActivityStaging"
|
| + android:theme="@style/DialogWhenLarge"
|
| + android:label="@string/fre_label"
|
| + android:launchMode="singleTop"
|
| + android:windowSoftInputMode="stateHidden|adjustPan"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.preferences.PreferencesStaging"
|
| + android:theme="@style/PreferencesTheme"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:label="@string/preferences"
|
| + android:exported="false">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.EmbedContentViewActivity"
|
| + android:theme="@style/ThemeWithActionBar"
|
| + android:hardwareAccelerated="true"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.prerender.PrerenderAPITestActivity"
|
| + android:theme="@style/MainTheme"
|
| + android:exported="true">
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkActivity"
|
| + android:theme="@style/EnhancedBookmarkDialogWhite"
|
| + android:windowSoftInputMode="stateHidden"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize" >
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkDetailActivity"
|
| + android:theme="@style/EnhancedBookmarkDialogWhite"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize" >
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkAddEditFolderActivity"
|
| + android:theme="@style/EnhancedBookmarkDialogWhite"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize" >
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkFolderSelectActivity"
|
| + android:theme="@style/EnhancedBookmarkDialogWhite"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize" >
|
| + </activity>
|
| + <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkSigninActivity"
|
| + android:theme="@style/EnhancedBookmarkDialogWhite"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize" >
|
| + </activity>
|
| +
|
| + <!--
|
| + Activities for webapps.
|
| + TODO(dfalcantara): Remove the aliases for the WebappActivities once we're pretty sure
|
| + that users don't have any instances of the original Activity still
|
| + running.
|
| + -->
|
| + <activity-alias android:name="com.google.android.apps.chrome.webapps.WebappManager"
|
| + android:targetActivity="org.chromium.chrome.browser.document.ChromeLauncherActivity">
|
| + <intent-filter>
|
| + <action android:name="com.google.android.apps.chrome.webapps.WebappManager.ACTION_START_WEBAPP" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + </intent-filter>
|
| + </activity-alias>
|
| + <activity android:name="org.chromium.chrome.browser.webapps.WebappActivity"
|
| + android:theme="@style/MainTheme"
|
| + android:label="@string/webapp_activity_title"
|
| + android:documentLaunchMode="intoExisting"
|
| + android:persistableMode="persistNever"
|
| + android:hardwareAccelerated="true"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize">
|
| + </activity>
|
| + <activity-alias android:name="com.google.android.apps.chrome.webapps.WebappActivity"
|
| + android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity"
|
| + android:label="@string/webapp_activity_title">
|
| + </activity-alias>
|
| + {% for i in range(10) %}
|
| + <activity android:name="org.chromium.chrome.browser.webapps.WebappActivity{{ i }}"
|
| + android:theme="@style/MainTheme"
|
| + android:icon="@mipmap/app_shortcut_icon"
|
| + android:label="@string/webapp_activity_title"
|
| + android:launchMode="singleTask"
|
| + android:persistableMode="persistNever"
|
| + android:hardwareAccelerated="true"
|
| + android:taskAffinity="{{ manifest_package }}.webapps.WebappActivity{{ i }}"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize">
|
| + </activity>
|
| + <activity-alias android:name="com.google.android.apps.chrome.webapps.WebappActivity{{ i }}"
|
| + android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity{{ i }}"
|
| + android:icon="@mipmap/app_shortcut_icon"
|
| + android:label="@string/webapp_activity_title">
|
| + </activity-alias>
|
| + {% endfor %}
|
| +
|
| + <activity android:name="org.chromium.chrome.browser.media.remote.ExpandedControllerActivity"
|
| + android:theme="@style/MainTheme"
|
| + android:label="Chrome.ExpandedControllerActivity"
|
| + android:hardwareAccelerated="true"
|
| + android:launchMode="singleTask"
|
| + android:noHistory="true"
|
| + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
|
| + android:excludeFromRecents="true">
|
| + </activity>
|
| +
|
| + <activity android:name="org.chromium.chrome.browser.document.CipherKeyActivity"
|
| + android:launchMode="singleInstance"
|
| + android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
| + android:excludeFromRecents="true">
|
| + </activity>
|
| +
|
| + <!-- Providers for chrome data. -->
|
| + <provider android:name="org.chromium.chrome.browser.ChromeBrowserProviderStaging"
|
| + android:authorities="{{ manifest_package }}.ChromeBrowserProvider;{{ manifest_package }}.browser;{{ manifest_package }}"
|
| + android:exported="true">
|
| + <path-permission android:path="/bookmarks/search_suggest_query"
|
| + android:readPermission="android.permission.GLOBAL_SEARCH" />
|
| + </provider>
|
| +
|
| + <!-- Provider for FileProvider. -->
|
| + <provider android:name="org.chromium.chrome.browser.util.CompatibilityFileProvider"
|
| + android:authorities="{{ manifest_package }}.FileProvider"
|
| + android:exported="false"
|
| + android:grantUriPermissions="true">
|
| + <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
|
| + android:resource="@xml/file_paths" />
|
| + </provider>
|
| +
|
| + <!-- Sync adapter for browser sync. -->
|
| + <service android:name="org.chromium.chrome.browser.sync.ChromeBrowserSyncAdapterService"
|
| + android:exported="false">
|
| + <intent-filter>
|
| + <action android:name="android.content.SyncAdapter" />
|
| + </intent-filter>
|
| + <meta-data android:name="android.content.SyncAdapter"
|
| + android:resource="@xml/syncadapter" />
|
| + </service>
|
| +
|
| + <!-- Broadcast receiver that will be notified of account changes -->
|
| + <receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">
|
| + <intent-filter>
|
| + <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <!-- Precache service. -->
|
| + <service android:name="org.chromium.chrome.browser.precache.PrecacheService"
|
| + android:exported="false" />
|
| + <receiver android:name="org.chromium.chrome.browser.precache.PrecacheServiceLauncher">
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
|
| + <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
|
| + <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <receiver android:name="org.chromium.chrome.browser.firstrun.ToSAckedReceiver"
|
| + android:permission="{{ manifest_package }}.TOS_ACKED">
|
| + <intent-filter>
|
| + <action android:name="{{ manifest_package }}.TOS_ACKED" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <activity android:name="org.chromium.chrome.browser.bookmark.ShortcutActivity"
|
| + android:enabled="{{ 'true' if channel in ['stable', 'default'] else 'false' }}"
|
| + android:label="@string/bookmark_shortcut_name"
|
| + android:icon="@mipmap/bookmark_shortcut_icon"
|
| + android:theme="@style/ThemeWithActionBar"
|
| + android:hardwareAccelerated="true">
|
| +
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.CREATE_SHORTCUT" />
|
| + <category android:name="android.intent.category.DEFAULT" />
|
| + </intent-filter>
|
| + </activity>
|
| +
|
| + <receiver android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider"
|
| + android:enabled="{{ 'true' if channel in ['stable', 'default'] else 'false' }}"
|
| + android:label="@string/bookmarks">
|
| + <intent-filter>
|
| + <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
| + <action android:name=".BOOKMARK_APPWIDGET_UPDATE" />
|
| + </intent-filter>
|
| + <meta-data
|
| + android:name="android.appwidget.provider"
|
| + android:resource="@xml/bookmark_thumbnail_widget_info" />
|
| + </receiver>
|
| + <service android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkThumbnailWidgetService"
|
| + android:permission="android.permission.BIND_REMOTEVIEWS"
|
| + android:exported="false" />
|
| + <receiver android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProxy"
|
| + android:exported="false" />
|
| +
|
| + <!-- Receiver for GCM messages. Rebroadcasts them locally for sync and cloudprint. -->
|
| + <receiver android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver"
|
| + android:exported="true"
|
| + android:permission="com.google.android.c2dm.permission.SEND">
|
| + <intent-filter>
|
| + <action android:name="com.google.android.c2dm.intent.RECEIVE" />
|
| + <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
|
| + <category android:name="{{ manifest_package }}"/>
|
| + </intent-filter>
|
| + </receiver>
|
| + <service android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener"
|
| + android:exported="false">
|
| + <meta-data android:name="sender_ids"
|
| + android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.com"/>
|
| + </service>
|
| +
|
| + <!-- Notification service for sync. -->
|
| + <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
|
| + android:value="org.chromium.components.invalidation.InvalidationClientService"/>
|
| + <service android:name="org.chromium.components.invalidation.InvalidationClientService"
|
| + android:exported="false">
|
| + <intent-filter>
|
| + <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
|
| + </intent-filter>
|
| + </service>
|
| + <service android:name="com.google.ipc.invalidation.ticl.android2.TiclService"
|
| + android:exported="false"/>
|
| + <service android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"
|
| + android:exported="false"/>
|
| + <receiver android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"
|
| + android:exported="false"/>
|
| + <receiver android:name="com.google.ipc.invalidation.external.client2.contrib.AndroidListener$AlarmReceiver"
|
| + android:exported="false"/>
|
| +
|
| + <!-- Notification service multiplexed GCM receiver -->
|
| + <service android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService"
|
| + android:exported="false"
|
| + android:enabled="true"/>
|
| + <receiver android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver"
|
| + android:exported="false">
|
| + <intent-filter>
|
| + <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <!-- GCMDriver multiplexed GCM receiver -->
|
| + <service android:name="org.chromium.chrome.browser.services.gcm.GCMListener"
|
| + android:exported="false"/>
|
| + <receiver android:name="org.chromium.chrome.browser.services.gcm.GCMListener$Receiver"
|
| + android:exported="false">
|
| + <intent-filter>
|
| + <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <!-- Android Notification service listener -->
|
| + <service android:name="org.chromium.chrome.browser.notifications.NotificationService"
|
| + android:exported="false"/>
|
| + <receiver android:name="org.chromium.chrome.browser.notifications.NotificationService$Receiver"
|
| + android:exported="false">
|
| + <intent-filter>
|
| + <action android:name="org.chromium.chrome.browser.notifications.CLICK_NOTIFICATION" />
|
| + <action android:name="org.chromium.chrome.browser.notifications.CLOSE_NOTIFICATION" />
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <service android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
|
| + android:exported="true"
|
| + tools:ignore="ExportedService" />
|
| + <service android:name="org.chromium.chrome.browser.hosted.ChromeConnectionService"
|
| + android:exported="{{ 'true' if channel in ['dev', 'canary', 'default'] else 'false' }}"
|
| + tools:ignore="ExportedService" />
|
| + <service android:name="org.chromium.chrome.browser.crash.MinidumpUploadService"
|
| + android:exported="false"/>
|
| +
|
| + <service android:name="org.chromium.chrome.browser.omaha.OmahaClient"
|
| + android:exported="false"/>
|
| +
|
| + <!-- The following service entries exist in order to allow us to
|
| + start more than one sandboxed process. -->
|
| +
|
| + <!-- NOTE: If you change the value of "android:process" for the below services,
|
| + you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
|
| + {% 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:permission="{{ manifest_package }}.permission.CHILD_SERVICE"
|
| + 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:permission="{{ manifest_package }}.permission.CHILD_SERVICE"
|
| + android:isolatedProcess="false"
|
| + android:exported="false" />
|
| + {% endfor %}
|
| +
|
| + <receiver android:name="org.chromium.chrome.browser.download.OpenDownloadReceiver">
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED"/>
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <receiver android:name="org.chromium.base.PowerStatusReceiver">
|
| + <intent-filter>
|
| + <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
|
| + <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
|
| + </intent-filter>
|
| + </receiver>
|
| +
|
| + <service android:name="org.chromium.chrome.browser.media.remote.NotificationTransportControl$ListenerService" />
|
| +
|
| + <!-- Receiver for lock screen input when casting -->
|
| + <receiver android:name="org.chromium.chrome.browser.media.remote.LockScreenTransportControl$MediaButtonIntentReceiver"/>
|
| +
|
| + <service android:name="org.chromium.chrome.browser.media.MediaNotificationService"
|
| + android:exported="false"/>
|
| +
|
| + <meta-data android:name="com.google.android.gms.version"
|
| + android:value="@integer/google_play_services_version" />
|
| +
|
| + <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
|
| + android:value="org.chromium.content.browser.SmartClipProvider"/>
|
| + <meta-data android:name="org.chromium.components.service_tab_launcher.SERVICE_TAB_LAUNCHER"
|
| + android:value="org.chromium.chrome.browser.ChromeServiceTabLauncher" />
|
| +
|
| + {% block extra_application_definitions %}
|
| + {% endblock %}
|
| + </application>
|
| +</manifest>
|
| +
|
|
|