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