Add P2PDatagramSocket and P2PStreamSocket interfaces.
[chromium-blink-merge.git] / chrome / android / sync_shell / java / AndroidManifest.xml.jinja2
blob5d82703fe7c627bd2a53f59b39ecb90fb7c09c30
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.
7 -->
9 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
10 package="org.chromium.chrome.sync_shell">
12 <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" />
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.CAMERA" />
17 <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
18 <uses-permission android:name="android.permission.INTERNET"/>
19 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
20 <uses-permission android:name="android.permission.NFC"/>
21 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
22 <uses-permission android:name="android.permission.VIBRATE"/>
23 <uses-permission android:name="android.permission.WAKE_LOCK"/>
24 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
25 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
26 <uses-permission android:name="android.permission.USE_CREDENTIALS" />
27 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
28 <!-- Only Chrome can receive the messages and registration result for GCM -->
29 <permission android:name="org.chromium.chrome.sync_shell.permission.C2D_MESSAGE"
30 android:protectionLevel="signature" />
31 <uses-permission android:name="org.chromium.chrome.sync_shell.permission.C2D_MESSAGE" />
32 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
34 <application android:name="org.chromium.chrome.shell.ChromeShellApplication"
35 android:icon="@mipmap/app_icon"
36 android:label="Chrome Sync Shell">
37 <activity android:name="org.chromium.chrome.shell.ChromeShellActivity"
38 android:launchMode="singleTask"
39 android:theme="@style/MainTheme"
40 android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
41 android:hardwareAccelerated="true">
42 <intent-filter>
43 <action android:name="android.intent.action.MAIN" />
44 <category android:name="android.intent.category.LAUNCHER" />
45 </intent-filter>
46 </activity>
47 <activity android:name="org.chromium.sync.test.util.MockGrantCredentialsPermissionActivity"
48 android:exported="true">
49 <intent-filter>
50 <action android:name="android.intent.action.VIEW" />
51 <category android:name="android.intent.category.DEFAULT" />
52 </intent-filter>
53 </activity>
54 <!-- The following service entries exist in order to allow us to
55 start more than one sandboxed process. -->
57 <!-- NOTE: If you change the values of "android:process" for any of the below services,
58 you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
59 {% set num_sandboxed_services = 20 %}
60 <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES"
61 android:value="{{ num_sandboxed_services }}"/>
62 {% for i in range(num_sandboxed_services) %}
63 <service android:name="org.chromium.content.app.SandboxedProcessService{{ i }}"
64 android:process=":sandboxed_process{{ i }}"
65 android:isolatedProcess="true"
66 android:exported="false" />
67 {% endfor %}
69 {% set num_privileged_services = 3 %}
70 <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
71 android:value="{{ num_privileged_services }}"/>
72 {% for i in range(num_privileged_services) %}
73 <service android:name="org.chromium.content.app.PrivilegedProcessService{{ i }}"
74 android:process=":privileged_process{{ i }}"
75 android:isolatedProcess="false"
76 android:exported="false" />
77 {% endfor %}
79 <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. -->
80 <receiver android:exported="true"
81 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver"
82 android:permission="com.google.android.c2dm.permission.SEND">
83 <intent-filter>
84 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
85 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
86 <category android:name="org.chromium.chrome.shell"/>
87 </intent-filter>
88 </receiver>
89 <service android:exported="false"
90 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener">
91 <meta-data android:name="sender_ids"
92 android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.com"/>
93 </service>
95 <!-- Notification service for sync. -->
96 <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
97 android:value="org.chromium.components.invalidation.InvalidationClientService"/>
98 <service android:name="org.chromium.components.invalidation.InvalidationClientService"
99 android:exported="false">
100 <intent-filter>
101 <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
102 </intent-filter>
103 </service>
104 <service android:exported="false"
105 android:name="com.google.ipc.invalidation.ticl.android2.TiclService"/>
106 <service android:exported="false"
107 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"/>
108 <receiver android:exported="false"
109 android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"/>
110 <receiver android:exported="false"
111 android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"/>
113 <!-- Notification service multiplexed GCM receiver -->
114 <service android:exported="false"
115 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService"
116 android:enabled="true"/>
117 <receiver android:exported="false"
118 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver">
119 <intent-filter>
120 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
121 </intent-filter>
122 </receiver>
124 <!-- GCMDriver multiplexed GCM receiver -->
125 <service android:exported="false"
126 android:name="org.chromium.chrome.browser.services.gcm.GCMListener"/>
127 <receiver android:exported="false"
128 android:name="org.chromium.chrome.browser.services.gcm.GCMListener$Receiver">
129 <intent-filter>
130 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
131 </intent-filter>
132 </receiver>
134 <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvider"
135 android:authorities="org.chromium.chrome.sync_shell"
136 android:exported="true" />
138 <!-- Sync adapter for browser invalidation. -->
139 <service android:exported="false"
140 android:name="org.chromium.chrome.shell.invalidation.ChromeShellSyncAdapterService">
141 <intent-filter>
142 <action android:name="android.content.SyncAdapter" />
143 </intent-filter>
144 <meta-data android:name="android.content.SyncAdapter"
145 android:resource="@xml/syncadapter" />
146 </service>
148 <!-- Broadcast receiver that will be notified of account changes. -->
149 <receiver android:name="org.chromium.chrome.shell.signin.AccountsChangedReceiver">
150 <intent-filter>
151 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
152 </intent-filter>
153 </receiver>
154 <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
155 android:value="org.chromium.content.browser.SmartClipProvider" />
157 </application>
158 </manifest>