From c64213653ec3a6b25c19a3a7e40977167533afba Mon Sep 17 00:00:00 2001 From: Aaron Chiu Date: Thu, 11 Aug 2016 15:43:35 -0700 Subject: [PATCH] Convert modules to use @ReactModule instead of getName() Reviewed By: astreet Differential Revision: D3334273 fbshipit-source-id: a33bf72c5c184844885ef3ef610a05d9c102c8ea --- .../testing/AbstractScrollViewTestCase.java | 9 +++------ .../facebook/react/testing/AssertModule.java | 7 ++----- .../react/testing/FakeAsyncLocalStorage.java | 7 ++----- .../react/testing/IntRecordingModule.java | 7 ++----- .../testing/JSIntegrationTestChecker.java | 7 ++----- .../testing/NetworkRecordingModuleMock.java | 7 ++----- .../react/testing/StringRecordingModule.java | 7 ++----- ...alystNativeJSToJavaParametersTestCase.java | 7 ++----- .../react/tests/InitialPropsTestCase.java | 11 ++++------ .../react/devsupport/JSCHeapCapture.java | 7 ++----- .../modules/appstate/AppStateModule.java | 7 ++----- .../modules/camera/CameraRollManager.java | 8 ++------ .../modules/camera/ImageEditingManager.java | 9 ++------- .../modules/camera/ImageStoreManager.java | 7 ++----- .../modules/clipboard/ClipboardModule.java | 20 ++++--------------- .../core/DeviceEventManagerModule.java | 7 ++----- .../modules/core/ExceptionsManagerModule.java | 7 ++----- .../facebook/react/modules/core/Timing.java | 9 +++------ .../datepicker/DatePickerDialogModule.java | 11 ++++------ .../modules/debug/AnimationsDebugModule.java | 7 ++----- .../react/modules/debug/SourceCodeModule.java | 11 ++-------- .../react/modules/dialog/DialogModule.java | 10 ++-------- .../react/modules/fresco/FrescoModule.java | 7 ++----- .../i18nmanager/I18nManagerModule.java | 19 +++++++----------- .../modules/image/ImageLoaderModule.java | 11 ++++------ .../react/modules/intent/IntentModule.java | 7 ++----- .../modules/location/LocationModule.java | 7 ++----- .../react/modules/netinfo/NetInfoModule.java | 7 ++----- .../modules/network/NetworkingModule.java | 7 ++----- .../permissions/PermissionsModule.java | 7 ++----- .../react/modules/share/ShareModule.java | 14 +++---------- .../modules/statusbar/StatusBarModule.java | 19 ++++++------------ .../modules/storage/AsyncStorageModule.java | 7 ++----- .../modules/systeminfo/AndroidInfoModule.java | 7 ++----- .../timepicker/TimePickerDialogModule.java | 10 +++------- .../react/modules/toast/ToastModule.java | 7 ++----- .../modules/vibration/VibrationModule.java | 7 ++----- .../modules/websocket/WebSocketModule.java | 11 +++------- .../react/uimanager/UIManagerModule.java | 8 +++----- .../debug/DebugComponentOwnershipModule.java | 7 ++----- 40 files changed, 103 insertions(+), 255 deletions(-) diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java index afdf4bc90..4dc76619b 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java @@ -15,6 +15,7 @@ import java.util.concurrent.TimeUnit; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.JavaScriptModule; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.testing.ReactInstanceSpecForTest; import com.facebook.react.testing.ReactAppInstrumentationTestCase; @@ -45,6 +46,8 @@ public abstract class AbstractScrollViewTestCase extends ReactAppInstrumentation } // See ScrollViewListenerModule.js + // Matches ScrollViewListenerModule.js + @ReactModule(name = "ScrollListener") protected static class ScrollListenerModule extends BaseJavaModule { private final ArrayList mXOffsets = new ArrayList(); @@ -54,12 +57,6 @@ public abstract class AbstractScrollViewTestCase extends ReactAppInstrumentation private boolean mScrollBeginDragCalled; private boolean mScrollEndDragCalled; - // Matches ScrollViewListenerModule.js - @Override - public String getName() { - return "ScrollListener"; - } - @ReactMethod public void onScroll(double x, double y) { mXOffsets.add(x); diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java index 437947016..b9b7060e1 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java @@ -12,6 +12,7 @@ import javax.annotation.Nullable; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; @@ -19,17 +20,13 @@ import static junit.framework.Assert.assertTrue; /** * NativeModule for tests that allows assertions from JS to propagate to Java. */ +@ReactModule(name = "Assert") public class AssertModule extends BaseJavaModule { private boolean mGotSuccess; private boolean mGotFailure; private @Nullable String mFirstFailureStackTrace; - @Override - public String getName() { - return "Assert"; - } - @ReactMethod public void fail(String stackTrace) { if (!mGotFailure) { diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java index e62d09ecb..a5daaa34e 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java @@ -14,10 +14,12 @@ import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; /** * Dummy implementation of storage module, used for testing */ +@ReactModule(name = "AsyncSQLiteDBStorage") public final class FakeAsyncLocalStorage extends BaseJavaModule { private static WritableMap errorMessage; @@ -26,11 +28,6 @@ public final class FakeAsyncLocalStorage extends BaseJavaModule { errorMessage.putString("message", "Fake Async Local Storage"); } - @Override - public String getName() { - return "AsyncSQLiteDBStorage"; - } - @ReactMethod public void multiGet(final ReadableArray keys, final Callback callback) { callback.invoke(errorMessage, null); diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java index 5cf7e4373..5ceddde42 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java @@ -15,21 +15,18 @@ import java.util.concurrent.TimeUnit; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; /** * Native module provides single method {@link #record} which records its single int argument * in calls array */ +@ReactModule(name = "Recording") public class IntRecordingModule extends BaseJavaModule { private final List mCalls = new ArrayList<>(); private final CountDownLatch mCountDownLatch = new CountDownLatch(1); - @Override - public String getName() { - return "Recording"; - } - @ReactMethod public void record(int i) { mCalls.add(i); diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java index 1ddf186c9..acc2f39b4 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java @@ -14,6 +14,7 @@ import java.util.concurrent.TimeUnit; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; /** * This class is used to verify that some JS integration tests have completed successfully. @@ -23,6 +24,7 @@ import com.facebook.react.bridge.ReactMethod; * to wait for the test to run, and {#link JSIntegrationTestChecker#isTestDone()} to check if it * completed successfully. */ +@ReactModule(name = "TestModule") public class JSIntegrationTestChecker extends BaseJavaModule { private final CountDownLatch mLatch; @@ -31,11 +33,6 @@ public class JSIntegrationTestChecker extends BaseJavaModule { mLatch = new CountDownLatch(1); } - @Override - public String getName() { - return "TestModule"; - } - @ReactMethod public void markTestCompleted() { mLatch.countDown(); diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/NetworkRecordingModuleMock.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/NetworkRecordingModuleMock.java index 4c0b68b6d..dcf9d1c27 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/NetworkRecordingModuleMock.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/NetworkRecordingModuleMock.java @@ -19,12 +19,14 @@ import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.modules.core.DeviceEventManagerModule; /** * Mock Networking module that records last request received by {@link #sendRequest} method and * returns reponse code and body that should be set with {@link #setResponse} */ +@ReactModule(name = "RCTNetworking") public class NetworkRecordingModuleMock extends ReactContextBaseJavaModule { public int mRequestCount = 0; @@ -63,11 +65,6 @@ public class NetworkRecordingModuleMock extends ReactContextBaseJavaModule { mRequestListener = requestListener; } - @Override - public final String getName() { - return "RCTNetworking"; - } - private void fireReactCallback( Callback callback, int status, diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java index 8caa3b8f7..ae6148027 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java @@ -13,20 +13,17 @@ import java.util.List; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; /** * Native module provides single method {@link #record} which records its single string argument * in calls array */ +@ReactModule(name = "Recording") public class StringRecordingModule extends BaseJavaModule { private final List mCalls = new ArrayList(); - @Override - public String getName() { - return "Recording"; - } - @ReactMethod public void record(String text) { mCalls.add(text); diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java b/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java index 06ff91a0c..a91c9ceb4 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java @@ -29,6 +29,7 @@ import com.facebook.react.bridge.UnexpectedNativeTypeException; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.modules.systeminfo.AndroidInfoModule; import com.facebook.react.testing.FakeWebSocketModule; import com.facebook.react.testing.ReactIntegrationTestCase; @@ -668,17 +669,13 @@ public class CatalystNativeJSToJavaParametersTestCase extends ReactIntegrationTe } } + @ReactModule(name = "Recording") private class RecordingTestModule extends BaseJavaModule { private final List mBasicTypesCalls = new ArrayList(); private final List mArrayCalls = new ArrayList(); private final List mMapCalls = new ArrayList(); - @Override - public String getName() { - return "Recording"; - } - @ReactMethod public void receiveBasicTypes(String s, double d, boolean b, String nullableString) { mBasicTypesCalls.add(new Object[]{s, d, b, nullableString}); diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java b/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java index 951c59353..8d00897bc 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java @@ -12,12 +12,13 @@ import android.os.Bundle; import android.test.ActivityInstrumentationTestCase2; import com.facebook.react.bridge.BaseJavaModule; -import com.facebook.react.testing.FakeWebSocketModule; -import com.facebook.react.testing.ReactInstanceSpecForTest; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.testing.FakeWebSocketModule; import com.facebook.react.testing.ReactAppTestActivity; +import com.facebook.react.testing.ReactInstanceSpecForTest; /** * Simple test case for passing initial props to the root React application. @@ -27,15 +28,11 @@ public class InitialPropsTestCase extends public static final String DEFAULT_JS_BUNDLE = "AndroidTestBundle.js"; + @ReactModule(name = "InitialPropsRecordingModule") private static class RecordingModule extends BaseJavaModule { private int mCount = 0; private ReadableMap mProps; - @Override - public String getName() { - return "InitialPropsRecordingModule"; - } - @ReactMethod public void recordProps(ReadableMap props) { mProps = props; diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java index a8824fd79..c243eebc4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java @@ -20,7 +20,9 @@ import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; +@ReactModule(name = "JSCHeapCapture") public class JSCHeapCapture extends ReactContextBaseJavaModule { public interface HeapCapture extends JavaScriptModule { void captureHeap(String path); @@ -132,11 +134,6 @@ public class JSCHeapCapture extends ReactContextBaseJavaModule { } } - @Override - public String getName() { - return "JSCHeapCapture"; - } - @Override public void initialize() { super.initialize(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java index a3daa95a7..fd58cc2f6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java @@ -16,8 +16,10 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter; +@ReactModule(name = "AppState") public class AppStateModule extends ReactContextBaseJavaModule implements LifecycleEventListener { @@ -30,11 +32,6 @@ public class AppStateModule extends ReactContextBaseJavaModule super(reactContext); } - @Override - public String getName() { - return "AppState"; - } - @Override public void initialize() { getReactApplicationContext().addLifecycleEventListener(this); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/CameraRollManager.java b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/CameraRollManager.java index c103f445a..073a01bc1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/CameraRollManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/CameraRollManager.java @@ -50,6 +50,7 @@ import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeArray; import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.ReactConstants; // TODO #6015104: rename to something less iOSish @@ -57,6 +58,7 @@ import com.facebook.react.common.ReactConstants; * {@link NativeModule} that allows JS to interact with the photos on the device (i.e. * {@link MediaStore.Images}). */ +@ReactModule(name = "RKCameraRollManager") public class CameraRollManager extends ReactContextBaseJavaModule { private static final String ERROR_UNABLE_TO_LOAD = "E_UNABLE_TO_LOAD"; @@ -98,11 +100,6 @@ public class CameraRollManager extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "RKCameraRollManager"; - } - @Override public Map getConstants() { return Collections.emptyMap(); @@ -440,5 +437,4 @@ public class CameraRollManager extends ReactContextBaseJavaModule { node.putMap("location", location); } } - } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageEditingManager.java b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageEditingManager.java index 952d92322..0bf9e56ff 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageEditingManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageEditingManager.java @@ -46,11 +46,13 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReadableMap; import com.facebook.infer.annotation.Assertions; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.ReactConstants; /** * Native module that provides image cropping functionality. */ +@ReactModule(name = "RKImageEditingManager") public class ImageEditingManager extends ReactContextBaseJavaModule { private static final List LOCAL_URI_PREFIXES = Arrays.asList( @@ -89,17 +91,11 @@ public class ImageEditingManager extends ReactContextBaseJavaModule { ExifInterface.TAG_WHITE_BALANCE }; - public ImageEditingManager(ReactApplicationContext reactContext) { super(reactContext); new CleanTask(getReactApplicationContext()).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } - @Override - public String getName() { - return "RKImageEditingManager"; - } - @Override public Map getConstants() { return Collections.emptyMap(); @@ -282,7 +278,6 @@ public class ImageEditingManager extends ReactContextBaseJavaModule { } mSuccess.invoke(Uri.fromFile(tempFile).toString()); - } catch (Exception e) { mError.invoke(e.getMessage()); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java index 68329f42a..3c140005e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java @@ -27,7 +27,9 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; +@ReactModule(name = "ImageStoreManager") public class ImageStoreManager extends ReactContextBaseJavaModule { private static final int BUFFER_SIZE = 8192; @@ -36,11 +38,6 @@ public class ImageStoreManager extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "ImageStoreManager"; - } - /** * Calculate the base64 representation for an image. The "tag" comes from iOS naming. * diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java index a51f93e7c..597c545c9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java @@ -14,41 +14,29 @@ import android.content.ClipboardManager; import android.content.ClipData; import android.os.Build; -import com.facebook.common.logging.FLog; -import com.facebook.react.bridge.Callback; -import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.Promise; -import com.facebook.react.common.ReactConstants; +import com.facebook.react.bridge.annotations.ReactModule; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; /** * A module that allows JS to get/set clipboard contents. */ +@ReactModule(name = "Clipboard") public class ClipboardModule extends ReactContextBaseJavaModule { public ClipboardModule(ReactApplicationContext reactContext) { super(reactContext); } - @Override - public String getName() { - return "Clipboard"; - } - private ClipboardManager getClipboardService() { return (ClipboardManager) getReactApplicationContext().getSystemService(getReactApplicationContext().CLIPBOARD_SERVICE); } @ReactMethod - public void getString(Promise promise){ + public void getString(Promise promise) { try { ClipboardManager clipboard = getClipboardService(); ClipData clipData = clipboard.getPrimaryClip(); @@ -60,7 +48,7 @@ public class ClipboardModule extends ReactContextBaseJavaModule { } else { promise.resolve(""); } - } catch(Exception e) { + } catch (Exception e) { promise.reject(e); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java index d28cf84f1..4e440aac6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java @@ -21,10 +21,12 @@ import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.SupportsWebWorkers; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; /** * Native module that handles device hardware events like hardware back presses. */ +@ReactModule(name = "DeviceEventManager") public class DeviceEventManagerModule extends ReactContextBaseJavaModule { @SupportsWebWorkers @@ -75,9 +77,4 @@ public class DeviceEventManagerModule extends ReactContextBaseJavaModule { public void invokeDefaultBackPressHandler() { getReactApplicationContext().runOnUiQueueThread(mInvokeDefaultBackPressRunnable); } - - @Override - public String getName() { - return "DeviceEventManager"; - } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java index c5ad60e59..b3d1ef8ee 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java @@ -18,10 +18,12 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReadableType; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.devsupport.DevSupportManager; import com.facebook.react.common.JavascriptException; import com.facebook.react.common.ReactConstants; +@ReactModule(name = "RKExceptionsManager") public class ExceptionsManagerModule extends BaseJavaModule { static private final Pattern mJsModuleIdPattern = Pattern.compile("(?:^|[/\\\\])(\\d+\\.js)$"); @@ -31,11 +33,6 @@ public class ExceptionsManagerModule extends BaseJavaModule { mDevSupportManager = devSupportManager; } - @Override - public String getName() { - return "RKExceptionsManager"; - } - // If the file name of a stack frame is numeric (+ ".js"), we assume it's a lazily injected module // coming from a "random access bundle". We are using special source maps for these bundles, so // that we can symbolicate stack traces for multiple injected files with a single source map. diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/Timing.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/Timing.java index 2fc348e8d..8bc771ac3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/Timing.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/Timing.java @@ -22,6 +22,7 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.bridge.WritableArray; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.SystemClock; import com.facebook.react.devsupport.DevSupportManager; import com.facebook.react.uimanager.ReactChoreographer; @@ -41,6 +42,7 @@ import javax.annotation.Nullable; /** * Native module for JS timer execution. Timers fire on frame boundaries. */ +@ReactModule(name = "RKTiming") public final class Timing extends ReactContextBaseJavaModule implements LifecycleEventListener, OnExecutorUnregisteredListener { @@ -162,7 +164,7 @@ public final class Timing extends ReactContextBaseJavaModule implements Lifecycl long time = SystemClock.currentTimeMillis(); long absoluteFrameStartTime = time - frameTimeElapsed; - if (FRAME_DURATION_MS - (float)frameTimeElapsed < IDLE_CALLBACK_FRAME_DEADLINE_MS) { + if (FRAME_DURATION_MS - (float) frameTimeElapsed < IDLE_CALLBACK_FRAME_DEADLINE_MS) { return; } @@ -299,11 +301,6 @@ public final class Timing extends ReactContextBaseJavaModule implements Lifecycl } } - @Override - public String getName() { - return "RCTTiming"; - } - @Override public boolean supportsWebWorkers() { return true; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java index 6f76ea7e4..00130efd4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java @@ -30,12 +30,14 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.annotations.VisibleForTesting; /** * {@link NativeModule} that allows JS to show a native date picker dialog and get called back when * the user selects a date. */ +@ReactModule(name = "DatePickerAndroid") public class DatePickerDialogModule extends ReactContextBaseJavaModule { @VisibleForTesting @@ -54,11 +56,6 @@ public class DatePickerDialogModule extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "DatePickerAndroid"; - } - private class DatePickerDialogListener implements OnDateSetListener, OnDismissListener { private final Promise mPromise; @@ -129,7 +126,7 @@ public class DatePickerDialogModule extends ReactContextBaseJavaModule { android.support.v4.app.FragmentManager fragmentManager = ((android.support.v4.app.FragmentActivity) activity).getSupportFragmentManager(); android.support.v4.app.DialogFragment oldFragment = - (android.support.v4.app.DialogFragment)fragmentManager.findFragmentByTag(FRAGMENT_TAG); + (android.support.v4.app.DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG); if (oldFragment != null) { oldFragment.dismiss(); } @@ -144,7 +141,7 @@ public class DatePickerDialogModule extends ReactContextBaseJavaModule { fragment.show(fragmentManager, FRAGMENT_TAG); } else { FragmentManager fragmentManager = activity.getFragmentManager(); - DialogFragment oldFragment = (DialogFragment)fragmentManager.findFragmentByTag(FRAGMENT_TAG); + DialogFragment oldFragment = (DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG); if (oldFragment != null) { oldFragment.dismiss(); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java index dc9664581..58af96935 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java @@ -22,12 +22,14 @@ import com.facebook.react.bridge.JSApplicationCausedNativeException; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.ReactConstants; /** * Module that records debug information during transitions (animated navigation events such as * going from one screen to another). */ +@ReactModule(name = "AnimationsDebugModule") public class AnimationsDebugModule extends ReactContextBaseJavaModule { private @Nullable FpsDebugFrameCallback mFrameCallback; @@ -40,11 +42,6 @@ public class AnimationsDebugModule extends ReactContextBaseJavaModule { mCatalystSettings = catalystSettings; } - @Override - public String getName() { - return "AnimationsDebugModule"; - } - @ReactMethod public void startRecordingFps() { if (mCatalystSettings == null || diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java index 71aba3511..9eb102527 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java @@ -14,15 +14,13 @@ import javax.annotation.Nullable; import java.util.HashMap; import java.util.Map; -import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.BaseJavaModule; -import com.facebook.react.bridge.ReactMethod; -import com.facebook.react.bridge.WritableMap; -import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.bridge.annotations.ReactModule; /** * Module that exposes the URL to the source code map (used for exception stack trace parsing) to JS */ +@ReactModule(name = "RCTSourceCode") public class SourceCodeModule extends BaseJavaModule { private final String mSourceUrl; @@ -31,11 +29,6 @@ public class SourceCodeModule extends BaseJavaModule { mSourceUrl = sourceUrl; } - @Override - public String getName() { - return "RCTSourceCode"; - } - @Override public @Nullable Map getConstants() { HashMap constants = new HashMap(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java index a9bbedc14..f58303d22 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java @@ -21,7 +21,6 @@ import android.os.Bundle; import android.support.v4.app.FragmentActivity; import com.facebook.common.logging.FLog; -import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.LifecycleEventListener; import com.facebook.react.bridge.ReactApplicationContext; @@ -29,15 +28,15 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.MapBuilder; +@ReactModule(name = "DialogManagerAndroid") public class DialogModule extends ReactContextBaseJavaModule implements LifecycleEventListener { /* package */ static final String FRAGMENT_TAG = "com.facebook.catalyst.react.dialog.DialogModule"; - /* package */ static final String NAME = "DialogManagerAndroid"; - /* package */ static final String ACTION_BUTTON_CLICKED = "buttonClicked"; /* package */ static final String ACTION_DISMISSED = "dismissed"; /* package */ static final String KEY_TITLE = "title"; @@ -61,11 +60,6 @@ public class DialogModule extends ReactContextBaseJavaModule implements Lifecycl super(reactContext); } - @Override - public String getName() { - return NAME; - } - /** * Helper to allow this module to work with both the standard FragmentManager * and the Support FragmentManager (for apps that need to use it for legacy reasons). diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java index 210f89e35..be2c48e27 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java @@ -25,6 +25,7 @@ import com.facebook.imagepipeline.core.ImagePipelineFactory; import com.facebook.imagepipeline.listener.RequestListener; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.modules.common.ModuleDataCleaner; import com.facebook.react.modules.network.OkHttpClientProvider; import com.facebook.soloader.SoLoader; @@ -36,6 +37,7 @@ import okhttp3.OkHttpClient; * *

