mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
619e27e9a1
Summary: This diff annotates core classes of Fabric with NonNull and Nullable annotations, this will help analysis of nullability plus improving integration with Kotlin clients Changelog: Add NonNull annotation to Fabric core classes Reviewed By: shergin Differential Revision: D18010918 fbshipit-source-id: 40fe68470b97cdf740f52dfeb9130465aab5e6df
47 lines
1.3 KiB
Java
47 lines
1.3 KiB
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.fabric;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import androidx.annotation.NonNull;
|
|
import com.facebook.jni.HybridData;
|
|
import com.facebook.proguard.annotations.DoNotStrip;
|
|
import com.facebook.react.bridge.NativeMap;
|
|
import com.facebook.react.bridge.ReadableNativeMap;
|
|
import com.facebook.react.bridge.WritableMap;
|
|
import com.facebook.react.uimanager.StateWrapper;
|
|
|
|
/**
|
|
* This class holds reference to the C++ EventEmitter object. Instances of this class are created on
|
|
* the Bindings.cpp, where the pointer to the C++ event emitter is set.
|
|
*/
|
|
@SuppressLint("MissingNativeLoadLibrary")
|
|
public class StateWrapperImpl implements StateWrapper {
|
|
static {
|
|
FabricSoLoader.staticInit();
|
|
}
|
|
|
|
@DoNotStrip private final HybridData mHybridData;
|
|
|
|
private static native HybridData initHybrid();
|
|
|
|
private StateWrapperImpl() {
|
|
mHybridData = initHybrid();
|
|
}
|
|
|
|
@Override
|
|
public native ReadableNativeMap getState();
|
|
|
|
public native void updateStateImpl(@NonNull NativeMap map);
|
|
|
|
@Override
|
|
public void updateState(@NonNull WritableMap map) {
|
|
updateStateImpl((NativeMap) map);
|
|
}
|
|
}
|