OLD | NEW |
(Empty) | |
| 1 <?xml version="1.0" encoding="utf-8"?> |
| 2 <!-- Copyright 2015 The Chromium Authors. All rights reserved. |
| 3 Use of this source code is governed by a BSD-style license that can be |
| 4 found in the LICENSE file. --> |
| 5 |
| 6 <!-- |
| 7 Note: This is a jinja2 template, processed at build time into the final manifest
. |
| 8 |
| 9 Blocks denoted with { % block some_name % }foo{ % endblock % } can be overridden |
| 10 by a child template that "extends" this file. |
| 11 --> |
| 12 |
| 13 <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| 14 xmlns:tools="http://schemas.android.com/tools" |
| 15 package="{{ manifest_package }}" |
| 16 tools:ignore="MissingVersion"> |
| 17 <!-- android:versionCode and android:versionName is set through gyp. See bui
ld/common.gypi --> |
| 18 |
| 19 <uses-sdk android:minSdkVersion="{{min_sdk_version}}" android:targetSdkVersi
on="22" /> |
| 20 <uses-feature android:glEsVersion="0x00020000" /> |
| 21 |
| 22 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> |
| 23 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> |
| 24 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| 25 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
| 26 <uses-permission android:name="android.permission.CAMERA" /> |
| 27 <uses-permission android:name="android.permission.GET_ACCOUNTS"/> |
| 28 <uses-permission android:name="android.permission.INTERNET"/> |
| 29 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/> |
| 30 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> |
| 31 <uses-permission android:name="android.permission.NFC"/> |
| 32 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/> |
| 33 <uses-permission android:name="android.permission.READ_SYNC_STATS"/> |
| 34 <uses-permission android:name="android.permission.RECORD_AUDIO"/> |
| 35 <uses-permission android:name="android.permission.USE_CREDENTIALS"/> |
| 36 <uses-permission android:name="android.permission.VIBRATE"/> |
| 37 <uses-permission android:name="android.permission.WAKE_LOCK"/> |
| 38 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> |
| 39 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/> |
| 40 |
| 41 <permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" a
ndroid:protectionLevel="signature" /> |
| 42 <permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKM
ARK_FOLDERS" android:protectionLevel="signatureOrSystem" /> |
| 43 <permission android:name="{{ manifest_package }}.TOS_ACKED" android:protecti
onLevel="signatureOrSystem" /> |
| 44 <!-- Only chrome can receive the messages and registration result --> |
| 45 <permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE" |
| 46 android:protectionLevel="signature" /> |
| 47 <permission android:name="{{ manifest_package }}.permission.DEBUG" |
| 48 android:label="Debug web pages" |
| 49 android:permissionGroup="android.permission-group.DEVELOPMENT_TO
OLS" |
| 50 android:protectionLevel="signature" /> |
| 51 |
| 52 <uses-permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE
" /> |
| 53 <uses-permission android:name="{{ manifest_package }}.permission.READ_WRITE_
BOOKMARK_FOLDERS" /> |
| 54 <uses-permission android:name="{{ manifest_package }}.TOS_ACKED" /> |
| 55 |
| 56 <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" /> |
| 57 <uses-permission android:name="com.android.browser.permission.READ_HISTORY_B
OOKMARKS"/> |
| 58 <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_
BOOKMARKS"/> |
| 59 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /
> |
| 60 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORT
CUT"/> |
| 61 |
| 62 {% block extra_uses_permissions %} |
| 63 {% endblock %} |
| 64 |
| 65 <!-- We may use GPS but it's not required --> |
| 66 <uses-feature android:name="android.hardware.location.gps" android:required=
"false" /> |
| 67 <uses-feature android:name="android.hardware.camera" android:required="false
" /> |
| 68 |
| 69 <!-- |
| 70 android.permission.RECORD_AUDIO makes this implied, however we don't |
| 71 require a microphone. |
| 72 --> |
| 73 <uses-feature android:name="android.hardware.microphone" android:required="f
alse" /> |
| 74 <!-- |
| 75 The app is usable with keyboard/mouse. This feature is implicitly true for |
| 76 all applications and needs to be disabled manually. |
| 77 --> |
| 78 <uses-feature android:name="android.hardware.touchscreen" android:required="
false" /> |
| 79 |
| 80 <!-- Set android:largeHeap to "true" to allow more than the default |
| 81 Java heap limit (32Mb on Nexus S, 48Mb on Xoom). --> |
| 82 <application android:name="{% block application_name %}org.chromium.chrome.b
rowser.ChromeMobileApplication{% endblock %}" |
| 83 android:icon="@mipmap/app_icon" |
| 84 android:label="@string/app_name" |
| 85 android:largeHeap="false" |
| 86 android:allowBackup="false" |
| 87 android:supportsRtl="true"> |
| 88 |
| 89 <!-- Samsung MultiWindow Support --> |
| 90 <meta-data android:name="com.samsung.android.sdk.multiwindow.enable" |
| 91 android:value="true" /> |
| 92 <meta-data android:name="com.samsung.android.sdk.multiwindow.multiinstan
ce.enable" |
| 93 android:value="true" /> |
| 94 <meta-data android:name="com.samsung.android.sdk.multiwindow.multiinstan
ce.launchmode" |
| 95 android:value="singleTask" /> |
| 96 <meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.e
nable" |
| 97 android:value="true"/> |
| 98 |
| 99 {% if channel in ['dev', 'canary', 'default'] %} |
| 100 <meta-data android:name="com.sec.android.support.multiwindow" android:va
lue="true" /> |
| 101 {% endif %} |
| 102 {% if configuration_policy == '1' %} |
| 103 <meta-data android:name="android.content.APP_RESTRICTIONS" |
| 104 android:resource="@xml/app_restrictions"/> |
| 105 {% endif %} |
| 106 |
| 107 <!-- Note: Set android:hardwareAccelerated to "false" in the ".Main" |
| 108 activity below to go into software, browser tiling mode. |
| 109 |
| 110 Since this activity (shown in the launcher) and the application |
| 111 (shown in Android's Settings/Apps list) share the same label, we |
| 112 do not specify one here to allow it to inherit from the app. --> |
| 113 <activity android:name="org.chromium.chrome.browser.document.ChromeLaunc
herActivity" |
| 114 android:theme="@android:style/Theme.Translucent.NoTitleBar"> |
| 115 </activity> |
| 116 <activity-alias android:name="com.google.android.apps.chrome.Main" |
| 117 android:targetActivity="org.chromium.chrome.browser.document.ChromeL
auncherActivity" |
| 118 android:exported="true"> |
| 119 <intent-filter> |
| 120 <action android:name="android.intent.action.MAIN" /> |
| 121 <category android:name="android.intent.category.DEFAULT" /> |
| 122 <category android:name="android.intent.category.LAUNCHER" /> |
| 123 <category android:name="android.intent.category.BROWSABLE" /> |
| 124 <category android:name="android.intent.category.APP_BROWSER" /> |
| 125 <category android:name="android.intent.category.NOTIFICATION_PRE
FERENCES" /> |
| 126 {% if channel in ['dev', 'canary', 'default'] %} |
| 127 <category android:name="android.intent.category.MULTIWINDOW_LAUN
CHER" /> |
| 128 {% endif %} |
| 129 </intent-filter> |
| 130 <!-- Matches the common case of intents with no MIME type. |
| 131 Make sure to keep in sync with the next filter. --> |
| 132 <intent-filter> |
| 133 <action android:name="android.intent.action.VIEW" /> |
| 134 <category android:name="android.intent.category.DEFAULT" /> |
| 135 <category android:name="android.intent.category.BROWSABLE" /> |
| 136 {% if channel in ['stable', 'default'] %}<data android:scheme="g
ooglechrome" />{% endif %} |
| 137 <data android:scheme="http" /> |
| 138 <data android:scheme="https" /> |
| 139 <data android:scheme="about" /> |
| 140 <data android:scheme="javascript" /> |
| 141 </intent-filter> |
| 142 <!-- Same filter as above but with MIME types. Intents that |
| 143 do not specify a MIME type won't match. --> |
| 144 <intent-filter> |
| 145 <action android:name="android.intent.action.VIEW" /> |
| 146 <category android:name="android.intent.category.DEFAULT" /> |
| 147 <category android:name="android.intent.category.BROWSABLE" /> |
| 148 {% if channel in ['stable', 'default'] %}<data android:scheme="g
ooglechrome" />{% endif %} |
| 149 <data android:scheme="http" /> |
| 150 <data android:scheme="https" /> |
| 151 <data android:scheme="about" /> |
| 152 <data android:scheme="content" /> |
| 153 <data android:scheme="javascript" /> |
| 154 <data android:mimeType="text/html"/> |
| 155 <data android:mimeType="text/plain"/> |
| 156 <data android:mimeType="application/xhtml+xml"/> |
| 157 </intent-filter> |
| 158 <!-- MHTML support, used for snapshots --> |
| 159 <intent-filter> |
| 160 <action android:name="android.intent.action.VIEW" /> |
| 161 <category android:name="android.intent.category.DEFAULT" /> |
| 162 <data android:scheme="file" android:mimeType="multipart/related"
/> |
| 163 </intent-filter> |
| 164 <intent-filter> |
| 165 <action android:name="android.intent.action.MEDIA_SEARCH" /> |
| 166 <category android:name="android.intent.category.DEFAULT" /> |
| 167 </intent-filter> |
| 168 <intent-filter> |
| 169 <action android:name="android.speech.action.VOICE_SEARCH_RESULTS
" /> |
| 170 <category android:name="android.intent.category.DEFAULT" /> |
| 171 </intent-filter> |
| 172 <intent-filter> |
| 173 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> |
| 174 <category android:name="android.intent.category.DEFAULT" /> |
| 175 <data android:scheme="http" /> |
| 176 <data android:scheme="https" /> |
| 177 </intent-filter> |
| 178 <intent-filter> |
| 179 <action android:name="android.intent.action.SEARCH" /> |
| 180 </intent-filter> |
| 181 <intent-filter> |
| 182 <action android:name="com.sec.android.airview.HOVER" /> |
| 183 </intent-filter> |
| 184 <meta-data android:name="android.app.searchable" |
| 185 android:resource="@xml/searchable" /> |
| 186 </activity-alias> |
| 187 <activity android:name="org.chromium.chrome.browser.document.DocumentAct
ivity" |
| 188 android:exported="false" |
| 189 android:theme="@style/MainTheme" |
| 190 android:windowSoftInputMode="adjustResize" |
| 191 android:taskAffinity="" |
| 192 android:persistableMode="persistAcrossReboots" |
| 193 android:autoRemoveFromRecents="false" |
| 194 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" |
| 195 android:hardwareAccelerated="true"> |
| 196 </activity> |
| 197 <activity android:name="org.chromium.chrome.browser.document.IncognitoDo
cumentActivity" |
| 198 android:icon="@mipmap/incognito_app_icon" |
| 199 android:exported="false" |
| 200 android:theme="@style/IncognitoTheme" |
| 201 android:windowSoftInputMode="adjustResize" |
| 202 android:taskAffinity="" |
| 203 android:persistableMode="persistNever" |
| 204 android:autoRemoveFromRecents="false" |
| 205 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" |
| 206 android:hardwareAccelerated="true"> |
| 207 </activity> |
| 208 <activity android:name="org.chromium.chrome.browser.hosted.HostedActivit
y" |
| 209 android:theme="@style/MainTheme" |
| 210 android:exported="false" |
| 211 android:windowSoftInputMode="adjustResize" |
| 212 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" |
| 213 android:hardwareAccelerated="true"> |
| 214 </activity> |
| 215 <activity android:name="org.chromium.chrome.browser.ChromeTabbedActivity
" |
| 216 android:theme="@style/MainTheme" |
| 217 android:exported="false" |
| 218 android:windowBackground="@drawable/window_background" |
| 219 android:windowSoftInputMode="adjustResize" |
| 220 android:launchMode="singleTask" |
| 221 android:configChanges="orientation|keyboardHidden|keyboard|screenSi
ze" |
| 222 android:hardwareAccelerated="true"> |
| 223 </activity> |
| 224 <activity android:name="org.chromium.chrome.browser.multiwindow.MultiIns
tanceChromeTabbedActivity" |
| 225 android:theme="@style/MainTheme" |
| 226 android:exported="false" |
| 227 android:windowBackground="@drawable/window_background" |
| 228 android:windowSoftInputMode="adjustResize" |
| 229 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" |
| 230 android:hardwareAccelerated="true"> |
| 231 </activity> |
| 232 <activity android:name="org.chromium.chrome.browser.sync.ui.PassphraseAc
tivity" |
| 233 android:theme="@style/MainTheme" |
| 234 android:autoRemoveFromRecents="true"> |
| 235 </activity> |
| 236 <activity android:name="org.chromium.chrome.browser.bookmark.ManageBookm
arkActivity" |
| 237 android:theme="@style/DialogWhenLargeHolo" |
| 238 android:label="@string/save_bookmark" |
| 239 android:windowSoftInputMode="stateHidden|adjustPan" |
| 240 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e"> |
| 241 <intent-filter> |
| 242 <action android:name="android.intent.action.VIEW" /> |
| 243 <category android:name="android.intent.category.DEFAULT" /> |
| 244 <category android:name="android.intent.category.BROWSABLE" /> |
| 245 <data android:scheme="chrome" android:host="editbookmark" /> |
| 246 </intent-filter> |
| 247 <intent-filter> |
| 248 <!-- This is sent by the BrowserProviderProxy as a result of |
| 249 calls to android.provider.Browser.saveBookmark(). --> |
| 250 <action android:name="{{ manifest_package }}.ADDBOOKMARK" /> |
| 251 <category android:name="android.intent.category.DEFAULT" /> |
| 252 </intent-filter> |
| 253 </activity> |
| 254 <activity android:name="org.chromium.chrome.browser.firstrun.FirstRunAct
ivityStaging" |
| 255 android:theme="@style/DialogWhenLarge" |
| 256 android:label="@string/fre_label" |
| 257 android:launchMode="singleTop" |
| 258 android:windowSoftInputMode="stateHidden|adjustPan" |
| 259 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e"> |
| 260 </activity> |
| 261 <activity android:name="org.chromium.chrome.browser.preferences.Preferen
cesStaging" |
| 262 android:theme="@style/PreferencesTheme" |
| 263 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" |
| 264 android:label="@string/preferences" |
| 265 android:exported="false"> |
| 266 </activity> |
| 267 <activity android:name="org.chromium.chrome.browser.EmbedContentViewActi
vity" |
| 268 android:theme="@style/ThemeWithActionBar" |
| 269 android:hardwareAccelerated="true" |
| 270 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e"> |
| 271 </activity> |
| 272 <activity android:name="org.chromium.chrome.browser.prerender.PrerenderA
PITestActivity" |
| 273 android:theme="@style/MainTheme" |
| 274 android:exported="true"> |
| 275 </activity> |
| 276 <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.En
hancedBookmarkActivity" |
| 277 android:theme="@style/EnhancedBookmarkDialogWhite" |
| 278 android:windowSoftInputMode="stateHidden" |
| 279 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" > |
| 280 </activity> |
| 281 <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.En
hancedBookmarkDetailActivity" |
| 282 android:theme="@style/EnhancedBookmarkDialogWhite" |
| 283 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" > |
| 284 </activity> |
| 285 <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.En
hancedBookmarkAddEditFolderActivity" |
| 286 android:theme="@style/EnhancedBookmarkDialogWhite" |
| 287 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" > |
| 288 </activity> |
| 289 <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.En
hancedBookmarkFolderSelectActivity" |
| 290 android:theme="@style/EnhancedBookmarkDialogWhite" |
| 291 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" > |
| 292 </activity> |
| 293 <activity android:name="org.chromium.chrome.browser.enhancedbookmarks.En
hancedBookmarkSigninActivity" |
| 294 android:theme="@style/EnhancedBookmarkDialogWhite" |
| 295 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" > |
| 296 </activity> |
| 297 |
| 298 <!-- |
| 299 Activities for webapps. |
| 300 TODO(dfalcantara): Remove the aliases for the WebappActivities once
we're pretty sure |
| 301 that users don't have any instances of the origin
al Activity still |
| 302 running. |
| 303 --> |
| 304 <activity-alias android:name="com.google.android.apps.chrome.webapps.Web
appManager" |
| 305 android:targetActivity="org.chromium.chrome.browser.document.ChromeL
auncherActivity"> |
| 306 <intent-filter> |
| 307 <action android:name="com.google.android.apps.chrome.webapps.Web
appManager.ACTION_START_WEBAPP" /> |
| 308 <category android:name="android.intent.category.DEFAULT" /> |
| 309 </intent-filter> |
| 310 </activity-alias> |
| 311 <activity android:name="org.chromium.chrome.browser.webapps.WebappActivi
ty" |
| 312 android:theme="@style/MainTheme" |
| 313 android:label="@string/webapp_activity_title" |
| 314 android:documentLaunchMode="intoExisting" |
| 315 android:persistableMode="persistNever" |
| 316 android:hardwareAccelerated="true" |
| 317 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e"> |
| 318 </activity> |
| 319 <activity-alias android:name="com.google.android.apps.chrome.webapps.Web
appActivity" |
| 320 android:targetActivity="org.chromium.chrome.browser.webapps.WebappAc
tivity" |
| 321 android:label="@string/webapp_activity_title"> |
| 322 </activity-alias> |
| 323 {% for i in range(10) %} |
| 324 <activity android:name="org.chromium.chrome.browser.webapps.WebappActivi
ty{{ i }}" |
| 325 android:theme="@style/MainTheme" |
| 326 android:icon="@mipmap/app_shortcut_icon" |
| 327 android:label="@string/webapp_activity_title" |
| 328 android:launchMode="singleTask" |
| 329 android:persistableMode="persistNever" |
| 330 android:hardwareAccelerated="true" |
| 331 android:taskAffinity="{{ manifest_package }}.webapps.WebappActivity{
{ i }}" |
| 332 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e"> |
| 333 </activity> |
| 334 <activity-alias android:name="com.google.android.apps.chrome.webapps.Web
appActivity{{ i }}" |
| 335 android:targetActivity="org.chromium.chrome.browser.webapps.WebappAc
tivity{{ i }}" |
| 336 android:icon="@mipmap/app_shortcut_icon" |
| 337 android:label="@string/webapp_activity_title"> |
| 338 </activity-alias> |
| 339 {% endfor %} |
| 340 |
| 341 <activity android:name="org.chromium.chrome.browser.media.remote.Expande
dControllerActivity" |
| 342 android:theme="@style/MainTheme" |
| 343 android:label="Chrome.ExpandedControllerActivity" |
| 344 android:hardwareAccelerated="true" |
| 345 android:launchMode="singleTask" |
| 346 android:noHistory="true" |
| 347 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" |
| 348 android:excludeFromRecents="true"> |
| 349 </activity> |
| 350 |
| 351 <activity android:name="org.chromium.chrome.browser.document.CipherKeyAc
tivity" |
| 352 android:launchMode="singleInstance" |
| 353 android:theme="@android:style/Theme.Translucent.NoTitleBar" |
| 354 android:excludeFromRecents="true"> |
| 355 </activity> |
| 356 |
| 357 <!-- Providers for chrome data. --> |
| 358 <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvide
rStaging" |
| 359 android:authorities="{{ manifest_package }}.ChromeBrowserProvider;{{
manifest_package }}.browser;{{ manifest_package }}" |
| 360 android:exported="true"> |
| 361 <path-permission android:path="/bookmarks/search_suggest_query" |
| 362 android:readPermission="android.permission.GLOBAL_SEARCH" /> |
| 363 </provider> |
| 364 |
| 365 <!-- Provider for FileProvider. --> |
| 366 <provider android:name="org.chromium.chrome.browser.util.CompatibilityFi
leProvider" |
| 367 android:authorities="{{ manifest_package }}.FileProvider" |
| 368 android:exported="false" |
| 369 android:grantUriPermissions="true"> |
| 370 <meta-data android:name="android.support.FILE_PROVIDER_PATHS" |
| 371 android:resource="@xml/file_paths" /> |
| 372 </provider> |
| 373 |
| 374 <!-- Sync adapter for browser sync. --> |
| 375 <service android:name="org.chromium.chrome.browser.sync.ChromeBrowserSyn
cAdapterService" |
| 376 android:exported="false"> |
| 377 <intent-filter> |
| 378 <action android:name="android.content.SyncAdapter" /> |
| 379 </intent-filter> |
| 380 <meta-data android:name="android.content.SyncAdapter" |
| 381 android:resource="@xml/syncadapter" /> |
| 382 </service> |
| 383 |
| 384 <!-- Broadcast receiver that will be notified of account changes --> |
| 385 <receiver android:name="org.chromium.chrome.browser.services.AccountsCha
ngedReceiver"> |
| 386 <intent-filter> |
| 387 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /
> |
| 388 </intent-filter> |
| 389 </receiver> |
| 390 |
| 391 <!-- Precache service. --> |
| 392 <service android:name="org.chromium.chrome.browser.precache.PrecacheServ
ice" |
| 393 android:exported="false" /> |
| 394 <receiver android:name="org.chromium.chrome.browser.precache.PrecacheSer
viceLauncher"> |
| 395 <intent-filter> |
| 396 <action android:name="android.intent.action.ACTION_POWER_CONNECT
ED"/> |
| 397 <action android:name="android.intent.action.ACTION_POWER_DISCONN
ECTED"/> |
| 398 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> |
| 399 </intent-filter> |
| 400 </receiver> |
| 401 |
| 402 <receiver android:name="org.chromium.chrome.browser.firstrun.ToSAckedRec
eiver" |
| 403 android:permission="{{ manifest_package }}.TOS_ACKED"> |
| 404 <intent-filter> |
| 405 <action android:name="{{ manifest_package }}.TOS_ACKED" /> |
| 406 </intent-filter> |
| 407 </receiver> |
| 408 |
| 409 <activity android:name="org.chromium.chrome.browser.bookmark.ShortcutAct
ivity" |
| 410 android:enabled="{{ 'true' if channel in ['stable', 'default'] else
'false' }}" |
| 411 android:label="@string/bookmark_shortcut_name" |
| 412 android:icon="@mipmap/bookmark_shortcut_icon" |
| 413 android:theme="@style/ThemeWithActionBar" |
| 414 android:hardwareAccelerated="true"> |
| 415 |
| 416 <intent-filter> |
| 417 <action android:name="android.intent.action.CREATE_SHORTCUT" /> |
| 418 <category android:name="android.intent.category.DEFAULT" /> |
| 419 </intent-filter> |
| 420 </activity> |
| 421 |
| 422 <receiver android:name="com.google.android.apps.chrome.appwidget.bookmar
ks.BookmarkThumbnailWidgetProvider" |
| 423 android:enabled="{{ 'true' if channel in ['stable', 'default'] else
'false' }}" |
| 424 android:label="@string/bookmarks"> |
| 425 <intent-filter> |
| 426 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"
/> |
| 427 <action android:name=".BOOKMARK_APPWIDGET_UPDATE" /> |
| 428 </intent-filter> |
| 429 <meta-data |
| 430 android:name="android.appwidget.provider" |
| 431 android:resource="@xml/bookmark_thumbnail_widget_info" /> |
| 432 </receiver> |
| 433 <service android:name="org.chromium.chrome.browser.bookmarkswidget.Bookm
arkThumbnailWidgetService" |
| 434 android:permission="android.permission.BIND_REMOTEVIEWS" |
| 435 android:exported="false" /> |
| 436 <receiver android:name="org.chromium.chrome.browser.bookmarkswidget.Book
markWidgetProxy" |
| 437 android:exported="false" /> |
| 438 |
| 439 <!-- Receiver for GCM messages. Rebroadcasts them locally for sync and c
loudprint. --> |
| 440 <receiver android:name="com.google.ipc.invalidation.external.client.cont
rib.MultiplexingGcmListener$GCMReceiver" |
| 441 android:exported="true" |
| 442 android:permission="com.google.android.c2dm.permission.SEND"> |
| 443 <intent-filter> |
| 444 <action android:name="com.google.android.c2dm.intent.RECEIVE" /> |
| 445 <action android:name="com.google.android.c2dm.intent.REGISTRATIO
N" /> |
| 446 <category android:name="{{ manifest_package }}"/> |
| 447 </intent-filter> |
| 448 </receiver> |
| 449 <service android:name="com.google.ipc.invalidation.external.client.contr
ib.MultiplexingGcmListener" |
| 450 android:exported="false"> |
| 451 <meta-data android:name="sender_ids" |
| 452 android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.
com"/> |
| 453 </service> |
| 454 |
| 455 <!-- Notification service for sync. --> |
| 456 <meta-data android:name="ipc.invalidation.ticl.listener_service_class" |
| 457 android:value="org.chromium.components.invalidation.InvalidationClie
ntService"/> |
| 458 <service android:name="org.chromium.components.invalidation.Invalidation
ClientService" |
| 459 android:exported="false"> |
| 460 <intent-filter> |
| 461 <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUE
ST"/> |
| 462 </intent-filter> |
| 463 </service> |
| 464 <service android:name="com.google.ipc.invalidation.ticl.android2.TiclSer
vice" |
| 465 android:exported="false"/> |
| 466 <service android:name="com.google.ipc.invalidation.ticl.android2.channel
.AndroidMessageSenderService" |
| 467 android:exported="false"/> |
| 468 <receiver android:name="com.google.ipc.invalidation.ticl.android2.Androi
dInternalScheduler$AlarmReceiver" |
| 469 android:exported="false"/> |
| 470 <receiver android:name="com.google.ipc.invalidation.external.client2.con
trib.AndroidListener$AlarmReceiver" |
| 471 android:exported="false"/> |
| 472 |
| 473 <!-- Notification service multiplexed GCM receiver --> |
| 474 <service android:name="com.google.ipc.invalidation.ticl.android2.channel
.AndroidMessageReceiverService" |
| 475 android:exported="false" |
| 476 android:enabled="true"/> |
| 477 <receiver android:name="com.google.ipc.invalidation.ticl.android2.channe
l.AndroidMessageReceiverService$Receiver" |
| 478 android:exported="false"> |
| 479 <intent-filter> |
| 480 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT
" /> |
| 481 </intent-filter> |
| 482 </receiver> |
| 483 |
| 484 <!-- GCMDriver multiplexed GCM receiver --> |
| 485 <service android:name="org.chromium.chrome.browser.services.gcm.GCMListe
ner" |
| 486 android:exported="false"/> |
| 487 <receiver android:name="org.chromium.chrome.browser.services.gcm.GCMList
ener$Receiver" |
| 488 android:exported="false"> |
| 489 <intent-filter> |
| 490 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT
" /> |
| 491 </intent-filter> |
| 492 </receiver> |
| 493 |
| 494 <!-- Android Notification service listener --> |
| 495 <service android:name="org.chromium.chrome.browser.notifications.Notific
ationService" |
| 496 android:exported="false"/> |
| 497 <receiver android:name="org.chromium.chrome.browser.notifications.Notifi
cationService$Receiver" |
| 498 android:exported="false"> |
| 499 <intent-filter> |
| 500 <action android:name="org.chromium.chrome.browser.notifications.
CLICK_NOTIFICATION" /> |
| 501 <action android:name="org.chromium.chrome.browser.notifications.
CLOSE_NOTIFICATION" /> |
| 502 </intent-filter> |
| 503 </receiver> |
| 504 |
| 505 <service android:name="org.chromium.chrome.browser.prerender.ChromePrere
nderService" |
| 506 android:exported="true" |
| 507 tools:ignore="ExportedService" /> |
| 508 <service android:name="org.chromium.chrome.browser.hosted.ChromeConnecti
onService" |
| 509 android:exported="{{ 'true' if channel in ['dev', 'canary', 'defaul
t'] else 'false' }}" |
| 510 tools:ignore="ExportedService" /> |
| 511 <service android:name="org.chromium.chrome.browser.crash.MinidumpUploadS
ervice" |
| 512 android:exported="false"/> |
| 513 |
| 514 <service android:name="org.chromium.chrome.browser.omaha.OmahaClient" |
| 515 android:exported="false"/> |
| 516 |
| 517 <!-- The following service entries exist in order to allow us to |
| 518 start more than one sandboxed process. --> |
| 519 |
| 520 <!-- NOTE: If you change the value of "android:process" for the below se
rvices, |
| 521 you also need to update kHelperProcessExecutableName in chrome_cons
tants.cc. --> |
| 522 {% set num_sandboxed_services = 20 %} |
| 523 <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERV
ICES" |
| 524 android:value="{{ num_sandboxed_services }}"/> |
| 525 {% for i in range(num_sandboxed_services) %} |
| 526 <service android:name="org.chromium.content.app.SandboxedProcessService{
{ i }}" |
| 527 android:process=":sandboxed_process{{ i }}" |
| 528 android:permission="{{ manifest_package }}.permission.CHILD_SERVICE" |
| 529 android:isolatedProcess="true" |
| 530 android:exported="false" /> |
| 531 {% endfor %} |
| 532 |
| 533 {% set num_privileged_services = 3 %} |
| 534 <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SER
VICES" |
| 535 android:value="{{ num_privileged_services }}"/> |
| 536 {% for i in range(num_privileged_services) %} |
| 537 <service android:name="org.chromium.content.app.PrivilegedProcessService
{{ i }}" |
| 538 android:process=":privileged_process{{ i }}" |
| 539 android:permission="{{ manifest_package }}.permission.CHILD_SERVICE" |
| 540 android:isolatedProcess="false" |
| 541 android:exported="false" /> |
| 542 {% endfor %} |
| 543 |
| 544 <receiver android:name="org.chromium.chrome.browser.download.OpenDownloa
dReceiver"> |
| 545 <intent-filter> |
| 546 <action android:name="android.intent.action.DOWNLOAD_NOTIFICATIO
N_CLICKED"/> |
| 547 </intent-filter> |
| 548 </receiver> |
| 549 |
| 550 <receiver android:name="org.chromium.base.PowerStatusReceiver"> |
| 551 <intent-filter> |
| 552 <action android:name="android.intent.action.ACTION_POWER_CONNECT
ED"/> |
| 553 <action android:name="android.intent.action.ACTION_POWER_DISCONN
ECTED"/> |
| 554 </intent-filter> |
| 555 </receiver> |
| 556 |
| 557 <service android:name="org.chromium.chrome.browser.media.remote.Notifica
tionTransportControl$ListenerService" /> |
| 558 |
| 559 <!-- Receiver for lock screen input when casting --> |
| 560 <receiver android:name="org.chromium.chrome.browser.media.remote.LockScr
eenTransportControl$MediaButtonIntentReceiver"/> |
| 561 |
| 562 <service android:name="org.chromium.chrome.browser.media.MediaNotificati
onService" |
| 563 android:exported="false"/> |
| 564 |
| 565 <meta-data android:name="com.google.android.gms.version" |
| 566 android:value="@integer/google_play_services_version" /> |
| 567 |
| 568 <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDE
R" |
| 569 android:value="org.chromium.content.browser.SmartClipProvider"/> |
| 570 <meta-data android:name="org.chromium.components.service_tab_launcher.SE
RVICE_TAB_LAUNCHER" |
| 571 android:value="org.chromium.chrome.browser.ChromeServiceTabLa
uncher" /> |
| 572 |
| 573 {% block extra_application_definitions %} |
| 574 {% endblock %} |
| 575 </application> |
| 576 </manifest> |
| 577 |
OLD | NEW |