1 <?xml version="1.0" encoding="utf-8"?>
3 <!-- Copyright 2014 The Chromium Authors. All rights reserved.
5 Use of this source code is governed by a BSD-style license that can be
6 found in the LICENSE file.
9 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
10 package="org.chromium.chrome.shell">
12 <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" />
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" />
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">
44 <action android:name="android.intent.action.MAIN" />
45 <category android:name="android.intent.category.LAUNCHER" />
48 <activity android:name="org.chromium.sync.test.util.MockGrantCredentialsPermissionActivity"
49 android:exported="true">
51 <action android:name="android.intent.action.VIEW" />
52 <category android:name="android.intent.category.DEFAULT" />
55 <!-- The following service entries exist in order to allow us to
56 start more than one sandboxed process. -->
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 <service android:name="org.chromium.content.app.SandboxedProcessService13"
126 android:process=":sandboxed_process13"
127 android:permission="org.chromium.content_shell.permission.SANDBOX"
128 android:isolatedProcess="true"
129 android:exported="false" />
130 <service android:name="org.chromium.content.app.SandboxedProcessService14"
131 android:process=":sandboxed_process14"
132 android:permission="org.chromium.content_shell.permission.SANDBOX"
133 android:isolatedProcess="true"
134 android:exported="false" />
135 <service android:name="org.chromium.content.app.SandboxedProcessService15"
136 android:process=":sandboxed_process15"
137 android:permission="org.chromium.content_shell.permission.SANDBOX"
138 android:isolatedProcess="true"
139 android:exported="false" />
140 <service android:name="org.chromium.content.app.SandboxedProcessService16"
141 android:process=":sandboxed_process16"
142 android:permission="org.chromium.content_shell.permission.SANDBOX"
143 android:isolatedProcess="true"
144 android:exported="false" />
145 <service android:name="org.chromium.content.app.SandboxedProcessService17"
146 android:process=":sandboxed_process17"
147 android:permission="org.chromium.content_shell.permission.SANDBOX"
148 android:isolatedProcess="true"
149 android:exported="false" />
150 <service android:name="org.chromium.content.app.SandboxedProcessService18"
151 android:process=":sandboxed_process18"
152 android:permission="org.chromium.content_shell.permission.SANDBOX"
153 android:isolatedProcess="true"
154 android:exported="false" />
155 <service android:name="org.chromium.content.app.SandboxedProcessService19"
156 android:process=":sandboxed_process19"
157 android:permission="org.chromium.content_shell.permission.SANDBOX"
158 android:isolatedProcess="true"
159 android:exported="false" />
161 <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. -->
162 <receiver android:exported="true"
163 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver"
164 android:permission="com.google.android.c2dm.permission.SEND">
166 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
167 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
168 <category android:name="org.chromium.chrome.shell"/>
171 <service android:exported="false"
172 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener">
173 <meta-data android:name="sender_ids"
174 android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.com"/>
177 <!-- Notification service for sync. -->
178 <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
179 android:value="org.chromium.sync.notifier.InvalidationService"/>
180 <service android:name="org.chromium.sync.notifier.InvalidationService"
181 android:exported="false">
183 <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
186 <service android:exported="false"
187 android:name="com.google.ipc.invalidation.ticl.android2.TiclService"/>
188 <service android:exported="false"
189 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"/>
190 <receiver android:exported="false"
191 android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"/>
192 <receiver android:exported="false"
193 android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"/>
195 <!-- Notification service multiplexed GCM receiver -->
196 <service android:exported="false"
197 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService"
198 android:enabled="true"/>
199 <receiver android:exported="false"
200 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver">
202 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
206 <!-- GCMDriver multiplexed GCM receiver -->
207 <service android:exported="false"
208 android:name="org.chromium.components.gcm_driver.GCMListener"/>
209 <receiver android:exported="false"
210 android:name="org.chromium.components.gcm_driver.GCMListener$Receiver">
212 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
216 <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvider"
217 android:authorities="org.chromium.chrome.shell"
218 android:exported="true" />
220 <!-- Provider for FileProvider. -->
221 <provider android:name="android.support.v4.content.FileProvider"
222 android:authorities="org.chromium.chrome.shell.FileProvider"
223 android:exported="false"
224 android:grantUriPermissions="true">
225 <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
226 android:resource="@xml/file_paths" />
229 <!-- Sync adapter for browser sync. -->
230 <service android:exported="false"
231 android:name="org.chromium.chrome.shell.sync.ChromeShellSyncAdapterService">
233 <action android:name="android.content.SyncAdapter" />
235 <meta-data android:name="android.content.SyncAdapter"
236 android:resource="@xml/syncadapter" />
239 <!-- Broadcast receiver that will be notified of account changes. -->
240 <receiver android:name="org.chromium.chrome.shell.signin.AccountsChangedReceiver">
242 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
245 <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
246 android:value="org.chromium.content.browser.SmartClipProvider" />