android: attempt to fix assertion errors in ReactInstanceManager
This is the main one:
df4e67fe75/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java (L512)
Why this happens is a mystery wrapped in an enigma.
This commit is contained in:
parent
dae451e6fa
commit
6aa895b679
|
@ -111,8 +111,7 @@ public abstract class BaseReactView<ListenerT>
|
||||||
|
|
||||||
setBackgroundColor(BACKGROUND_COLOR);
|
setBackgroundColor(BACKGROUND_COLOR);
|
||||||
|
|
||||||
ReactInstanceManagerHolder.initReactInstanceManager(
|
ReactInstanceManagerHolder.initReactInstanceManager((Activity)context);
|
||||||
((Activity) context).getApplication());
|
|
||||||
|
|
||||||
// Hook this BaseReactView into ExternalAPI.
|
// Hook this BaseReactView into ExternalAPI.
|
||||||
externalAPIScope = UUID.randomUUID().toString();
|
externalAPIScope = UUID.randomUUID().toString();
|
||||||
|
|
|
@ -25,6 +25,7 @@ import android.os.Build;
|
||||||
import com.calendarevents.CalendarEventsPackage;
|
import com.calendarevents.CalendarEventsPackage;
|
||||||
import com.facebook.react.ReactInstanceManager;
|
import com.facebook.react.ReactInstanceManager;
|
||||||
import com.facebook.react.bridge.Callback;
|
import com.facebook.react.bridge.Callback;
|
||||||
|
import com.facebook.react.bridge.ReactContext;
|
||||||
import com.facebook.react.modules.core.PermissionListener;
|
import com.facebook.react.modules.core.PermissionListener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,7 +118,13 @@ public class JitsiMeetActivityDelegate {
|
||||||
= ReactInstanceManagerHolder.getReactInstanceManager();
|
= ReactInstanceManagerHolder.getReactInstanceManager();
|
||||||
|
|
||||||
if (reactInstanceManager != null) {
|
if (reactInstanceManager != null) {
|
||||||
reactInstanceManager.onHostPause(activity);
|
// Try to avoid a crash because some devices trip on this assert:
|
||||||
|
// https://github.com/facebook/react-native/blob/df4e67fe75d781d1eb264128cadf079989542755/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java#L512
|
||||||
|
// Why this happens is a mystery wrapped in an enigma.
|
||||||
|
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
||||||
|
if (activity == reactContext.getCurrentActivity()) {
|
||||||
|
reactInstanceManager.onHostPause(activity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
package org.jitsi.meet.sdk;
|
package org.jitsi.meet.sdk;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Application;
|
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
|
||||||
import com.facebook.react.ReactInstanceManager;
|
import com.facebook.react.ReactInstanceManager;
|
||||||
|
@ -175,9 +174,9 @@ class ReactInstanceManagerHolder {
|
||||||
* time. All {@code ReactRootView} instances will be tied to the one and
|
* time. All {@code ReactRootView} instances will be tied to the one and
|
||||||
* only {@code ReactInstanceManager}.
|
* only {@code ReactInstanceManager}.
|
||||||
*
|
*
|
||||||
* @param application {@code Application} instance which is running.
|
* @param activity {@code Activity} current running Activity.
|
||||||
*/
|
*/
|
||||||
static void initReactInstanceManager(Application application) {
|
static void initReactInstanceManager(Activity activity) {
|
||||||
if (reactInstanceManager != null) {
|
if (reactInstanceManager != null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -215,7 +214,8 @@ class ReactInstanceManagerHolder {
|
||||||
|
|
||||||
reactInstanceManager
|
reactInstanceManager
|
||||||
= ReactInstanceManager.builder()
|
= ReactInstanceManager.builder()
|
||||||
.setApplication(application)
|
.setApplication(activity.getApplication())
|
||||||
|
.setCurrentActivity(activity)
|
||||||
.setBundleAssetName("index.android.bundle")
|
.setBundleAssetName("index.android.bundle")
|
||||||
.setJSMainModulePath("index.android")
|
.setJSMainModulePath("index.android")
|
||||||
.addPackages(packages)
|
.addPackages(packages)
|
||||||
|
|
Loading…
Reference in New Issue