Does not expose any methods to JavaScript code. For initialization and cleanup only. */ +@ReactModule(name = "FrescoModule", needsEagerInit = true) public class FrescoModule extends ReactContextBaseJavaModule implements ModuleDataCleaner.Cleanable { @@ -73,11 +75,6 @@ public class FrescoModule extends ReactContextBaseJavaModule implements mConfig = null; } - @Override - public String getName() { - return "FrescoModule"; - } - @Override public void clearSensitiveData() { // Clear image cache. diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java index feefb593c..1f9f1d2d9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java @@ -11,17 +11,17 @@ package com.facebook.react.modules.i18nmanager; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.MapBuilder; import java.util.Map; - /** * {@link NativeModule} that allows JS to set allowRTL and get isRTL status. */ +@ReactModule(name = "I18nManager") public class I18nManagerModule extends ReactContextBaseJavaModule { private final I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance(); @@ -30,15 +30,12 @@ public class I18nManagerModule extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "I18nManager"; - } - @Override public Map getConstants() { final Map constants = MapBuilder.newHashMap(); - constants.put("isRTL", sharedI18nUtilInstance.isRTL( + constants.put( + "isRTL", + sharedI18nUtilInstance.isRTL( getReactApplicationContext() )); return constants; @@ -48,15 +45,13 @@ public class I18nManagerModule extends ReactContextBaseJavaModule { public void allowRTL(boolean value) { sharedI18nUtilInstance.allowRTL( getReactApplicationContext(), - value - ); + value); } @ReactMethod public void forceRTL(boolean value) { sharedI18nUtilInstance.forceRTL( getReactApplicationContext(), - value - ); + value); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java index 54730146d..999dda97a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java @@ -30,9 +30,11 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; -public class ImageLoaderModule extends ReactContextBaseJavaModule implements - LifecycleEventListener { +@ReactModule(name = "ImageLoader") +public class ImageLoaderModule extends ReactContextBaseJavaModule + implements LifecycleEventListener { private static final String ERROR_INVALID_URI = "E_INVALID_URI"; private static final String ERROR_PREFETCH_FAILURE = "E_PREFETCH_FAILURE"; @@ -52,11 +54,6 @@ public class ImageLoaderModule extends ReactContextBaseJavaModule implements mCallerContext = callerContext; } - @Override - public String getName() { - return "ImageLoader"; - } - /** * Fetch the width and height of the given image. * diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java index 8139797ae..efeb88bd2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java @@ -19,21 +19,18 @@ import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; /** * Intent module. Launch other activities or open URLs. */ +@ReactModule(name = "IntentAndroid") public class IntentModule extends ReactContextBaseJavaModule { public IntentModule(ReactApplicationContext reactContext) { super(reactContext); } - @Override - public String getName() { - return "IntentAndroid"; - } - /** * Return the URL the activity was started with * diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java index 9aa887b50..005ca5b5c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/location/LocationModule.java @@ -27,12 +27,14 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.SystemClock; import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter; /** * Native module that exposes Geolocation to JS. */ +@ReactModule(name = "LocationObserver") public class LocationModule extends ReactContextBaseJavaModule { private @Nullable String mWatchedProvider; @@ -65,11 +67,6 @@ public class LocationModule extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "LocationObserver"; - } - private static class LocationOptions { private final long timeout; private final double maximumAge; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java index 1b8b93cbe..c2424c487 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java @@ -24,12 +24,14 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.bridge.annotations.ReactModule; import static com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter; /** * Module that monitors and provides information about the connectivity state of the device. */ +@ReactModule(name = "NetInfo") public class NetInfoModule extends ReactContextBaseJavaModule implements LifecycleEventListener { @@ -73,11 +75,6 @@ public class NetInfoModule extends ReactContextBaseJavaModule getReactApplicationContext().addLifecycleEventListener(this); } - @Override - public String getName() { - return "NetInfo"; - } - @ReactMethod public void getCurrentConnectivity(Promise promise) { if (mNoNetworkPermission) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java index 50f31239c..f82e9e073 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java @@ -30,6 +30,7 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.network.OkHttpCallUtil; import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter; @@ -49,6 +50,7 @@ import okhttp3.ResponseBody; /** * Implements the XMLHttpRequest JavaScript interface. */ +@ReactModule(name = "RCTNetworking") public final class NetworkingModule extends ReactContextBaseJavaModule { private static final String CONTENT_ENCODING_HEADER_NAME = "content-encoding"; @@ -135,11 +137,6 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { mCookieJarContainer.setCookieJar(new JavaNetCookieJar(mCookieHandler)); } - @Override - public String getName() { - return "RCTNetworking"; - } - @Override public void onCatalystInstanceDestroy() { mShuttingDown = true; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java index fd09476b6..4264c6bd0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java @@ -19,12 +19,14 @@ import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.modules.core.PermissionAwareActivity; import com.facebook.react.modules.core.PermissionListener; /** * Module that exposes the Android M Permission system to JS. */ +@ReactModule(name = "AndroidPermissions") public class PermissionsModule extends ReactContextBaseJavaModule implements PermissionListener { private final SparseArray mCallbacks; @@ -35,11 +37,6 @@ public class PermissionsModule extends ReactContextBaseJavaModule implements Per mCallbacks = new SparseArray(); } - @Override - public String getName() { - return "AndroidPermissions"; - } - /** * Check if the app has the permission given. successCallback is called with true if the * permission had been granted, false otherwise. See {@link Activity#checkSelfPermission}. diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java index eee2a42ca..5b170ed58 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java @@ -11,21 +11,20 @@ package com.facebook.react.modules.share; import android.app.Activity; import android.content.Intent; -import android.net.Uri; import com.facebook.react.bridge.Arguments; -import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; -import com.facebook.react.common.ReactConstants; +import com.facebook.react.bridge.annotations.ReactModule; /** * Intent module. Launch other activities or open URLs. */ +@ReactModule(name = "ShareModule") public class ShareModule extends ReactContextBaseJavaModule { /* package */ static final String ACTION_SHARED = "sharedAction"; @@ -36,11 +35,6 @@ public class ShareModule extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "ShareModule"; - } - /** * Open a chooser dialog to send text content to other apps. * @@ -80,11 +74,9 @@ public class ShareModule extends ReactContextBaseJavaModule { WritableMap result = Arguments.createMap(); result.putString("action", ACTION_SHARED); promise.resolve(result); - } catch (Exception e) { promise.reject(ERROR_UNABLE_TO_OPEN_DIALOG, "Failed to open share dialog"); } - } -} \ No newline at end of file +} diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java index 76554b7e4..1a9430e8b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java @@ -29,12 +29,14 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.UiThreadUtil; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.MapBuilder; import com.facebook.react.uimanager.PixelUtil; /** * {@link NativeModule} that allows changing the appearance of the status bar. */ +@ReactModule(name = "StatusBarManager") public class StatusBarModule extends ReactContextBaseJavaModule { private static final String ERROR_NO_ACTIVITY = "E_NO_ACTIVITY"; @@ -47,11 +49,6 @@ public class StatusBarModule extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "StatusBarManager"; - } - @Override public @Nullable Map getConstants() { final Context context = getReactApplicationContext(); @@ -61,8 +58,7 @@ public class StatusBarModule extends ReactContextBaseJavaModule { 0; return MapBuilder.of( - HEIGHT_KEY, height - ); + HEIGHT_KEY, height); } @ReactMethod @@ -99,8 +95,7 @@ public class StatusBarModule extends ReactContextBaseJavaModule { } res.resolve(null); } - } - ); + }); } else { res.resolve(null); } @@ -143,8 +138,7 @@ public class StatusBarModule extends ReactContextBaseJavaModule { ViewCompat.requestApplyInsets(decorView); res.resolve(null); } - } - ); + }); } } @@ -169,7 +163,6 @@ public class StatusBarModule extends ReactContextBaseJavaModule { res.resolve(null); } - } - ); + }); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java index 35b615066..98dc47c9d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java @@ -24,6 +24,7 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.ReactConstants; import com.facebook.react.common.SetBuilder; import com.facebook.react.modules.common.ModuleDataCleaner; @@ -32,6 +33,7 @@ import static com.facebook.react.modules.storage.ReactDatabaseSupplier.KEY_COLUM import static com.facebook.react.modules.storage.ReactDatabaseSupplier.TABLE_CATALYST; import static com.facebook.react.modules.storage.ReactDatabaseSupplier.VALUE_COLUMN; +@ReactModule(name = "AsyncSQLiteDBStorage") public final class AsyncStorageModule extends ReactContextBaseJavaModule implements ModuleDataCleaner.Cleanable { @@ -47,11 +49,6 @@ public final class AsyncStorageModule mReactDatabaseSupplier = ReactDatabaseSupplier.getInstance(reactContext); } - @Override - public String getName() { - return "AsyncSQLiteDBStorage"; - } - @Override public void initialize() { super.initialize(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java index 7ef7dee01..3353c48c1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java @@ -12,6 +12,7 @@ package com.facebook.react.modules.systeminfo; import android.os.Build; import com.facebook.react.bridge.BaseJavaModule; +import com.facebook.react.bridge.annotations.ReactModule; import java.util.HashMap; import java.util.Map; @@ -21,13 +22,9 @@ import javax.annotation.Nullable; /** * Module that exposes Android Constants to JS. */ +@ReactModule(name = "AndroidConstants") public class AndroidInfoModule extends BaseJavaModule { - @Override - public String getName() { - return "AndroidConstants"; - } - @Override public @Nullable Map getConstants() { HashMap constants = new HashMap(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogModule.java index 7d627b583..6046c88ac 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogModule.java @@ -11,7 +11,6 @@ package com.facebook.react.modules.timepicker; import javax.annotation.Nullable; -import java.util.Map; import android.app.Activity; import android.app.DialogFragment; @@ -30,12 +29,14 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.annotations.VisibleForTesting; /** * {@link NativeModule} that allows JS to show a native time picker dialog and get called back when * the user selects a time. */ +@ReactModule(name = "TimePickerAndroid") public class TimePickerDialogModule extends ReactContextBaseJavaModule { @VisibleForTesting @@ -53,11 +54,6 @@ public class TimePickerDialogModule extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "TimePickerAndroid"; - } - private class TimePickerDialogListener implements OnTimeSetListener, OnDismissListener { private final Promise mPromise; @@ -106,7 +102,7 @@ public class TimePickerDialogModule extends ReactContextBaseJavaModule { android.support.v4.app.FragmentManager fragmentManager = ((android.support.v4.app.FragmentActivity) activity).getSupportFragmentManager(); android.support.v4.app.DialogFragment oldFragment = - (android.support.v4.app.DialogFragment)fragmentManager.findFragmentByTag(FRAGMENT_TAG); + (android.support.v4.app.DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG); if (oldFragment != null) { oldFragment.dismiss(); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java index 243c917a6..db2b3bd4b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java @@ -16,6 +16,7 @@ import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.MapBuilder; import com.facebook.react.bridge.UiThreadUtil; @@ -24,6 +25,7 @@ import java.util.Map; /** * {@link NativeModule} that allows JS to show an Android Toast. */ +@ReactModule(name = "ToastAndroid") public class ToastModule extends ReactContextBaseJavaModule { private static final String DURATION_SHORT_KEY = "SHORT"; @@ -37,11 +39,6 @@ public class ToastModule extends ReactContextBaseJavaModule { super(reactContext); } - @Override - public String getName() { - return "ToastAndroid"; - } - @Override public Map getConstants() { final Map constants = MapBuilder.newHashMap(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java index 21c54a188..b0a15115c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java @@ -16,18 +16,15 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.annotations.ReactModule; +@ReactModule(name = "Vibration") public class VibrationModule extends ReactContextBaseJavaModule { public VibrationModule(ReactApplicationContext reactContext) { super(reactContext); } - @Override - public String getName() { - return "Vibration"; - } - @ReactMethod public void vibrate(int duration) { Vibrator v = (Vibrator) getReactApplicationContext().getSystemService(Context.VIBRATOR_SERVICE); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java index 3c6799efa..5ad075c6e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java @@ -26,6 +26,7 @@ import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReadableMapKeySetIterator; import com.facebook.react.bridge.ReadableType; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.ReactConstants; import com.facebook.react.modules.core.DeviceEventManagerModule; @@ -47,6 +48,7 @@ import java.util.concurrent.TimeUnit; import okio.Buffer; import okio.ByteString; +@ReactModule(name = "WebSocketModule") public class WebSocketModule extends ReactContextBaseJavaModule { private Map mWebSocketConnections = new HashMap<>(); @@ -63,11 +65,6 @@ public class WebSocketModule extends ReactContextBaseJavaModule { .emit(eventName, params); } - @Override - public String getName() { - return "WebSocketModule"; - } - @ReactMethod public void connect(final String url, @Nullable final ReadableArray protocols, @Nullable final ReadableMap headers, final int id) { OkHttpClient client = new OkHttpClient.Builder() @@ -273,10 +270,8 @@ public class WebSocketModule extends ReactContextBaseJavaModule { } return defaultOrigin; - - } catch(URISyntaxException e) { + } catch (URISyntaxException e) { throw new IllegalArgumentException("Unable to set " + uri + " as default origin header."); } } - } diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java index 033ea83e0..7f6001a08 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java @@ -24,7 +24,9 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.bridge.annotations.ReactModule; import com.facebook.react.common.ReactConstants; +import com.facebook.react.uimanager.DisplayMetricsHolder; import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.systrace.Systrace; @@ -59,6 +61,7 @@ import com.facebook.systrace.SystraceMessage; * consider implementing a pool * TODO(5483063): Don't dispatch the view hierarchy at the end of a batch if no UI changes occurred */ +@ReactModule(name = "RKUIManager") public class UIManagerModule extends ReactContextBaseJavaModule implements OnBatchCompleteListener, LifecycleEventListener { @@ -95,11 +98,6 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements return mUIImplementation; } - @Override - public String getName() { - return "RKUIManager"; - } - @Override public Map getConstants() { return mModuleConstants; diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/DebugComponentOwnershipModule.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/DebugComponentOwnershipModule.java index 3500d64f9..a12927513 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/DebugComponentOwnershipModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/DebugComponentOwnershipModule.java @@ -20,12 +20,14 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.annotations.ReactModule; /** * Native module that can asynchronously request the owners hierarchy of a react tag. * * Example returned owner hierarchy: ['RootView', 'Dialog', 'TitleView', 'Text'] */ +@ReactModule(name = "DebugComponentOwnershipModule") public class DebugComponentOwnershipModule extends ReactContextBaseJavaModule { public interface RCTDebugComponentOwnership extends JavaScriptModule { @@ -92,9 +94,4 @@ public class DebugComponentOwnershipModule extends ReactContextBaseJavaModule { mRequestIdToCallback.put(requestId, callback); Assertions.assertNotNull(mRCTDebugComponentOwnership).getOwnerHierarchy(requestId, tag); } - - @Override - public String getName() { - return "DebugComponentOwnershipModule"; - } }