summaryrefslogtreecommitdiffstats
path: root/mobile/android/base/FennecManifest_permissions.xml.in
blob: cf3365582cb376cc01ca50702924b79bab7293fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!-- The bouncer APK and the Fennec APK should define the same set of
     <permission>, <uses-permission>, and <uses-feature> elements.  This reduces
     the likelihood of permission-related surprises when installing the main APK
     on top of a pre-installed bouncer APK.  Add such elements here, so that
     they can be easily shared between the two APKs. -->

#include ../services/manifests/FxAccountAndroidManifest_permissions.xml.in

#ifdef MOZ_ANDROID_SEARCH_ACTIVITY
#include ../search/manifests/SearchAndroidManifest_permissions.xml.in
#endif

<!-- Bug 1261302: we have two new permissions to request,
     RECEIVE_BOOT_COMPLETED and the permission for push.  We want to ask for
     them during the same release, which should be Fennec 48.  Therefore we
     decouple the push permission from MOZ_ANDROID_GCM to let it ride ahead
     (potentially) of the push feature. -->
#include GcmAndroidManifest_permissions.xml.in

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <!-- READ_EXTERNAL_STORAGE was added in API 16, and is only enforced in API
         19+.  We declare it so that the bouncer APK and the main APK have the
         same set of permissions. -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>

    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
#ifdef MOZ_ANDROID_DOWNLOADS_INTEGRATION
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
#endif

    <uses-feature android:name="android.hardware.location" android:required="false"/>
    <uses-feature android:name="android.hardware.location.gps" android:required="false"/>
    <uses-feature android:name="android.hardware.touchscreen"/>

    <!-- Tab Queue -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

#ifdef MOZ_ANDROID_BEAM
    <!-- Android Beam support -->
    <uses-permission android:name="android.permission.NFC"/>
    <uses-feature android:name="android.hardware.nfc" android:required="false"/>
#endif

#ifdef MOZ_WEBRTC
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-feature android:name="android.hardware.audio.low_latency" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.any" android:required="false"/>
    <uses-feature android:name="android.hardware.microphone" android:required="false"/>
#endif
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

    <!-- App requires OpenGL ES 2.0 -->
    <uses-feature android:glEsVersion="0x00020000" android:required="true" />