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  <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
37
38
39  <uses-feature
40    android:name="android.hardware.camera"
41    android:required="false" />
42  <uses-feature
43    android:name="android.hardware.camera.autofocus"
44    android:required="false" />
45  <uses-feature
46    android:name="android.hardware.location"
47    android:required="false" />
48  <uses-feature
49    android:name="android.hardware.location.gps"
50    android:required="false" />
51  <uses-feature
52    android:name="android.hardware.location.network"
53    android:required="false" />
54  <uses-feature
55    android:name="android.hardware.wifi"
56    android:required="false" />
57  <uses-feature
58    android:name="android.hardware.microphone"
59    android:required="false" />
60  <uses-feature
61    android:name="android.hardware.telephony"
62    android:required="false" />
63  <uses-feature
64    android:name="android.hardware.bluetooth"
65    android:required="false" />
66
67  <application>
68
69    <!-- WHEN_VERSIONING_REMOVE_FROM_HERE -->
70    <!-- Scheduled notifications -->
71    <receiver
72      android:name="host.exp.exponent.notifications.ScheduledNotificationReceiver"
73      android:exported="false" />
74
75    <receiver
76      android:name="host.exp.exponent.notifications.receivers.SchedulingTriggerReceiver"
77      android:exported="true">
78      <intent-filter>
79        <action android:name="android.intent.action.REBOOT" />
80        <action android:name="android.intent.action.BOOT_COMPLETED" />
81        <action android:name="android.intent.action.TIMEZONE_CHANGED" />
82        <action android:name="android.intent.action.TIME_CHANGED" />
83        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
84      </intent-filter>
85    </receiver>
86
87    <!-- WHEN_VERSIONING_REMOVE_TO_HERE -->
88
89    <provider
90      android:name="androidx.core.content.FileProvider"
91      android:authorities="${applicationId}.provider"
92      android:exported="false"
93      android:grantUriPermissions="true">
94      <meta-data
95        android:name="android.support.FILE_PROVIDER_PATHS"
96        android:resource="@xml/provider_paths" />
97    </provider>
98
99    <provider
100      android:name="versioned.host.exp.exponent.modules.api.components.webview.RNCWebViewFileProvider"
101      android:authorities="${applicationId}.fileprovider"
102      android:exported="false"
103      android:grantUriPermissions="true">
104      <meta-data
105        android:name="android.support.FILE_PROVIDER_PATHS"
106        android:resource="@xml/provider_paths" />
107    </provider>
108
109    <meta-data
110      tools:replace="android:value"
111      android:name="org.unimodules.core.AppLoader#react-native-headless"
112      android:value="host.exp.exponent.taskManager.ExpoHeadlessAppLoader" />
113
114    <receiver
115      android:name="host.exp.exponent.notifications.ExpoNotificationsService"
116      android:enabled="true"
117      android:exported="false">
118      <intent-filter>
119        <action android:name="expo.modules.notifications.NOTIFICATION_EVENT" />
120
121        <action android:name="android.intent.action.BOOT_COMPLETED" />
122        <action android:name="android.intent.action.REBOOT" />
123        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
124        <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
125
126        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
127      </intent-filter>
128    </receiver>
129  </application>
130
131</manifest>
132