Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
1 #filter substitution
2 <?xml version="1.0" encoding="utf-8"?>
3 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
4 package="@ANDROID_PACKAGE_NAME@"
5 android:installLocation="auto"
6 android:versionCode="@ANDROID_VERSION_CODE@"
7 android:versionName="@MOZ_APP_VERSION@"
8 #ifdef MOZ_ANDROID_SHARED_ID
9 android:sharedUserId="@MOZ_ANDROID_SHARED_ID@"
10 #endif
11 >
12 <uses-sdk android:minSdkVersion="8"
13 android:targetSdkVersion="@ANDROID_TARGET_SDK@"/>
15 #include ../services/manifests/AnnouncementsAndroidManifest_permissions.xml.in
16 #include ../services/manifests/FxAccountAndroidManifest_permissions.xml.in
17 #include ../services/manifests/HealthReportAndroidManifest_permissions.xml.in
18 #include ../services/manifests/SyncAndroidManifest_permissions.xml.in
20 #ifndef RELEASE_BUILD
21 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
22 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
23 #endif
24 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
25 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
26 <uses-permission android:name="android.permission.INTERNET"/>
27 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
28 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
29 <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
30 <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
32 <uses-permission android:name="android.permission.WAKE_LOCK"/>
33 <uses-permission android:name="android.permission.VIBRATE"/>
34 <uses-permission android:name="@ANDROID_PACKAGE_NAME@.permissions.PASSWORD_PROVIDER"/>
35 <uses-permission android:name="@ANDROID_PACKAGE_NAME@.permissions.BROWSER_PROVIDER"/>
36 <uses-permission android:name="@ANDROID_PACKAGE_NAME@.permissions.FORMHISTORY_PROVIDER"/>
38 #ifdef MOZ_WEBSMS_BACKEND
39 <!-- WebSMS -->
40 <uses-permission android:name="android.permission.SEND_SMS"/>
41 <uses-permission android:name="android.permission.RECEIVE_SMS"/>
42 <uses-permission android:name="android.permission.WRITE_SMS"/>
43 <uses-permission android:name="android.permission.READ_SMS"/>
44 #endif
46 <uses-feature android:name="android.hardware.location" android:required="false"/>
47 <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
48 <uses-feature android:name="android.hardware.touchscreen"/>
50 #ifdef NIGHTLY_BUILD
51 <!-- Contacts API -->
52 <uses-permission android:name="android.permission.READ_CONTACTS"/>
53 <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
54 <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
55 #endif
57 #ifdef MOZ_ANDROID_BEAM
58 <!-- Android Beam support -->
59 <uses-permission android:name="android.permission.NFC"/>
60 <uses-feature android:name="android.hardware.nfc" android:required="false"/>
61 #endif
63 #ifdef MOZ_WEBRTC
64 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
65 <uses-feature android:name="android.hardware.audio.low_latency" android:required="false"/>
66 <uses-feature android:name="android.hardware.camera.any" android:required="false"/>
67 <uses-feature android:name="android.hardware.microphone" android:required="false"/>
68 #endif
69 <uses-permission android:name="android.permission.CAMERA" />
70 <uses-feature android:name="android.hardware.camera" android:required="false"/>
71 <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
73 <!-- App requires OpenGL ES 2.0 -->
74 <uses-feature android:glEsVersion="0x00020000" android:required="true" />
76 <application android:label="@string/moz_app_displayname"
77 android:icon="@drawable/icon"
78 android:name="org.mozilla.gecko.GeckoApplication"
79 android:hardwareAccelerated="true"
80 #if MOZILLA_OFFICIAL
81 android:debuggable="false">
82 #else
83 android:debuggable="true">
84 #endif
86 <!-- If the windowSoftInputMode adjust* flag changes below, the
87 setSoftInputMode call in BrowserSearch#onStop must also be updated. -->
88 <activity android:name=".App"
89 android:label="@string/moz_app_displayname"
90 android:taskAffinity="@ANDROID_PACKAGE_NAME@.BROWSER"
91 android:alwaysRetainTaskState="true"
92 android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize"
93 android:windowSoftInputMode="stateUnspecified|adjustResize"
94 android:launchMode="singleTask"
95 android:theme="@style/Gecko.App">
96 <intent-filter>
97 <action android:name="android.intent.action.MAIN" />
98 <category android:name="android.intent.category.LAUNCHER" />
99 </intent-filter>
100 <intent-filter>
101 <action android:name="org.mozilla.gecko.ACTION_ALERT_CALLBACK" />
102 </intent-filter>
104 <intent-filter>
105 <action android:name="org.mozilla.gecko.UPDATE"/>
106 <category android:name="android.intent.category.DEFAULT" />
107 </intent-filter>
109 <!-- Default browser intents -->
110 <intent-filter>
111 <action android:name="android.intent.action.VIEW" />
112 <category android:name="android.intent.category.DEFAULT" />
113 <category android:name="android.intent.category.BROWSABLE" />
114 <data android:scheme="http" />
115 <data android:scheme="https" />
116 <data android:scheme="about" />
117 <data android:scheme="javascript" />
118 </intent-filter>
119 <intent-filter>
120 <action android:name="android.intent.action.VIEW" />
121 <category android:name="android.intent.category.BROWSABLE" />
122 <category android:name="android.intent.category.DEFAULT" />
123 <data android:scheme="file" />
124 <data android:scheme="http" />
125 <data android:scheme="https" />
126 <data android:mimeType="text/html"/>
127 <data android:mimeType="text/plain"/>
128 <data android:mimeType="application/xhtml+xml"/>
129 </intent-filter>
131 <intent-filter>
132 <action android:name="android.intent.action.WEB_SEARCH" />
133 <category android:name="android.intent.category.DEFAULT" />
134 <category android:name="android.intent.category.BROWSABLE" />
135 <data android:scheme="" />
136 <data android:scheme="http" />
137 <data android:scheme="https" />
138 </intent-filter>
140 <intent-filter>
141 <action android:name="android.intent.action.SEARCH" />
142 </intent-filter>
144 <!-- For XPI installs from websites and the download manager. -->
145 <intent-filter>
146 <action android:name="android.intent.action.VIEW" />
147 <category android:name="android.intent.category.DEFAULT" />
148 <data android:scheme="file" />
149 <data android:scheme="http" />
150 <data android:scheme="https" />
151 <data android:mimeType="application/x-xpinstall" />
152 </intent-filter>
154 <!-- For XPI installs from file: URLs. -->
155 <intent-filter>
156 <action android:name="android.intent.action.VIEW" />
157 <category android:name="android.intent.category.DEFAULT" />
158 <data android:host="" />
159 <data android:scheme="file" />
160 <data android:pathPattern=".*\\.xpi" />
161 </intent-filter>
163 #ifdef MOZ_ANDROID_BEAM
164 <intent-filter>
165 <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
166 <category android:name="android.intent.category.DEFAULT" />
167 <data android:scheme="http" />
168 <data android:scheme="https" />
169 </intent-filter>
170 #endif
172 <meta-data android:name="android.app.searchable"
173 android:resource="@xml/searchable" />
175 <!-- For debugging -->
176 <intent-filter>
177 <action android:name="org.mozilla.gecko.DEBUG" />
178 <category android:name="android.intent.category.DEFAULT" />
179 </intent-filter>
180 </activity>
182 #ifdef MOZ_ANDROID_SYNTHAPKS
183 <activity android:name="org.mozilla.gecko.webapp.Dispatcher"
184 android:noHistory="true" >
185 <intent-filter>
186 <!-- catch links from synthetic apks -->
187 <action android:name="android.intent.action.VIEW" />
188 <category android:name="android.intent.category.DEFAULT" />
189 <data android:mimeType="application/webapp" />
190 </intent-filter>
191 </activity>
193 <receiver android:name="org.mozilla.gecko.webapp.UninstallListener" >
194 <intent-filter>
195 <action android:name="android.intent.action.PACKAGE_REMOVED" />
196 <data android:scheme="package" />
197 </intent-filter>
198 </receiver>
200 <receiver android:name="org.mozilla.gecko.webapp.TaskKiller">
201 <intent-filter>
202 <action android:name="org.mozilla.webapp.TASK_REMOVED" />
203 <category android:name="android.intent.category.DEFAULT" />
204 </intent-filter>
205 </receiver>
206 #endif
208 <activity android:name=".Webapp"
209 android:label="@string/webapp_generic_name"
210 android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize"
211 android:windowSoftInputMode="stateUnspecified|adjustResize"
212 android:launchMode="singleTask"
213 android:taskAffinity="org.mozilla.gecko.WEBAPP"
214 android:process=":@ANDROID_PACKAGE_NAME@.Webapp"
215 android:excludeFromRecents="true"
216 android:theme="@style/Gecko.App">
217 <intent-filter>
218 <action android:name="org.mozilla.gecko.WEBAPP" />
219 </intent-filter>
220 <intent-filter>
221 <action android:name="org.mozilla.gecko.ACTION_ALERT_CALLBACK" />
222 </intent-filter>
223 </activity>
225 <!-- Declare a predefined number of Webapp<num> activities. These are
226 used so that each web app can launch in its own process. Keep
227 this number in sync with the total number of web apps handled in
228 WebappAllocator. -->
230 #define FRAGMENT WebappManifestFragment.xml.frag.in
231 #include WebappFragmentRepeater.inc
233 <!-- Masquerade as the Resolver so that we can be opened from the Marketplace. -->
234 <activity-alias
235 android:name="com.android.internal.app.ResolverActivity"
236 android:targetActivity=".App"
237 android:exported="true" />
239 <receiver android:name="org.mozilla.gecko.GeckoUpdateReceiver">
240 <intent-filter>
241 <action android:name="@ANDROID_PACKAGE_NAME@.CHECK_UPDATE_RESULT" />
242 </intent-filter>
243 </receiver>
245 <receiver android:name="org.mozilla.gecko.GeckoMessageReceiver"
246 android:permission="@ANDROID_PACKAGE_NAME@.permissions.PASSWORD_PROVIDER">
247 <intent-filter>
248 <action android:name="org.mozilla.gecko.INIT_PW"></action>
249 </intent-filter>
250 </receiver>
252 <receiver android:name="org.mozilla.gecko.ReferrerReceiver" android:exported="true">
253 <intent-filter>
254 <action android:name="com.android.vending.INSTALL_REFERRER" />
255 </intent-filter>
256 </receiver>
258 <activity android:name="org.mozilla.gecko.Restarter"
259 android:process="@ANDROID_PACKAGE_NAME@Restarter"
260 android:noHistory="true"
261 android:theme="@style/Gecko">
262 <intent-filter>
263 <action android:name="org.mozilla.gecko.restart"/>
264 <action android:name="org.mozilla.gecko.restart_update"/>
265 </intent-filter>
266 </activity>
268 #include ../services/manifests/AnnouncementsAndroidManifest_activities.xml.in
269 #include ../services/manifests/FxAccountAndroidManifest_activities.xml.in
270 #include ../services/manifests/HealthReportAndroidManifest_activities.xml.in
271 #include ../services/manifests/SyncAndroidManifest_activities.xml.in
273 #if MOZ_CRASHREPORTER
274 <activity android:name="org.mozilla.gecko.CrashReporter"
275 android:label="@string/crash_reporter_title"
276 android:icon="@drawable/crash_reporter"
277 android:theme="@style/Gecko"
278 android:exported="false"
279 android:excludeFromRecents="true">
280 <intent-filter>
281 <action android:name="org.mozilla.gecko.reportCrash" />
282 </intent-filter>
283 </activity>
284 #endif
286 <activity android:name="org.mozilla.gecko.VideoPlayer"
287 android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation"
288 android:theme="@android:style/Theme.NoTitleBar">
289 <intent-filter>
290 <action android:name="org.mozilla.gecko.PLAY_VIDEO" />
291 </intent-filter>
292 </activity>
294 <activity android:name="org.mozilla.gecko.preferences.GeckoPreferences"
295 android:theme="@style/Gecko.Preferences"
296 android:label="@string/settings_title"
297 android:configChanges="orientation|screenSize"
298 android:excludeFromRecents="true"/>
300 <activity android:name="org.mozilla.gecko.home.HomePanelPicker"
301 android:theme="@style/Gecko.TitleDialog"
302 android:label="@string/home_add_panel_title"
303 android:excludeFromRecents="true" />
305 <provider android:name="org.mozilla.gecko.db.BrowserProvider"
306 android:authorities="@ANDROID_PACKAGE_NAME@.db.browser"
307 android:permission="@ANDROID_PACKAGE_NAME@.permissions.BROWSER_PROVIDER">
309 <path-permission android:pathPrefix="/search_suggest_query"
310 android:readPermission="android.permission.GLOBAL_SEARCH" />
312 </provider>
314 <!--
315 Ensure that passwords provider runs in its own process. (Bug 718760.)
316 Process name is per-application to avoid loading CPs from multiple
317 Fennec versions into the same process. (Bug 749727.)
318 Process name is a mangled version to avoid a Talos bug. (Bug 750548.)
319 -->
320 <provider android:name="org.mozilla.gecko.db.PasswordsProvider"
321 android:label="@string/sync_configure_engines_title_passwords"
322 android:authorities="@ANDROID_PACKAGE_NAME@.db.passwords"
323 android:permission="@ANDROID_PACKAGE_NAME@.permissions.PASSWORD_PROVIDER"
324 android:process="@MANGLED_ANDROID_PACKAGE_NAME@.PasswordsProvider"/>
326 <provider android:name="org.mozilla.gecko.db.FormHistoryProvider"
327 android:label="@string/sync_configure_engines_title_history"
328 android:authorities="@ANDROID_PACKAGE_NAME@.db.formhistory"
329 android:permission="@ANDROID_PACKAGE_NAME@.permissions.FORMHISTORY_PROVIDER"
330 android:protectionLevel="signature"/>
332 <provider android:name="org.mozilla.gecko.GeckoProfilesProvider"
333 android:authorities="@ANDROID_PACKAGE_NAME@.profiles"/>
335 <provider android:name="org.mozilla.gecko.db.TabsProvider"
336 android:label="@string/sync_configure_engines_title_tabs"
337 android:authorities="@ANDROID_PACKAGE_NAME@.db.tabs"
338 android:permission="@ANDROID_PACKAGE_NAME@.permissions.BROWSER_PROVIDER"/>
340 <provider android:name="org.mozilla.gecko.db.HomeProvider"
341 android:authorities="@ANDROID_PACKAGE_NAME@.db.home"
342 android:permission="@ANDROID_PACKAGE_NAME@.permissions.BROWSER_PROVIDER"/>
344 <provider android:name="org.mozilla.gecko.db.ReadingListProvider"
345 android:authorities="@ANDROID_PACKAGE_NAME@.db.readinglist"
346 android:permission="@ANDROID_PACKAGE_NAME@.permissions.BROWSER_PROVIDER"/>
348 <service
349 android:exported="false"
350 android:name="org.mozilla.gecko.updater.UpdateService"
351 android:process="@MANGLED_ANDROID_PACKAGE_NAME@.UpdateService">
352 </service>
354 <service
355 android:exported="false"
356 android:name="org.mozilla.gecko.NotificationService">
357 </service>
360 #include ../services/manifests/AnnouncementsAndroidManifest_services.xml.in
361 #include ../services/manifests/FxAccountAndroidManifest_services.xml.in
362 #include ../services/manifests/HealthReportAndroidManifest_services.xml.in
363 #include ../services/manifests/SyncAndroidManifest_services.xml.in
365 </application>
367 <permission android:name="@ANDROID_PACKAGE_NAME@.permissions.BROWSER_PROVIDER"
368 android:protectionLevel="signature"/>
370 <permission android:name="@ANDROID_PACKAGE_NAME@.permissions.PASSWORD_PROVIDER"
371 android:protectionLevel="signature"/>
373 <permission android:name="@ANDROID_PACKAGE_NAME@.permissions.FORMHISTORY_PROVIDER"
374 android:protectionLevel="signature"/>
376 </manifest>