From fd0bb92d0ef72ea2f456d4fd52259248ceccbd1a Mon Sep 17 00:00:00 2001 From: dev6james Date: Mon, 15 Oct 2018 16:13:42 -0400 Subject: [PATCH 1/5] Introduced patch for reload fix suggested by a RNN fork --- .../controllers/NavigationActivity.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/reactnativenavigation/controllers/NavigationActivity.java b/android/app/src/main/java/com/reactnativenavigation/controllers/NavigationActivity.java index 7be2c39e128..8f9315e9e42 100644 --- a/android/app/src/main/java/com/reactnativenavigation/controllers/NavigationActivity.java +++ b/android/app/src/main/java/com/reactnativenavigation/controllers/NavigationActivity.java @@ -63,12 +63,15 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard @Nullable private PermissionListener mPermissionListener; + boolean killedBySystem = false; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (!NavigationApplication.instance.getReactGateway().hasStartedCreatingContext() || getIntent() == null || getIntent().getBundleExtra("ACTIVITY_PARAMS_BUNDLE") == null) { + killedBySystem = true; SplashActivity.start(this); finish(); return; @@ -196,6 +199,10 @@ private void destroyLayouts() { } private void destroyJsIfNeeded() { + if ( killedBySystem ) { + return; + } + if (currentActivity == null || currentActivity.isFinishing()) { getReactGateway().onDestroyApp(this); } @@ -498,4 +505,4 @@ public String getCurrentlyVisibleEventId() { public static void setStartAppPromise(Promise promise) { NavigationActivity.startAppPromise = promise; } -} +} \ No newline at end of file From d96bbfbeeb78abc71370659daf380be943c170f3 Mon Sep 17 00:00:00 2001 From: dev6james Date: Fri, 25 Jan 2019 12:13:30 -0500 Subject: [PATCH 2/5] Introduced patch suggested in community to avoid Java expected Double exception --- .../params/parsers/ScreenParamsParser.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/com/reactnativenavigation/params/parsers/ScreenParamsParser.java b/android/app/src/main/java/com/reactnativenavigation/params/parsers/ScreenParamsParser.java index cdb6fbb8224..537df5f3ff4 100644 --- a/android/app/src/main/java/com/reactnativenavigation/params/parsers/ScreenParamsParser.java +++ b/android/app/src/main/java/com/reactnativenavigation/params/parsers/ScreenParamsParser.java @@ -29,7 +29,15 @@ public class ScreenParamsParser extends Parser { public static ScreenParams parse(Bundle params) { ScreenParams result = new ScreenParams(); result.screenId = params.getString(KEY_SCREEN_ID); - result.timestamp = params.getDouble(KEY_TIMESTAMP); + // result.timestamp = params.getDouble(KEY_TIMESTAMP); + + Object timestampObj = params.get(KEY_TIMESTAMP); + if(timestampObj instanceof Integer) { + result.timestamp = ((int) timestampObj) * 1.0; + } else if (timestampObj instanceof Double){ + result.timestamp = (double) timestampObj; + } + assertKeyExists(params, KEY_NAVIGATION_PARAMS); result.navigationParams = new NavigationParams(params.getBundle(KEY_NAVIGATION_PARAMS)); @@ -117,4 +125,4 @@ public ScreenParams parse(Bundle screen) { } }); } -} +} \ No newline at end of file From 163396c1939b351c760d0f213cb3e553f15a88ed Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Mon, 6 May 2019 10:23:16 -0400 Subject: [PATCH 3/5] reference to this commit: https://github.com/wix/react-native-navigation/commit/57caacddfc5422c00f41b32e031a732ab503b7dc --- ios/RCCManager.h | 2 ++ ios/RCCManager.m | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/ios/RCCManager.h b/ios/RCCManager.h index 19a879fb05c..64c79d646fe 100755 --- a/ios/RCCManager.h +++ b/ios/RCCManager.h @@ -1,5 +1,6 @@ #import #import +#import #import @interface RCCManager : NSObject @@ -9,6 +10,7 @@ -(void)initBridgeWithBundleURL:(NSURL *)bundleURL; -(void)initBridgeWithBundleURL:(NSURL *)bundleURL launchOptions:(NSDictionary *)launchOptions; +-(void)initBridgeWithDelegate:(id)delegate launchOptions:(NSDictionary *)launchOptions; -(RCTBridge*)getBridge; -(UIWindow*)getAppWindow; -(void)setAppStyle:(NSDictionary*)appStyle; diff --git a/ios/RCCManager.m b/ios/RCCManager.m index 8665181fe03..5862de0a5ab 100755 --- a/ios/RCCManager.m +++ b/ios/RCCManager.m @@ -148,6 +148,15 @@ -(void)initBridgeWithBundleURL:(NSURL *)bundleURL launchOptions:(NSDictionary *) [[self class] showSplashScreen]; } +-(void)initBridgeWithDelegate:(id)delegate launchOptions:(NSDictionary *)launchOptions { + if (self.sharedBridge && [self.sharedBridge isValid]) return; + + self.sharedBridge = [[RCTBridge alloc] initWithDelegate:delegate launchOptions:launchOptions]; + self.bundleURL = [delegate sourceURLForBridge:self.sharedBridge]; + + [[self class] showSplashScreen]; +} + -(RCTBridge*)getBridge { return self.sharedBridge; } From e08b0cd512b3047d6f8a2475cd5033cfc1f8d285 Mon Sep 17 00:00:00 2001 From: Shu Zhang Date: Wed, 22 May 2019 16:05:25 -0400 Subject: [PATCH 4/5] force orientation to be portrait --- .../com/reactnativenavigation/controllers/SplashActivity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java b/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java index d993e949b59..774645b6437 100644 --- a/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java +++ b/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java @@ -33,6 +33,10 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { LaunchArgs.instance.set(getIntent()); setSplashLayout(); IntentDataHandler.saveIntentData(getIntent()); + //hack: Force app orientation to be portrait + if (android.os.Build.VERSION.SDK_INT != Build.VERSION_CODES.O) { + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } } @Override From d84c49256cd71501fccd84c164b300951803455d Mon Sep 17 00:00:00 2001 From: Shu Zhang Date: Wed, 22 May 2019 16:17:46 -0400 Subject: [PATCH 5/5] add imports --- .../com/reactnativenavigation/controllers/SplashActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java b/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java index 774645b6437..17fcc2ff1df 100644 --- a/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java +++ b/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java @@ -2,7 +2,9 @@ import android.app.Activity; import android.content.Intent; +import android.content.pm.ActivityInfo; import android.graphics.Color; +import android.os.Build; import android.os.Bundle; import android.support.annotation.LayoutRes; import android.support.annotation.Nullable;