1<manifest package="host.exp.expoview"
2          xmlns:android="http://schemas.android.com/apk/res/android"
3          xmlns:tools="http://schemas.android.com/tools">
4
5    <!-- WHEN_VERSIONING_REMOVE_FROM_HERE -->
6    <supports-screens
7        android:anyDensity="true"
8        android:largeScreens="true"
9        android:normalScreens="true"
10        android:smallScreens="true"
11        android:xlargeScreens="true">
12    </supports-screens>
13    <!-- WHEN_VERSIONING_REMOVE_TO_HERE -->
14
15    <uses-permission android:name="android.permission.INTERNET"/>
16    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
17    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
18    <uses-permission android:name="android.permission.WAKE_LOCK"/>
19    <uses-permission android:name="host.exp.exponent.permission.C2D_MESSAGE"/>
20    <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"/>
21    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
22    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS"/>
23    <uses-permission android:name="android.permission.USE_FINGERPRINT"/>
24    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
25
26    <!-- Used by react-native-netinfo module -->
27    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
28
29    <!-- These require runtime permissions on M -->
30    <!-- All of these must be in the blacklist in xdl/src/detach/AndroidShellApp.js as well -->
31    <uses-permission android:name="android.permission.READ_CONTACTS"/>
32    <uses-permission android:name="android.permission.READ_CALENDAR"/>
33    <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
34    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
35    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
36    <uses-permission android:name="android.permission.CAMERA"/>
37    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
38    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
39
40    <uses-feature
41        android:name="android.hardware.camera"
42        android:required="false"/>
43    <uses-feature
44        android:name="android.hardware.camera.autofocus"
45        android:required="false"/>
46    <uses-feature
47        android:name="android.hardware.location"
48        android:required="false"/>
49    <uses-feature
50        android:name="android.hardware.location.gps"
51        android:required="false"/>
52    <uses-feature
53        android:name="android.hardware.location.network"
54        android:required="false"/>
55    <uses-feature
56        android:name="android.hardware.wifi"
57        android:required="false"/>
58    <uses-feature
59        android:name="android.hardware.microphone"
60        android:required="false"/>
61    <uses-feature
62        android:name="android.hardware.telephony"
63        android:required="false"/>
64    <uses-feature
65        android:name="android.hardware.bluetooth"
66        android:required="false"/>
67
68    <application>
69
70        <!-- WHEN_VERSIONING_REMOVE_FROM_HERE -->
71        <!-- Scheduled notifications -->
72        <receiver
73            android:name="host.exp.exponent.notifications.ScheduledNotificationReceiver"
74            android:exported="false"/>
75
76        <receiver
77            android:name="host.exp.exponent.notifications.receivers.SchedulingTriggerReceiver"
78            android:exported="true">
79            <intent-filter>
80                <action android:name="android.intent.action.REBOOT"/>
81                <action android:name="android.intent.action.BOOT_COMPLETED"/>
82                <action android:name="android.intent.action.TIMEZONE_CHANGED"/>
83                <action android:name="android.intent.action.TIME_CHANGED"/>
84                <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
85            </intent-filter>
86        </receiver>
87
88        <!-- WHEN_VERSIONING_REMOVE_TO_HERE -->
89
90        <provider
91            android:name="androidx.core.content.FileProvider"
92            android:authorities="${applicationId}.provider"
93            android:exported="false"
94            android:grantUriPermissions="true">
95            <meta-data
96                android:name="android.support.FILE_PROVIDER_PATHS"
97                android:resource="@xml/provider_paths"/>
98        </provider>
99
100        <provider
101            android:name="versioned.host.exp.exponent.modules.api.components.webview.RNCWebViewFileProvider"
102            android:authorities="${applicationId}.fileprovider"
103            android:exported="false"
104            android:grantUriPermissions="true">
105            <meta-data
106                android:name="android.support.FILE_PROVIDER_PATHS"
107                android:resource="@xml/provider_paths" />
108        </provider>
109
110      <meta-data
111        tools:replace="android:value"
112        android:name="org.unimodules.core.AppLoader#react-native-headless"
113        android:value="host.exp.exponent.taskManager.ExpoHeadlessAppLoader"/>
114    </application>
115
116</manifest>
117