From 872b8629faee4048ecc8afe8995e6fc386aaf8e3 Mon Sep 17 00:00:00 2001 From: John Kokkinidis Date: Mon, 30 Apr 2018 23:28:16 +0300 Subject: [PATCH] Now passing an activity to clearHostOnActivityDestroy - We do that in order to allow the end user to decide wether they want to destroy the host based on who's the one calling onDestroy. --- .../com/reactnativenavigation/NavigationApplication.java | 3 ++- .../reactnativenavigation/controllers/SplashActivity.java | 2 +- .../reactnativenavigation/react/NavigationReactGateway.java | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java b/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java index d1c3b12f4bd..fbebaebd959 100644 --- a/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java +++ b/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java @@ -1,5 +1,6 @@ package com.reactnativenavigation; +import android.app.Activity; import android.app.Application; import android.content.Intent; import android.os.Bundle; @@ -126,7 +127,7 @@ public String getBundleAssetName() { public abstract boolean isDebug(); - public boolean clearHostOnActivityDestroy() { + public boolean clearHostOnActivityDestroy(Activity activity) { return true; } 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 e85de9e40a1..d993e949b59 100644 --- a/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java +++ b/android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java @@ -46,7 +46,7 @@ protected void onResume() { return; } NavigationApplication.instance.getEventEmitter().sendAppLaunchedEvent(); - if (NavigationApplication.instance.clearHostOnActivityDestroy()) { + if (NavigationApplication.instance.clearHostOnActivityDestroy(this)) { overridePendingTransition(0, 0); finish(); } diff --git a/android/app/src/main/java/com/reactnativenavigation/react/NavigationReactGateway.java b/android/app/src/main/java/com/reactnativenavigation/react/NavigationReactGateway.java index 8f7069018f7..9f465f2623e 100644 --- a/android/app/src/main/java/com/reactnativenavigation/react/NavigationReactGateway.java +++ b/android/app/src/main/java/com/reactnativenavigation/react/NavigationReactGateway.java @@ -64,18 +64,18 @@ public void onBackPressed() { } public void onDestroyApp(Activity activity) { - if (NavigationApplication.instance.clearHostOnActivityDestroy()) { + if (NavigationApplication.instance.clearHostOnActivityDestroy(activity)) { getReactInstanceManager().onHostDestroy(); } else if (hasStartedCreatingContext() && isInitialized()) { getReactInstanceManager().onHostDestroy(activity); } - if (NavigationApplication.instance.clearHostOnActivityDestroy()) { + if (NavigationApplication.instance.clearHostOnActivityDestroy(activity)) { host.clear(); } } public void onPauseActivity(Activity activity) { - if (NavigationApplication.instance.clearHostOnActivityDestroy()) { + if (NavigationApplication.instance.clearHostOnActivityDestroy(activity)) { getReactInstanceManager().onHostPause(); } else if (hasStartedCreatingContext() && isInitialized()) { getReactInstanceManager().onHostPause(activity);