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_BACKGROUND_LOCATION" />
37  <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
38
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
115    <receiver
116      android:name="host.exp.exponent.notifications.ExpoNotificationsService"
117      android:enabled="true"
118      android:exported="false">
119      <intent-filter>
120        <action android:name="expo.modules.notifications.NOTIFICATION_EVENT" />
121
122        <action android:name="android.intent.action.BOOT_COMPLETED" />
123        <action android:name="android.intent.action.REBOOT" />
124        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
125        <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
126
127        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
128      </intent-filter>
129    </receiver>
130  </application>
131
132</manifest>
133