mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-09 22:43:10 +08:00
Add @ReactModule annotation
Reviewed By: astreet Differential Revision: D3310686 fbshipit-source-id: ec2dc7fdf2dfbb3eedde667d7228fc3241860e35
This commit is contained in:
committed by
Facebook Github Bot 2
parent
24236a8926
commit
0561336ae4
@@ -9,7 +9,10 @@
|
||||
|
||||
package com.facebook.react.bridge;
|
||||
|
||||
import com.facebook.common.logging.FLog;
|
||||
import com.facebook.infer.annotation.Assertions;
|
||||
import com.facebook.react.bridge.annotations.ReactModule;
|
||||
import com.facebook.react.common.ReactConstants;
|
||||
import com.facebook.systrace.Systrace;
|
||||
import com.facebook.systrace.SystraceMessage;
|
||||
|
||||
@@ -462,6 +465,17 @@ public abstract class BaseJavaModule implements NativeModule {
|
||||
writer.endObject();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
ReactModule module = getClass().getAnnotation(ReactModule.class);
|
||||
if (module == null) {
|
||||
throw new IllegalStateException(
|
||||
getClass().getSimpleName() +
|
||||
"module must have @ReactModule annotation or override getName()");
|
||||
}
|
||||
return module.name();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
// do nothing
|
||||
@@ -469,6 +483,7 @@ public abstract class BaseJavaModule implements NativeModule {
|
||||
|
||||
@Override
|
||||
public boolean canOverrideExistingModule() {
|
||||
// TODO(t11394819): Make this final and use annotation
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -484,7 +499,15 @@ public abstract class BaseJavaModule implements NativeModule {
|
||||
|
||||
@Override
|
||||
public boolean supportsWebWorkers() {
|
||||
return false;
|
||||
ReactModule module = getClass().getAnnotation(ReactModule.class);
|
||||
if (module == null) {
|
||||
FLog.w(
|
||||
ReactConstants.TAG,
|
||||
"Module " + getName() +
|
||||
" lacks @ReactModule annotation, assuming false for supportsWebWorkers()");
|
||||
return false;
|
||||
}
|
||||
return module.supportsWebWorkers();
|
||||
}
|
||||
|
||||
private static char paramTypeToChar(Class paramClass) {
|
||||
|
||||
Reference in New Issue
Block a user