mobile/android/base/AndroidManifest.xml.in

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

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

mercurial