mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
84f40da990
Summary: Here are some leftovers from nullable annotations for native modules, discovered while developing native module in Kotlin. This will help improve Kotlin developer experience [Android] [Changed] - Add Nonnull annotations to ReactPackage Pull Request resolved: https://github.com/facebook/react-native/pull/23415 Differential Revision: D14064607 Pulled By: cpojer fbshipit-source-id: af2ce1fc1911ee03c54b20a4fc3a6d1aba9267da
46 lines
1.8 KiB
Java
46 lines
1.8 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;
|
|
|
|
import com.facebook.react.bridge.NativeModule;
|
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
import com.facebook.react.uimanager.UIManagerModule;
|
|
import com.facebook.react.uimanager.ViewManager;
|
|
import java.util.List;
|
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
/**
|
|
* Main interface for providing additional capabilities to the catalyst framework by couple of
|
|
* different means:
|
|
* 1) Registering new native modules
|
|
* 2) Registering new JS modules that may be accessed from native modules or from other parts of the
|
|
* native code (requiring JS modules from the package doesn't mean it will automatically be included
|
|
* as a part of the JS bundle, so there should be a corresponding piece of code on JS side that will
|
|
* require implementation of that JS module so that it gets bundled)
|
|
* 3) Registering custom native views (view managers) and custom event types
|
|
* 4) Registering natively packaged assets/resources (e.g. images) exposed to JS
|
|
*
|
|
* TODO(6788500, 6788507): Implement support for adding custom views, events and resources
|
|
*/
|
|
public interface ReactPackage {
|
|
|
|
/**
|
|
* @param reactContext react application context that can be used to create modules
|
|
* @return list of native modules to register with the newly created catalyst instance
|
|
*/
|
|
@Nonnull
|
|
List<NativeModule> createNativeModules(@Nonnull ReactApplicationContext reactContext);
|
|
|
|
/**
|
|
* @return a list of view managers that should be registered with {@link UIManagerModule}
|
|
*/
|
|
@Nonnull
|
|
List<ViewManager> createViewManagers(@Nonnull ReactApplicationContext reactContext);
|
|
}
|