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 |