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