|  | @@ -9,15 +9,22 @@ import android.support.annotation.Nullable;
 | 
	
		
			
			| 9 | 9 |  import android.support.v7.app.AppCompatActivity;
 | 
	
		
			
			| 10 | 10 |  import android.view.KeyEvent;
 | 
	
		
			
			| 11 | 11 |  
 | 
	
		
			
			|  | 12 | +import com.facebook.react.bridge.Arguments;
 | 
	
		
			
			| 12 | 13 |  import com.facebook.react.bridge.Callback;
 | 
	
		
			
			|  | 14 | +import com.facebook.react.bridge.ReactContext;
 | 
	
		
			
			|  | 15 | +import com.facebook.react.bridge.WritableMap;
 | 
	
		
			
			| 13 | 16 |  import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
 | 
	
		
			
			|  | 17 | +import com.facebook.react.modules.core.DeviceEventManagerModule;
 | 
	
		
			
			| 14 | 18 |  import com.facebook.react.modules.core.PermissionAwareActivity;
 | 
	
		
			
			| 15 | 19 |  import com.facebook.react.modules.core.PermissionListener;
 | 
	
		
			
			| 16 | 20 |  import com.reactnativenavigation.NavigationApplication;
 | 
	
		
			
			|  | 21 | +import com.reactnativenavigation.bridge.EventEmitter;
 | 
	
		
			
			|  | 22 | +import com.reactnativenavigation.bridge.NavigationReactEventEmitter;
 | 
	
		
			
			| 17 | 23 |  import com.reactnativenavigation.events.Event;
 | 
	
		
			
			| 18 | 24 |  import com.reactnativenavigation.events.EventBus;
 | 
	
		
			
			| 19 | 25 |  import com.reactnativenavigation.events.JsDevReloadEvent;
 | 
	
		
			
			| 20 | 26 |  import com.reactnativenavigation.events.ModalDismissedEvent;
 | 
	
		
			
			|  | 27 | +import com.reactnativenavigation.events.OrientationChangedEvent;
 | 
	
		
			
			| 21 | 28 |  import com.reactnativenavigation.events.Subscriber;
 | 
	
		
			
			| 22 | 29 |  import com.reactnativenavigation.layouts.BottomTabsLayout;
 | 
	
		
			
			| 23 | 30 |  import com.reactnativenavigation.layouts.Layout;
 | 
	
	
		
			
			|  | @@ -121,12 +128,6 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
 | 
	
		
			
			| 121 | 128 |          NavigationApplication.instance.getActivityCallbacks().onNewIntent(intent);
 | 
	
		
			
			| 122 | 129 |      }
 | 
	
		
			
			| 123 | 130 |  
 | 
	
		
			
			| 124 |  | -    @Override
 | 
	
		
			
			| 125 |  | -    public void onConfigurationChanged(Configuration newConfig) {
 | 
	
		
			
			| 126 |  | -        super.onConfigurationChanged(newConfig);
 | 
	
		
			
			| 127 |  | -        NavigationApplication.instance.getActivityCallbacks().onConfigurationChanged(newConfig);
 | 
	
		
			
			| 128 |  | -    }
 | 
	
		
			
			| 129 |  | -
 | 
	
		
			
			| 130 | 131 |      @Override
 | 
	
		
			
			| 131 | 132 |      protected void onPause() {
 | 
	
		
			
			| 132 | 133 |          super.onPause();
 | 
	
	
		
			
			|  | @@ -194,6 +195,29 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
 | 
	
		
			
			| 194 | 195 |          return NavigationApplication.instance.getReactGateway();
 | 
	
		
			
			| 195 | 196 |      }
 | 
	
		
			
			| 196 | 197 |  
 | 
	
		
			
			|  | 198 | +    @Override
 | 
	
		
			
			|  | 199 | +    public void onConfigurationChanged(Configuration newConfig) {
 | 
	
		
			
			|  | 200 | +        EventEmitter eventEmitter = NavigationApplication.instance.getEventEmitter();
 | 
	
		
			
			|  | 201 | +        OrientationChangedEvent event = new OrientationChangedEvent();
 | 
	
		
			
			|  | 202 | +        WritableMap params = Arguments.createMap();
 | 
	
		
			
			|  | 203 | +
 | 
	
		
			
			|  | 204 | +        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
 | 
	
		
			
			|  | 205 | +            params.putString("orientation", "LANDSCAPE");
 | 
	
		
			
			|  | 206 | +        }
 | 
	
		
			
			|  | 207 | +
 | 
	
		
			
			|  | 208 | +        if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
 | 
	
		
			
			|  | 209 | +            params.putString("orientation", "PORTRAIT");
 | 
	
		
			
			|  | 210 | +        }
 | 
	
		
			
			|  | 211 | +
 | 
	
		
			
			|  | 212 | +        if (newConfig.orientation == Configuration.ORIENTATION_UNDEFINED) {
 | 
	
		
			
			|  | 213 | +            params.putString("orientation", "UNDEFINED");
 | 
	
		
			
			|  | 214 | +        }
 | 
	
		
			
			|  | 215 | +
 | 
	
		
			
			|  | 216 | +        eventEmitter.sendNavigatorEvent(event.getType(), params);
 | 
	
		
			
			|  | 217 | +        NavigationApplication.instance.getActivityCallbacks().onConfigurationChanged(newConfig);
 | 
	
		
			
			|  | 218 | +        super.onConfigurationChanged(newConfig);
 | 
	
		
			
			|  | 219 | +    }
 | 
	
		
			
			|  | 220 | +
 | 
	
		
			
			| 197 | 221 |      void push(ScreenParams params) {
 | 
	
		
			
			| 198 | 222 |          if (modalController.containsNavigator(params.getNavigatorId())) {
 | 
	
		
			
			| 199 | 223 |              modalController.push(params);
 |