message: Inherited from ReactActivity
  Means that double tap R reloads and all the notifications to ReactInstanceManager happen automatically. Not sure why couldn't do this before - maybe because had to destroy react root?!
diff: package com.navigation.reactnative;
  -import android.app.Activity;
  import android.content.Context;
  import android.content.Intent;
  import android.os.Build;
  import android.os.Bundle;
  -import android.view.KeyEvent;
  import android.view.MotionEvent;
  import android.view.View;
  import android.view.ViewGroup;
  -import com.facebook.react.ReactApplication;
  -import com.facebook.react.ReactNativeHost;
  +import com.facebook.react.ReactActivity;
  import com.facebook.react.bridge.ReactContext;
  import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
  import com.facebook.react.uimanager.JSTouchDispatcher;
  @@ -22,7 +19,7 @@ import com.facebook.react.views.view.ReactViewGroup;
  import java.util.HashSet;
  -public class SceneActivity extends Activity implements DefaultHardwareBackBtnHandler {
  +public class SceneActivity extends ReactActivity implements DefaultHardwareBackBtnHandler {
  public static final String CRUMB = "Navigation.CRUMB";
  public static final String SHARED_ELEMENTS = "Navigation.SHARED_ELEMENTS";
  private SceneRootViewGroup rootView;
  @@ -45,7 +42,8 @@ public class SceneActivity extends Activity implements DefaultHardwareBackBtnHan
  }
  @Override
  - protected void onNewIntent(Intent intent) {
  + public void onNewIntent(Intent intent) {
  + super.onNewIntent(intent);
  int crumb = intent.getIntExtra(CRUMB, 0);
  if (rootView.getChildCount() > 0)
  rootView.removeViewAt(0);
  @@ -55,49 +53,6 @@ public class SceneActivity extends Activity implements DefaultHardwareBackBtnHan
  rootView.addView(view);
  }
  - private ReactNativeHost getReactNativeHost() {
  - return ((ReactApplication) getApplication()).getReactNativeHost();
  - }
  -
  - @Override
  - protected void onPause() {
  - super.onPause();
  - if (getReactNativeHost().hasInstance()) {
  - getReactNativeHost().getReactInstanceManager().onHostPause(this);
  - }
  - }
  -
  - @Override
  - protected void onResume() {
  - super.onResume();
  - if (getReactNativeHost().hasInstance()) {
  - getReactNativeHost().getReactInstanceManager().onHostResume(this, this);
  - }
  - }
  -
  - @Override
  - public boolean onKeyUp(int keyCode, KeyEvent event) {
  - if (keyCode == KeyEvent.KEYCODE_MENU && getReactNativeHost().hasInstance()) {
  - getReactNativeHost().getReactInstanceManager().showDevOptionsDialog();
  - return true;
  - }
  - return super.onKeyUp(keyCode, event);
  - }
  -
  - @Override
  - public void onBackPressed() {
  - if (getReactNativeHost().hasInstance()) {
  - getReactNativeHost().getReactInstanceManager().onBackPressed();
  - } else {
  - super.onBackPressed();
  - }
  - }
  -
  - @Override
  - public void invokeDefaultOnBackPressed() {
  - super.onBackPressed();
  - }
  -
  static class SceneRootViewGroup extends ReactViewGroup implements RootView {
  private final JSTouchDispatcher mJSTouchDispatcher = new JSTouchDispatcher(this);
  