|
@@ -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);
|