| OLD | NEW |
| (Empty) |
| 1 <?xml version="1.0" encoding="utf-8"?> | |
| 2 | |
| 3 <!-- Copyright 2014 The Chromium Authors. All rights reserved. | |
| 4 | |
| 5 Use of this source code is governed by a BSD-style license that can be | |
| 6 found in the LICENSE file. | |
| 7 --> | |
| 8 | |
| 9 <manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
| 10 package="org.chromium.chrome.shell"> | |
| 11 | |
| 12 <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" /> | |
| 13 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> | |
| 14 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> | |
| 15 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> | |
| 16 <uses-permission android:name="android.permission.BLUETOOTH"/> | |
| 17 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> | |
| 18 <uses-feature android:name="android.hardware.bluetooth_le" android:required=
"false"/> | |
| 19 <uses-permission android:name="android.permission.CAMERA" /> | |
| 20 <uses-permission android:name="android.permission.GET_ACCOUNTS"/> | |
| 21 <uses-permission android:name="android.permission.INTERNET"/> | |
| 22 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> | |
| 23 <uses-permission android:name="android.permission.NFC"/> | |
| 24 <uses-permission android:name="android.permission.RECORD_AUDIO"/> | |
| 25 <uses-permission android:name="android.permission.VIBRATE"/> | |
| 26 <uses-permission android:name="android.permission.WAKE_LOCK"/> | |
| 27 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/> | |
| 28 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> | |
| 29 <uses-permission android:name="android.permission.USE_CREDENTIALS" /> | |
| 30 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> | |
| 31 <!-- Only Chrome can receive the messages and registration result for GCM --
> | |
| 32 <permission android:name="org.chromium.chrome.shell.permission.C2D_MESSAGE" | |
| 33 android:protectionLevel="signature" /> | |
| 34 <uses-permission android:name="org.chromium.chrome.shell.permission.C2D_MESS
AGE" /> | |
| 35 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /
> | |
| 36 | |
| 37 <permission android:name="org.chromium.chrome.shell.permission.DEBUG" | |
| 38 android:label="Debug web pages in Chrome Shell" | |
| 39 android:permissionGroup="android.permission-group.DEVELOPMENT_TO
OLS" | |
| 40 android:protectionLevel="signature" /> | |
| 41 | |
| 42 <application android:name="org.chromium.chrome.shell.ChromeShellApplication" | |
| 43 android:icon="@mipmap/app_icon" | |
| 44 android:label="@string/app_name" | |
| 45 android:supportsRtl="true"> | |
| 46 <activity android:name="org.chromium.chrome.shell.ChromeShellActivity" | |
| 47 android:launchMode="singleTask" | |
| 48 android:theme="@style/MainTheme" | |
| 49 android:configChanges="orientation|keyboardHidden|keyboard|scr
eenSize" | |
| 50 android:hardwareAccelerated="true"> | |
| 51 <intent-filter> | |
| 52 <action android:name="android.intent.action.MAIN" /> | |
| 53 <category android:name="android.intent.category.LAUNCHER" /> | |
| 54 <category android:name="android.intent.category.NOTIFICATION_P
REFERENCES" /> | |
| 55 </intent-filter> | |
| 56 </activity> | |
| 57 <activity android:name="org.chromium.sync.test.util.MockGrantCredentials
PermissionActivity" | |
| 58 android:exported="true"> | |
| 59 <intent-filter> | |
| 60 <action android:name="android.intent.action.VIEW" /> | |
| 61 <category android:name="android.intent.category.DEFAULT" /> | |
| 62 </intent-filter> | |
| 63 </activity> | |
| 64 <activity android:theme="@style/PreferencesTheme" | |
| 65 android:name="org.chromium.chrome.shell.preferences.ChromeShellP
references" | |
| 66 android:configChanges="orientation|keyboardHidden|keyboard|scree
nSize" | |
| 67 android:label="@string/preferences" | |
| 68 android:exported="false"> | |
| 69 </activity> | |
| 70 <activity android:name="org.chromium.chrome.browser.sync.ui.PassphraseAc
tivity" | |
| 71 android:theme="@style/PreferencesTheme"> | |
| 72 </activity> | |
| 73 | |
| 74 <!-- The following service entries exist in order to allow us to | |
| 75 start more than one sandboxed process. --> | |
| 76 | |
| 77 <!-- NOTE: If you change the value of "android:process" for the below se
rvices, | |
| 78 you also need to update kHelperProcessExecutableName in chrome_cons
tants.cc. --> | |
| 79 {% set num_sandboxed_services = 20 %} | |
| 80 <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERV
ICES" | |
| 81 android:value="{{ num_sandboxed_services }}"/> | |
| 82 {% for i in range(num_sandboxed_services) %} | |
| 83 <service android:name="org.chromium.content.app.SandboxedProcessService{
{ i }}" | |
| 84 android:process=":sandboxed_process{{ i }}" | |
| 85 android:isolatedProcess="true" | |
| 86 android:exported="false" /> | |
| 87 {% endfor %} | |
| 88 | |
| 89 {% set num_privileged_services = 3 %} | |
| 90 <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SER
VICES" | |
| 91 android:value="{{ num_privileged_services }}"/> | |
| 92 {% for i in range(num_privileged_services) %} | |
| 93 <service android:name="org.chromium.content.app.PrivilegedProcessService
{{ i }}" | |
| 94 android:process=":privileged_process{{ i }}" | |
| 95 android:isolatedProcess="false" | |
| 96 android:exported="false" /> | |
| 97 {% endfor %} | |
| 98 | |
| 99 <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. --> | |
| 100 <receiver android:exported="true" | |
| 101 android:name="com.google.ipc.invalidation.external.client.cont
rib.MultiplexingGcmListener$GCMReceiver" | |
| 102 android:permission="com.google.android.c2dm.permission.SEND"> | |
| 103 <intent-filter> | |
| 104 <action android:name="com.google.android.c2dm.intent.RECEIVE" /> | |
| 105 <action android:name="com.google.android.c2dm.intent.REGISTRATIO
N" /> | |
| 106 <category android:name="org.chromium.chrome.shell"/> | |
| 107 </intent-filter> | |
| 108 </receiver> | |
| 109 <service android:exported="false" | |
| 110 android:name="com.google.ipc.invalidation.external.client.contr
ib.MultiplexingGcmListener"> | |
| 111 <meta-data android:name="sender_ids" | |
| 112 android:value="cloudprint.c2dm@gmail.com,ipc.invalidation
@gmail.com"/> | |
| 113 </service> | |
| 114 | |
| 115 <!-- Notification service for sync. --> | |
| 116 <meta-data android:name="ipc.invalidation.ticl.listener_service_class" | |
| 117 android:value="org.chromium.components.invalidation.Invalidat
ionClientService"/> | |
| 118 <service android:name="org.chromium.components.invalidation.Invalidation
ClientService" | |
| 119 android:exported="false"> | |
| 120 <intent-filter> | |
| 121 <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQ
UEST"/> | |
| 122 </intent-filter> | |
| 123 </service> | |
| 124 <service android:exported="false" | |
| 125 android:name="com.google.ipc.invalidation.ticl.android2.TiclSer
vice"/> | |
| 126 <service android:exported="false" | |
| 127 android:name="com.google.ipc.invalidation.ticl.android2.channel
.AndroidMessageSenderService"/> | |
| 128 <receiver android:exported="false" | |
| 129 android:name="com.google.ipc.invalidation.ticl.android2.Androi
dInternalScheduler$AlarmReceiver"/> | |
| 130 <receiver android:exported="false" | |
| 131 android:name="com.google.ipc.invalidation.external.client.cont
rib.AndroidListener$AlarmReceiver"/> | |
| 132 | |
| 133 <!-- Notification service multiplexed GCM receiver --> | |
| 134 <service android:exported="false" | |
| 135 android:name="com.google.ipc.invalidation.ticl.android2.channel
.AndroidMessageReceiverService" | |
| 136 android:enabled="true"/> | |
| 137 <receiver android:exported="false" | |
| 138 android:name="com.google.ipc.invalidation.ticl.android2.channe
l.AndroidMessageReceiverService$Receiver"> | |
| 139 <intent-filter> | |
| 140 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT
" /> | |
| 141 </intent-filter> | |
| 142 </receiver> | |
| 143 | |
| 144 <!-- GCMDriver multiplexed GCM receiver --> | |
| 145 <service android:exported="false" | |
| 146 android:name="org.chromium.chrome.browser.services.gcm.GCMListe
ner"/> | |
| 147 <receiver android:exported="false" | |
| 148 android:name="org.chromium.chrome.browser.services.gcm.GCMList
ener$Receiver"> | |
| 149 <intent-filter> | |
| 150 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT
" /> | |
| 151 </intent-filter> | |
| 152 </receiver> | |
| 153 | |
| 154 <!-- Android Notification service listener --> | |
| 155 <service android:exported="false" | |
| 156 android:name="org.chromium.chrome.browser.notifications.Notific
ationService"/> | |
| 157 <receiver android:exported="false" | |
| 158 android:name="org.chromium.chrome.browser.notifications.Notifi
cationService$Receiver"> | |
| 159 <intent-filter> | |
| 160 <action android:name="org.chromium.chrome.browser.notifications.
CLICK_NOTIFICATION" /> | |
| 161 <action android:name="org.chromium.chrome.browser.notifications.
CLOSE_NOTIFICATION" /> | |
| 162 </intent-filter> | |
| 163 </receiver> | |
| 164 | |
| 165 <!-- Service Worker Background Sync service listener --> | |
| 166 <service android:name="org.chromium.content.browser.BackgroundSyncLaunch
erService" | |
| 167 android:exported="false" /> | |
| 168 <receiver android:name="org.chromium.content.browser.BackgroundSyncLaunc
herService$Receiver"> | |
| 169 <intent-filter> | |
| 170 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> | |
| 171 </intent-filter> | |
| 172 </receiver> | |
| 173 | |
| 174 <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvide
r" | |
| 175 android:authorities="org.chromium.chrome.shell" | |
| 176 android:exported="true" /> | |
| 177 | |
| 178 <!-- Provider for FileProvider. --> | |
| 179 <provider android:name="android.support.v4.content.FileProvider" | |
| 180 android:authorities="org.chromium.chrome.shell.FileProvider" | |
| 181 android:exported="false" | |
| 182 android:grantUriPermissions="true"> | |
| 183 <meta-data android:name="android.support.FILE_PROVIDER_PATHS" | |
| 184 android:resource="@xml/file_paths" /> | |
| 185 </provider> | |
| 186 | |
| 187 <!-- Sync adapter for browser invalidation. --> | |
| 188 <service android:exported="false" | |
| 189 android:name="org.chromium.chrome.shell.invalidation.ChromeShel
lSyncAdapterService"> | |
| 190 <intent-filter> | |
| 191 <action android:name="android.content.SyncAdapter" /> | |
| 192 </intent-filter> | |
| 193 <meta-data android:name="android.content.SyncAdapter" | |
| 194 android:resource="@xml/syncadapter" /> | |
| 195 </service> | |
| 196 | |
| 197 <!-- Broadcast receiver that will be notified of account changes. --> | |
| 198 <receiver android:name="org.chromium.chrome.shell.signin.AccountsChanged
Receiver"> | |
| 199 <intent-filter> | |
| 200 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /
> | |
| 201 </intent-filter> | |
| 202 </receiver> | |
| 203 | |
| 204 <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDE
R" | |
| 205 android:value="org.chromium.content.browser.SmartClipProvider
" /> | |
| 206 <meta-data android:name="org.chromium.components.service_tab_launcher.SE
RVICE_TAB_LAUNCHER" | |
| 207 android:value="org.chromium.chrome.shell.ChromeShellServiceTa
bLauncher" /> | |
| 208 | |
| 209 <!-- Precache service. --> | |
| 210 <service android:name="org.chromium.chrome.browser.precache.PrecacheServ
ice" | |
| 211 android:exported="false" /> | |
| 212 <receiver android:name="org.chromium.chrome.browser.precache.PrecacheSer
viceLauncher"> | |
| 213 <intent-filter> | |
| 214 <action android:name="android.intent.action.ACTION_POWER_CONNECT
ED"/> | |
| 215 <action android:name="android.intent.action.ACTION_POWER_DISCONN
ECTED"/> | |
| 216 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> | |
| 217 </intent-filter> | |
| 218 </receiver> | |
| 219 | |
| 220 <!-- Service for the media playback control notification --> | |
| 221 <service android:name="org.chromium.chrome.browser.media.ui.Notification
MediaPlaybackControl$ListenerService" | |
| 222 android:exported="false" /> | |
| 223 | |
| 224 <!-- Activity, service, and meta-data to support casting to Chromecast -
-> | |
| 225 | |
| 226 <!-- Expanded controller activity is displayed when the Cast Notificatio
n is clicked --> | |
| 227 <activity android:name="org.chromium.chrome.browser.media.remote.Expande
dControllerActivity" | |
| 228 android:theme="@style/MainTheme" | |
| 229 android:label="Chrome.ExpandedControllerActivity" | |
| 230 android:hardwareAccelerated="true" | |
| 231 android:launchMode="singleTask" | |
| 232 android:noHistory="true" | |
| 233 android:configChanges="orientation|keyboardHidden|keyboard|screenSiz
e" | |
| 234 android:excludeFromRecents="true"> | |
| 235 </activity> | |
| 236 | |
| 237 <service android:name="org.chromium.chrome.browser.media.remote.Notifica
tionTransportControl$ListenerService" /> | |
| 238 | |
| 239 <!-- Media route controllers to use for remote playback (cast). | |
| 240 This is here, rather than in code, since it varies between upstream
and downstream, | |
| 241 yet we need this list of classes in the notification service, which
belongs upstream | |
| 242 and doesn't run the downstream Clank startup code. The Cast code wi
ll, for each media element, | |
| 243 choose the first MediaRouteController that can play it, so the orde
r of the list can be important. | |
| 244 The most specific MediaRouteControllers should be listed first, fol
lowed by more generic ones --> | |
| 245 <meta-data android:name="org.chromium.content.browser.REMOTE_MEDIA_PLAYE
RS" | |
| 246 android:value="org.chromium.chrome.browser.media.remote.DefaultMedia
RouteController"/> | |
| 247 </application> | |
| 248 </manifest> | |
| OLD | NEW |