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="14" android:targetSdkVersion="19" /> 13 <permission android:name="org.chromium.chrome.shell.permission.SANDBOX" 14 android:protectionLevel="signature" /> 15 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 16 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 17 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 18 <uses-permission android:name="android.permission.CAMERA" /> 19 <uses-permission android:name="android.permission.GET_ACCOUNTS"/> 20 <uses-permission android:name="android.permission.INTERNET"/> 21 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 22 <uses-permission android:name="android.permission.RECORD_AUDIO"/> 23 <uses-permission android:name="android.permission.VIBRATE"/> 24 <uses-permission android:name="android.permission.WAKE_LOCK"/> 25 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/> 26 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> 27 <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 28 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 29 <!-- Only Chrome can receive the messages and registration result for GCM --> 30 <permission android:name="org.chromium.chrome.shell.permission.C2D_MESSAGE" 31 android:protectionLevel="signature" /> 32 <uses-permission android:name="org.chromium.chrome.shell.permission.C2D_MESSAGE" /> 33 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 34 35 <application android:name="org.chromium.chrome.shell.ChromeShellApplication" 36 android:icon="@mipmap/app_icon" 37 android:label="Chrome Shell"> 38 <activity android:name="org.chromium.chrome.shell.ChromeShellActivity" 39 android:launchMode="singleTask" 40 android:theme="@android:style/Theme.Holo.Light.NoActionBar" 41 android:configChanges="orientation|keyboardHidden|keyboard|screenSize" 42 android:hardwareAccelerated="true"> 43 <intent-filter> 44 <action android:name="android.intent.action.MAIN" /> 45 <category android:name="android.intent.category.LAUNCHER" /> 46 </intent-filter> 47 </activity> 48 <activity android:name="org.chromium.sync.test.util.MockGrantCredentialsPermissionActivity" 49 android:exported="true"> 50 <intent-filter> 51 <action android:name="android.intent.action.VIEW" /> 52 <category android:name="android.intent.category.DEFAULT" /> 53 </intent-filter> 54 </activity> 55 <!-- The following service entries exist in order to allow us to 56 start more than one sandboxed process. --> 57 58 <!-- NOTE: If you change the values of "android:process" for any of the below services, 59 you also need to update kHelperProcessExecutableName in chrome_constants.cc. --> 60 <service android:name="org.chromium.content.app.SandboxedProcessService0" 61 android:process=":sandboxed_process0" 62 android:permission="org.chromium.content_shell.permission.SANDBOX" 63 android:isolatedProcess="true" 64 android:exported="false" /> 65 <service android:name="org.chromium.content.app.SandboxedProcessService1" 66 android:process=":sandboxed_process1" 67 android:permission="org.chromium.content_shell.permission.SANDBOX" 68 android:isolatedProcess="true" 69 android:exported="false" /> 70 <service android:name="org.chromium.content.app.SandboxedProcessService2" 71 android:process=":sandboxed_process2" 72 android:permission="org.chromium.content_shell.permission.SANDBOX" 73 android:isolatedProcess="true" 74 android:exported="false" /> 75 <service android:name="org.chromium.content.app.SandboxedProcessService3" 76 android:process=":sandboxed_process3" 77 android:permission="org.chromium.content_shell.permission.SANDBOX" 78 android:isolatedProcess="true" 79 android:exported="false" /> 80 <service android:name="org.chromium.content.app.SandboxedProcessService4" 81 android:process=":sandboxed_process4" 82 android:permission="org.chromium.content_shell.permission.SANDBOX" 83 android:isolatedProcess="true" 84 android:exported="false" /> 85 <service android:name="org.chromium.content.app.SandboxedProcessService5" 86 android:process=":sandboxed_process5" 87 android:permission="org.chromium.content_shell.permission.SANDBOX" 88 android:isolatedProcess="true" 89 android:exported="false" /> 90 <service android:name="org.chromium.content.app.SandboxedProcessService6" 91 android:process=":sandboxed_process6" 92 android:permission="org.chromium.content_shell.permission.SANDBOX" 93 android:isolatedProcess="true" 94 android:exported="false" /> 95 <service android:name="org.chromium.content.app.SandboxedProcessService7" 96 android:process=":sandboxed_process7" 97 android:permission="org.chromium.content_shell.permission.SANDBOX" 98 android:isolatedProcess="true" 99 android:exported="false" /> 100 <service android:name="org.chromium.content.app.SandboxedProcessService8" 101 android:process=":sandboxed_process8" 102 android:permission="org.chromium.content_shell.permission.SANDBOX" 103 android:isolatedProcess="true" 104 android:exported="false" /> 105 <service android:name="org.chromium.content.app.SandboxedProcessService9" 106 android:process=":sandboxed_process9" 107 android:permission="org.chromium.content_shell.permission.SANDBOX" 108 android:isolatedProcess="true" 109 android:exported="false" /> 110 <service android:name="org.chromium.content.app.SandboxedProcessService10" 111 android:process=":sandboxed_process10" 112 android:permission="org.chromium.content_shell.permission.SANDBOX" 113 android:isolatedProcess="true" 114 android:exported="false" /> 115 <service android:name="org.chromium.content.app.SandboxedProcessService11" 116 android:process=":sandboxed_process11" 117 android:permission="org.chromium.content_shell.permission.SANDBOX" 118 android:isolatedProcess="true" 119 android:exported="false" /> 120 <service android:name="org.chromium.content.app.SandboxedProcessService12" 121 android:process=":sandboxed_process12" 122 android:permission="org.chromium.content_shell.permission.SANDBOX" 123 android:isolatedProcess="true" 124 android:exported="false" /> 125 126 <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. --> 127 <receiver android:exported="true" 128 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver" 129 android:permission="com.google.android.c2dm.permission.SEND"> 130 <intent-filter> 131 <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 132 <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 133 <category android:name="org.chromium.chrome.shell"/> 134 </intent-filter> 135 </receiver> 136 <service android:exported="false" 137 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener"> 138 <meta-data android:name="sender_ids" 139 android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.com"/> 140 </service> 141 142 <!-- Notification service for sync. --> 143 <meta-data android:name="ipc.invalidation.ticl.listener_service_class" 144 android:value="org.chromium.sync.notifier.InvalidationService"/> 145 <service android:name="org.chromium.sync.notifier.InvalidationService" 146 android:exported="false"> 147 <intent-filter> 148 <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/> 149 </intent-filter> 150 </service> 151 <service android:exported="false" 152 android:name="com.google.ipc.invalidation.ticl.android2.TiclService"/> 153 <service android:exported="false" 154 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"/> 155 <receiver android:exported="false" 156 android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"/> 157 <receiver android:exported="false" 158 android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"/> 159 160 <!-- Notification service multiplexed GCM receiver --> 161 <service android:exported="false" 162 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService" 163 android:enabled="true"/> 164 <receiver android:exported="false" 165 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver"> 166 <intent-filter> 167 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" /> 168 </intent-filter> 169 </receiver> 170 171 <!-- GCMDriver multiplexed GCM receiver --> 172 <service android:exported="false" 173 android:name="org.chromium.components.gcm_driver.GCMListener"/> 174 <receiver android:exported="false" 175 android:name="org.chromium.components.gcm_driver.GCMListener$Receiver"> 176 <intent-filter> 177 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" /> 178 </intent-filter> 179 </receiver> 180 181 <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvider" 182 android:authorities="org.chromium.chrome.shell" 183 android:exported="true" /> 184 185 <!-- Sync adapter for browser sync. --> 186 <service android:exported="false" 187 android:name="org.chromium.chrome.shell.sync.ChromeShellSyncAdapterService"> 188 <intent-filter> 189 <action android:name="android.content.SyncAdapter" /> 190 </intent-filter> 191 <meta-data android:name="android.content.SyncAdapter" 192 android:resource="@xml/syncadapter" /> 193 </service> 194 195 <!-- Broadcast receiver that will be notified of account changes. --> 196 <receiver android:name="org.chromium.chrome.shell.signin.AccountsChangedReceiver"> 197 <intent-filter> 198 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /> 199 </intent-filter> 200 </receiver> 201 <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER" 202 android:value="org.chromium.content.browser.SmartClipProvider" /> 203 204 </application> 205</manifest> 206