mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
3b31e69e28
Summary: Changelog: [General] [Fixed] - License header cleanup Reviewed By: yungsters Differential Revision: D17952694 fbshipit-source-id: 17c87de7ebb271fa2ac8d00af72a4d1addef8bd0
38 lines
799 B
Java
38 lines
799 B
Java
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
package com.facebook.react.bridge;
|
|
|
|
public class JSIModuleHolder {
|
|
|
|
private JSIModule mModule;
|
|
private final JSIModuleSpec mSpec;
|
|
|
|
public JSIModuleHolder(JSIModuleSpec spec) {
|
|
mSpec = spec;
|
|
}
|
|
|
|
public JSIModule getJSIModule() {
|
|
if (mModule == null) {
|
|
synchronized (this) {
|
|
if (mModule != null) {
|
|
return mModule;
|
|
}
|
|
mModule = mSpec.getJSIModuleProvider().get();
|
|
mModule.initialize();
|
|
}
|
|
}
|
|
return mModule;
|
|
}
|
|
|
|
public void notifyJSInstanceDestroy() {
|
|
if (mModule != null) {
|
|
mModule.onCatalystInstanceDestroy();
|
|
}
|
|
}
|
|
}
|