476deb9ad560d96411d675088e34dbf5104ec7da
[platform/framework/web/crosswalk.git] / src / chrome / android / shell / java / AndroidManifest.xml
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     </application>
202 </manifest>