hunk.code_window: package host.exp.exponent.experience;
   import android.os.Bundle;
   import org.json.JSONException;
   import org.json.JSONObject;
  
hunk.labels: keep keep add keep keep keep keep keep
hunk.after_edit: import android.content.Intent;
  
hunk.file_path: android/expoview/src/main/java/host/exp/exponent/experience/ShellAppActivity.java
hunk.type: add
file: <?xml version="1.0" encoding="utf-8"?>
  <manifest
    package="host.exp.exponent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
  
    <permission
      android:name="host.exp.exponent.permission.C2D_MESSAGE"
      android:protectionLevel="signature"/>
  
    <!-- These are required permissions to make the app run -->
    <uses-permission android:name="host.exp.exponent.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
  
    <!-- ADD PERMISSIONS HERE -->
    <!-- BEGIN OPTIONAL PERMISSIONS -->
    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
    <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
  
    <!-- These require runtime permissions on M -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CAMERA" />
    <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.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <!-- END OPTIONAL PERMISSIONS -->
  
    <!-- ADD TEST PERMISSIONS HERE -->
  
    <uses-feature android:glEsVersion="0x00020000" android:required="false" />
    <uses-feature android:name="android.software.leanback" android:required="false" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
  
    <application
      android:name=".MainApplication"
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:largeHeap="true">
  
      <activity
        android:name=".LauncherActivity"
        android:exported="true"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar">
        <!-- ADD SHELL SCHEME HERE -->
        <!-- START LAUNCHER INTENT FILTERS -->
        <intent-filter>
          <data android:scheme="exp"/>
          <data android:scheme="exps"/>
  
          <action android:name="android.intent.action.VIEW"/>
  
          <category android:name="android.intent.category.DEFAULT"/>
          <category android:name="android.intent.category.BROWSABLE"/>
        </intent-filter>
  
        <!-- This has to be separate from the exp[s]:// scheme filter. No idea why -->
        <intent-filter>
          <data
            android:host="exp.host"
            android:pathPrefix="/@"
            android:scheme="http"/>
          <data
            android:host="exp.host"
            android:pathPrefix="/@"
            android:scheme="https"/>
          <data
            android:host="*.exp.direct"
            android:pathPattern=".*"
            android:scheme="http"/>
          <data
            android:host="*.exp.direct"
            android:pathPattern=".*"
            android:scheme="https"/>
  
          <action android:name="android.intent.action.VIEW"/>
  
          <category android:name="android.intent.category.DEFAULT"/>
          <category android:name="android.intent.category.BROWSABLE"/>
        </intent-filter>
        <!-- END LAUNCHER INTENT FILTERS -->
      </activity>
  
      <activity
        android:name=".experience.ExperienceActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:theme="@style/Theme.Exponent.Light"
        android:windowSoftInputMode="adjustResize">
      </activity>
  
      <activity
        android:name=".MainActivity"
        android:launchMode="singleTask"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:theme="@style/Theme.Exponent.Splash"
        android:windowSoftInputMode="adjustResize">
        <!-- ADD DETACH SCHEME HERE -->
        <!-- ADD DETACH INTENT FILTERS HERE -->
        <!-- ADD DETACH APP SPECIFIC INTENT FILTERS -->
      </activity>
  
      <activity
        android:name=".experience.ShellAppActivity"
        android:launchMode="singleTask"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:theme="@style/Theme.Exponent.Splash"
        android:windowSoftInputMode="adjustResize">
        <!-- ADD SHELL INTENT FILTERS HERE -->
        <!-- ADD SHELL APP SPECIFIC INTENT FILTERS -->
      </activity>
  
      <activity
        android:name=".experience.HomeActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Exponent.Light">
        <!-- START HOME INTENT FILTERS -->
        <intent-filter>
          <action android:name="android.intent.action.MAIN"/>
  
          <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        <!-- END HOME INTENT FILTERS -->
      </activity>
  
      <activity
        android:name=".experience.TvActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.Exponent.Light"
        android:screenOrientation="landscape">
       <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
       </intent-filter>
     </activity>
  
  
  
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
      <!-- ADD DEV SETTINGS HERE -->
      <activity android:name="abi30_0_0.com.facebook.react.devsupport.DevSettingsActivity"/>
      <activity android:name="abi29_0_0.com.facebook.react.devsupport.DevSettingsActivity"/>
      <activity android:name="abi28_0_0.com.facebook.react.devsupport.DevSettingsActivity"/>
      <activity android:name="abi27_0_0.com.facebook.react.devsupport.DevSettingsActivity"/>
      <activity android:name="abi26_0_0.com.facebook.react.devsupport.DevSettingsActivity"/>
      <activity android:name="abi25_0_0.com.facebook.react.devsupport.DevSettingsActivity"/>
      <activity android:name="abi24_0_0.com.facebook.react.devsupport.DevSettingsActivity"/>
  
      <activity
        android:name=".ExponentDevActivity"
        android:exported="true"
        android:label="@string/dev_activity_name"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Exponent.Dark"
        android:windowSoftInputMode="adjustPan">
      </activity>
  
      <activity
        android:name=".oauth.OAuthWebViewActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Exponent.Light">
      </activity>
  
      <activity
          android:name="net.openid.appauth.RedirectUriReceiverActivity"
          tools:node="replace">
        <intent-filter>
          <action android:name="android.intent.action.VIEW"/>
          <category android:name="android.intent.category.DEFAULT"/>
          <category android:name="android.intent.category.BROWSABLE"/>
          <data android:scheme="host.exp.exponent" android:path="oauthredirect"/>
        </intent-filter>
      </activity>
  
      <activity
        android:name=".oauth.OAuthResultActivity">
      </activity>
  
      <!-- START OF STRIPE SCHEMES -->
      <activity
          android:exported="true"
          android:launchMode="singleTask"
          android:name="expo.modules.payments.stripe.RedirectUriReceiver"
          android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
          <intent-filter>
              <action android:name="android.intent.action.VIEW" />
              <category android:name="android.intent.category.DEFAULT" />
              <category android:name="android.intent.category.BROWSABLE" />
              <data android:scheme="expo.modules.payments.stripe" />
          </intent-filter>
      </activity>
      <!-- Versioned Activity for Stripe -->
      <!-- END OF STRIPE SCHEMES -->
  
      <activity
        android:name=".chrometabs.ChromeTabsManagerActivity">
      </activity>
  
      <activity
        android:name=".experience.ErrorActivity"
        android:theme="@style/Theme.Exponent.Dark"
        android:screenOrientation="portrait">
      </activity>
  
      <activity
        android:name=".experience.InfoActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Exponent.Light">
      </activity>
  
      <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        tools:replace="android:theme" />
  
      <activity
        android:name="com.facebook.ads.InterstitialAdActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  
      <service
        android:name=".ExponentIntentService"
        android:exported="false" />
  
      <!-- Analytics -->
      <receiver
        android:name="host.exp.exponent.referrer.InstallReferrerReceiver"
        android:exported="true">
        <intent-filter>
          <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
      </receiver>
  
      <!--
      This crashes: https://code.google.com/p/analytics-issues/issues/detail?id=667
      TODO: turn it back on when it's fixed
      <service
        android:name="com.google.android.gms.analytics.CampaignTrackingService"
        android:enabled="true"
        android:exported="false" />-->
  
      <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
                android:enabled="true">
        <intent-filter>
          <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
        </intent-filter>
      </receiver>
  
      <service android:name="com.google.android.gms.analytics.AnalyticsService"
               android:enabled="true"
               android:exported="false"/>
  
      <!-- GCM -->
      <receiver
        android:name="com.google.android.gms.gcm.GcmReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
          <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
          <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
  
          <category android:name="host.exp.exponent"/>
        </intent-filter>
      </receiver>
  
      <service
        android:name=".gcm.ExponentGcmListenerService"
        android:exported="false">
        <intent-filter>
          <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
        </intent-filter>
      </service>
      <service
        android:name=".gcm.ExponentInstanceIDListenerService"
        android:exported="false">
        <intent-filter>
          <action android:name="com.google.android.gms.iid.InstanceID"/>
        </intent-filter>
      </service>
      <service
        android:name=".gcm.GcmRegistrationIntentService"
        android:exported="false">
      </service>
  
      <!-- FCM -->
      <service
        android:name=".fcm.ExpoFcmMessagingService">
        <intent-filter>
          <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
      </service>
      <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/shell_notification_icon" />
      <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/colorAccent" />
      <service
        android:name=".fcm.FcmRegistrationIntentService"
        android:exported="false">
      </service>
  
      <!-- ImagePicker native module -->
      <activity
        android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
        android:theme="@style/Base.Theme.AppCompat">
      </activity>
  
  
      <!-- ADD FABRIC CONFIG HERE -->
      <!-- BEGIN FABRIC CONFIG -->
      <meta-data
        android:name="io.fabric.ApiKey"
        android:value="${FABRIC_API_KEY}"/>
      <!-- END FABRIC CONFIG -->
  
      <!-- ADD GOOGLE MAPS CONFIG HERE -->
      <!-- BEGIN GOOGLE MAPS CONFIG -->
      <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${GOOGLE_MAPS_API_KEY}"/>
      <!-- END GOOGLE MAPS CONFIG -->
  
      <!-- ADD BRANCH CONFIG HERE -->
  
      <!-- The Facebook SDK runs FacebookInitProvider on startup and crashes if there isn't an ID here -->
      <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="fb0"/>
  
      <!-- ADD HERE STRIPE SCHEME META DATA -->
    </application>
  
  </manifest>
  