android: remove ReactContextUtils
In practice, we are never going to be in a position where we don't have a ReactContext but we do have some React Native code running. So let's not expect the impossible.
This commit is contained in:
parent
54bab793e5
commit
53722fd2e6
|
@ -332,8 +332,7 @@ public class ConnectionService extends android.telecom.ConnectionService {
|
||||||
Log.d(TAG, "onDisconnect " + getCallUUID());
|
Log.d(TAG, "onDisconnect " + getCallUUID());
|
||||||
WritableNativeMap data = new WritableNativeMap();
|
WritableNativeMap data = new WritableNativeMap();
|
||||||
data.putString("callUUID", getCallUUID());
|
data.putString("callUUID", getCallUUID());
|
||||||
ReactContextUtils.emitEvent(
|
ReactInstanceManagerHolder.emitEvent(
|
||||||
null,
|
|
||||||
"org.jitsi.meet:features/connection_service#disconnect",
|
"org.jitsi.meet:features/connection_service#disconnect",
|
||||||
data);
|
data);
|
||||||
// The JavaScript side will not go back to the native with
|
// The JavaScript side will not go back to the native with
|
||||||
|
@ -353,8 +352,7 @@ public class ConnectionService extends android.telecom.ConnectionService {
|
||||||
Log.d(TAG, "onAbort " + getCallUUID());
|
Log.d(TAG, "onAbort " + getCallUUID());
|
||||||
WritableNativeMap data = new WritableNativeMap();
|
WritableNativeMap data = new WritableNativeMap();
|
||||||
data.putString("callUUID", getCallUUID());
|
data.putString("callUUID", getCallUUID());
|
||||||
ReactContextUtils.emitEvent(
|
ReactInstanceManagerHolder.emitEvent(
|
||||||
null,
|
|
||||||
"org.jitsi.meet:features/connection_service#abort",
|
"org.jitsi.meet:features/connection_service#abort",
|
||||||
data);
|
data);
|
||||||
// The JavaScript side will not go back to the native with
|
// The JavaScript side will not go back to the native with
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright @ 2017-present Atlassian Pty Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jitsi.meet.sdk;
|
|
||||||
|
|
||||||
import android.support.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.facebook.react.bridge.ReactContext;
|
|
||||||
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
||||||
|
|
||||||
public class ReactContextUtils {
|
|
||||||
public static boolean emitEvent(
|
|
||||||
ReactContext reactContext,
|
|
||||||
String eventName,
|
|
||||||
@Nullable Object data) {
|
|
||||||
if (reactContext == null) {
|
|
||||||
// XXX If no ReactContext is specified, emit through the
|
|
||||||
// ReactContext of ReactInstanceManager. ReactInstanceManager
|
|
||||||
// cooperates with ReactContextUtils i.e. ReactInstanceManager will
|
|
||||||
// not invoke ReactContextUtils without a ReactContext.
|
|
||||||
return ReactInstanceManagerHolder.emitEvent(eventName, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
reactContext
|
|
||||||
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
||||||
.emit(eventName, data);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -24,6 +24,7 @@ import com.facebook.react.bridge.NativeModule;
|
||||||
import com.facebook.react.bridge.ReactContext;
|
import com.facebook.react.bridge.ReactContext;
|
||||||
import com.facebook.react.bridge.ReactApplicationContext;
|
import com.facebook.react.bridge.ReactApplicationContext;
|
||||||
import com.facebook.react.common.LifecycleState;
|
import com.facebook.react.common.LifecycleState;
|
||||||
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -81,12 +82,13 @@ class ReactInstanceManagerHolder {
|
||||||
ReactContext reactContext
|
ReactContext reactContext
|
||||||
= reactInstanceManager.getCurrentReactContext();
|
= reactInstanceManager.getCurrentReactContext();
|
||||||
|
|
||||||
return
|
if (reactContext != null) {
|
||||||
reactContext != null
|
reactContext
|
||||||
&& ReactContextUtils.emitEvent(
|
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
||||||
reactContext,
|
.emit(eventName, data);
|
||||||
eventName,
|
|
||||||
data);
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue