<manifest package="host.exp.expoview"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools">

  <!-- WHEN_VERSIONING_REMOVE_FROM_HERE -->
  <supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true"></supports-screens>
  <!-- WHEN_VERSIONING_REMOVE_TO_HERE -->

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="host.exp.exponent.permission.C2D_MESSAGE" />
  <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
  <uses-permission android:name="android.permission.USE_FINGERPRINT" />
  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
  <!-- Used by react-native-netinfo module -->
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

  <!-- These require runtime permissions on M -->
  <!-- All of these must be in the blacklist in xdl/src/detach/AndroidShellApp.js as well -->
  <uses-permission android:name="android.permission.READ_CONTACTS" />
  <uses-permission android:name="android.permission.READ_CALENDAR" />
  <uses-permission android:name="android.permission.WRITE_CALENDAR" />
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />


  <uses-feature
    android:name="android.hardware.camera"
    android:required="false" />
  <uses-feature
    android:name="android.hardware.camera.autofocus"
    android:required="false" />
  <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.location.network"
    android:required="false" />
  <uses-feature
    android:name="android.hardware.wifi"
    android:required="false" />
  <uses-feature
    android:name="android.hardware.microphone"
    android:required="false" />
  <uses-feature
    android:name="android.hardware.telephony"
    android:required="false" />
  <uses-feature
    android:name="android.hardware.bluetooth"
    android:required="false" />

  <application>

    <!-- WHEN_VERSIONING_REMOVE_FROM_HERE -->
    <!-- Scheduled notifications -->
    <receiver
      android:name="host.exp.exponent.notifications.ScheduledNotificationReceiver"
      android:exported="false" />

    <receiver
      android:name="host.exp.exponent.notifications.receivers.SchedulingTriggerReceiver"
      android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.REBOOT" />
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.TIMEZONE_CHANGED" />
        <action android:name="android.intent.action.TIME_CHANGED" />
        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
      </intent-filter>
    </receiver>

    <!-- WHEN_VERSIONING_REMOVE_TO_HERE -->

    <provider
      android:name="androidx.core.content.FileProvider"
      android:authorities="${applicationId}.provider"
      android:exported="false"
      android:grantUriPermissions="true">
      <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths" />
    </provider>

    <provider
      android:name="versioned.host.exp.exponent.modules.api.components.webview.RNCWebViewFileProvider"
      android:authorities="${applicationId}.fileprovider"
      android:exported="false"
      android:grantUriPermissions="true">
      <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths" />
    </provider>

    <meta-data
      tools:replace="android:value"
      android:name="org.unimodules.core.AppLoader#react-native-headless"
      android:value="host.exp.exponent.taskManager.ExpoHeadlessAppLoader" />

    <receiver
      android:name="host.exp.exponent.notifications.ExpoNotificationsService"
      android:enabled="true"
      android:exported="false">
      <intent-filter>
        <action android:name="expo.modules.notifications.NOTIFICATION_EVENT" />

        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.REBOOT" />
        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
        <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />

        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
      </intent-filter>
    </receiver>
  </application>

</manifest>
