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 d5a4f5376fd..981af21c470 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java @@ -9,9 +9,9 @@ package com.facebook.react.testing; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; +import androidx.annotation.Nullable; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactMethod; -import javax.annotation.Nullable; /** NativeModule for tests that allows assertions from JS to propagate to Java. */ public class AssertModule extends BaseJavaModule { diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java index 0800f24b45e..e82a0a54cc7 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java @@ -6,11 +6,11 @@ */ package com.facebook.react.testing; +import androidx.annotation.Nullable; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; -import javax.annotation.Nullable; /** Dummy implementation of storage module, used for testing */ public final class FakeWebSocketModule extends BaseJavaModule { diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java index 2c3c5866514..e68ee173ea7 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java @@ -11,12 +11,12 @@ import android.graphics.Bitmap; import android.test.ActivityInstrumentationTestCase2; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactContext; import com.facebook.react.testing.idledetection.IdleWaiter; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; /** Base class for instrumentation tests that runs React based react application in UI mode */ public abstract class ReactAppInstrumentationTestCase diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java index 2318f236a7e..4a6eaa160b9 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java @@ -14,6 +14,7 @@ import android.os.Bundle; import android.view.View; import android.view.ViewTreeObserver; import android.widget.FrameLayout; +import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; import com.facebook.infer.annotation.Assertions; import com.facebook.react.ReactInstanceManager; @@ -39,7 +40,6 @@ import java.util.Arrays; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; public class ReactAppTestActivity extends FragmentActivity implements DefaultHardwareBackBtnHandler, PermissionAwareActivity { diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java index 6b92b88e73c..67ea4ef9773 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java @@ -7,6 +7,7 @@ package com.facebook.react.testing; import android.annotation.SuppressLint; +import androidx.annotation.Nullable; import com.facebook.react.ReactPackage; import com.facebook.react.bridge.JavaScriptExecutorFactory; import com.facebook.react.bridge.JavaScriptModule; @@ -15,7 +16,6 @@ import com.facebook.react.uimanager.ViewManager; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import javax.annotation.Nullable; /** * A spec that allows a test to add additional NativeModules/JS modules to the ReactInstance. This diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java index 9e3e489c959..8fcdd8df585 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java @@ -10,11 +10,11 @@ import android.content.Intent; import android.test.ActivityInstrumentationTestCase2; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JavaScriptExecutorFactory; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.ReactContext; import com.facebook.react.testing.idledetection.IdleWaiter; -import javax.annotation.Nullable; /** * Base class for instrumentation tests that runs React based application. diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java index c4caeaa79af..4bc4a1716f9 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java @@ -11,6 +11,7 @@ import static org.mockito.Mockito.mock; import android.test.AndroidTestCase; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.CatalystInstance; @@ -29,7 +30,6 @@ import com.facebook.soloader.SoLoader; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; /** * Use this class for writing integration tests of catalyst. This class will run all JNI call within diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java index a737f543c04..16d186421ea 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java @@ -9,6 +9,7 @@ package com.facebook.react.testing; import android.content.Context; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; import com.android.internal.util.Predicate; import com.facebook.infer.annotation.Assertions; import com.facebook.react.NativeModuleRegistryBuilder; @@ -30,7 +31,6 @@ import com.facebook.react.uimanager.ViewManager; import java.util.Arrays; import java.util.Collections; import java.util.List; -import javax.annotation.Nullable; public class ReactTestHelper { private static class DefaultReactTestFactory implements ReactTestFactory { diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java index ce1f6e86916..c95a0e85ec5 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java @@ -11,7 +11,7 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.os.Looper; import android.widget.FrameLayout; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * A FrameLayout that allows you to access the result of the last time its hierarchy was drawn. It diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java index 09babeee703..894bd2e6e87 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java @@ -6,6 +6,7 @@ */ package com.facebook.react.testing.network; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReactApplicationContext; @@ -17,7 +18,6 @@ import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.core.DeviceEventManagerModule; -import javax.annotation.Nullable; /** * Mock Networking module that records last request received by {@link #sendRequest} method and diff --git a/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java b/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java index 1fb9a2ea6c1..82dc136900d 100644 --- a/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java +++ b/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java @@ -8,6 +8,7 @@ package com.facebook.react.tests; import android.content.Context; import android.widget.ScrollView; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.testing.ReactAppInstrumentationTestCase; import com.facebook.react.testing.ReactInstanceSpecForTest; @@ -18,7 +19,6 @@ import com.facebook.react.views.view.ReactViewGroup; import com.facebook.react.views.view.ReactViewManager; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; import org.junit.Assert; /** diff --git a/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java b/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java index f033aed7e82..52f4969f1f1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java @@ -6,6 +6,7 @@ */ package com.facebook.react; +import androidx.annotation.Nullable; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.module.model.ReactModuleInfo; @@ -19,7 +20,6 @@ import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; /** * {@code CompositeReactPackage} allows to create a single package composed of views and modules diff --git a/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java b/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java index dfe3132b035..00256a49732 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java @@ -12,6 +12,7 @@ import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_M import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_CORE_REACT_PACKAGE_END; import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_CORE_REACT_PACKAGE_START; +import androidx.annotation.Nullable; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactMarker; @@ -35,7 +36,6 @@ import com.facebook.systrace.Systrace; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** * This is the basic module to support React Native. The debug modules are now in DebugCorePackage. diff --git a/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java b/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java index 0405edd868e..8b661c14612 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +++ b/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java @@ -13,6 +13,7 @@ import android.content.Context; import android.content.Intent; import android.os.IBinder; import android.os.PowerManager; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.UiThreadUtil; @@ -21,7 +22,6 @@ import com.facebook.react.jstasks.HeadlessJsTaskContext; import com.facebook.react.jstasks.HeadlessJsTaskEventListener; import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; -import javax.annotation.Nullable; /** * Base class for running JS without a UI. Generally, you only need to override {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java b/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java index b5b0024f863..f4565b4d376 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java @@ -9,11 +9,11 @@ package com.facebook.react; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.modules.core.PermissionAwareActivity; import com.facebook.react.modules.core.PermissionListener; -import javax.annotation.Nullable; /** Base Activity for React Native applications. */ public abstract class ReactActivity extends AppCompatActivity diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java index 199d9bf6a41..1fa606be8d2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java @@ -12,10 +12,10 @@ import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.view.KeyEvent; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.Callback; import com.facebook.react.modules.core.PermissionListener; -import javax.annotation.Nullable; /** * Delegate class for {@link ReactActivity} and {@link ReactFragmentActivity}. You can subclass this diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java index 99aef296725..72013128388 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java @@ -10,10 +10,10 @@ import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.devsupport.DoubleTapReloadRecognizer; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; -import javax.annotation.Nullable; /** * A delegate for handling React Application support. This delegate is unaware whether it is used in diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java b/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java index 34ed7aa3452..4f76241cc99 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java @@ -15,10 +15,10 @@ import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import com.facebook.react.modules.core.PermissionAwareActivity; import com.facebook.react.modules.core.PermissionListener; -import javax.annotation.Nullable; /** * Fragment for creating a React View. This allows the developer to "embed" a React Application diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index 4c7dde79712..6b8370c8895 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -39,6 +39,7 @@ import android.os.Bundle; import android.os.Process; import android.util.Log; import android.view.View; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import com.facebook.common.logging.FLog; import com.facebook.debug.holder.PrinterHolder; @@ -102,7 +103,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; /** * This class is managing instances of {@link CatalystInstance}. It exposes a way to configure diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java index 9d0a82c30f9..0c4b2b83146 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java @@ -9,6 +9,7 @@ import static com.facebook.react.modules.systeminfo.AndroidInfoHelpers.getFriend import android.app.Activity; import android.app.Application; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.JSBundleLoader; import com.facebook.react.bridge.JSIModulePackage; @@ -26,7 +27,6 @@ import com.facebook.react.uimanager.UIImplementationProvider; import java.util.ArrayList; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** Builder class for {@link ReactInstanceManager} */ public class ReactInstanceManagerBuilder { diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java b/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java index fe0ec8b4192..89a28693b1b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java @@ -7,6 +7,7 @@ package com.facebook.react; import android.app.Application; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.JSIModulePackage; import com.facebook.react.bridge.JavaScriptExecutorFactory; @@ -16,7 +17,6 @@ import com.facebook.react.common.LifecycleState; import com.facebook.react.devsupport.RedBoxHandler; import com.facebook.react.uimanager.UIImplementationProvider; import java.util.List; -import javax.annotation.Nullable; /** * Simple class that holds an instance of {@link ReactInstanceManager}. This can be used in your diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java b/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java index 2dc678fc3a3..fa0e8958429 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java @@ -6,12 +6,12 @@ */ package com.facebook.react; +import androidx.annotation.NonNull; 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 @@ -35,10 +35,10 @@ 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 createNativeModules(@Nonnull ReactApplicationContext reactContext); + @NonNull + List createNativeModules(@NonNull ReactApplicationContext reactContext); /** @return a list of view managers that should be registered with {@link UIManagerModule} */ - @Nonnull - List createViewManagers(@Nonnull ReactApplicationContext reactContext); + @NonNull + List createViewManagers(@NonNull ReactApplicationContext reactContext); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java index 50703ed524e..2b9b9a754de 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java @@ -25,6 +25,7 @@ import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.WindowManager; import android.widget.FrameLayout; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.Arguments; @@ -52,7 +53,6 @@ import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.common.UIManagerType; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.systrace.Systrace; -import javax.annotation.Nullable; /** * Default root view for catalyst apps. Provides the ability to listen for size changes so that a UI diff --git a/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java b/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java index bdb1d2cff76..7f5b1d6fcc0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java @@ -6,10 +6,10 @@ */ package com.facebook.react; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.uimanager.ViewManager; import java.util.List; -import javax.annotation.Nullable; public interface ViewManagerOnDemandReactPackage { /** diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java b/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java index 956c7695018..5b44f1df571 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java @@ -6,10 +6,10 @@ */ package com.facebook.react.animated; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; /** Base class for all Animated.js library node types that can be created on the "native" side. */ /*package*/ abstract class AnimatedNode { diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK b/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK index 0b1fc31a9ae..c949ede2d4d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK @@ -5,6 +5,7 @@ rn_android_library( srcs = glob([ "*.java", ]), + is_androidx = True, provided_deps = [ react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/android/androidx:core"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java b/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java index 169808e04c6..4fe0e2543dd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java @@ -6,12 +6,12 @@ */ package com.facebook.react.animated; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.events.RCTEventEmitter; import java.util.List; -import javax.annotation.Nullable; /** Handles updating a {@link ValueAnimatedNode} when an event gets dispatched. */ /* package */ class EventAnimationDriver implements RCTEventEmitter { diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java b/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java index a1ce30cff29..71f347f846c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java @@ -6,6 +6,7 @@ */ package com.facebook.react.animated; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; @@ -13,7 +14,6 @@ import com.facebook.react.bridge.ReadableType; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.annotation.Nullable; /** * Animated node that corresponds to {@code AnimatedInterpolation} from AnimatedImplementation.js. diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java index 5870cf432cd..71dbd6e47a2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java @@ -6,6 +6,7 @@ */ package com.facebook.react.animated; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Callback; @@ -25,7 +26,6 @@ import com.facebook.react.uimanager.UIBlock; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.UIManagerModuleListener; import java.util.ArrayList; -import javax.annotation.Nullable; /** * Module that exposes interface for creating and managing animated nodes on the "native" side. diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java index 2e45456e0b9..fecb46dec70 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java @@ -7,6 +7,7 @@ package com.facebook.react.animated; import android.util.SparseArray; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Callback; @@ -28,7 +29,6 @@ import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Queue; -import javax.annotation.Nullable; /** * This is the main class that coordinates how native animated JS implementation drives UI changes. diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java b/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java index 0a56eb96e3b..251a1d9f8ff 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java @@ -6,6 +6,7 @@ */ package com.facebook.react.animated; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.JavaOnlyMap; import com.facebook.react.bridge.ReadableMap; @@ -13,7 +14,6 @@ import com.facebook.react.bridge.ReadableMapKeySetIterator; import com.facebook.react.bridge.UIManager; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; /** * Animated node that represents view properties. There is a special handling logic implemented for diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java b/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java index 94cff86c001..9ca5444304b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java @@ -6,12 +6,12 @@ */ package com.facebook.react.animated; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JavaOnlyMap; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReadableMapKeySetIterator; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; /** * Native counterpart of style animated node (see AnimatedStyle class in AnimatedImplementation.js) diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java b/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java index 5ecec926f8b..063ce603396 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java @@ -6,8 +6,8 @@ */ package com.facebook.react.animated; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableMap; -import javax.annotation.Nullable; /** * Basic type of animated node that maps directly from {@code Animated.Value(x)} of Animated.js diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java index 2fee9d3b1c0..e17e3c1aca1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java @@ -7,12 +7,12 @@ package com.facebook.react.bridge; import android.os.Bundle; +import androidx.annotation.Nullable; import java.lang.reflect.Array; import java.util.AbstractList; import java.util.ArrayList; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; public class Arguments { private static Object makeNativeObject(Object object) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java index f17c45331ab..6baff1cb00c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java @@ -6,8 +6,8 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import java.util.Map; -import javax.annotation.Nullable; /** * Base class for Catalyst native modules whose implementations are written in Java. Default diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java index 703386ff0a3..761eae8ff0c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java @@ -6,13 +6,13 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.queue.ReactQueueConfiguration; import com.facebook.react.common.annotations.VisibleForTesting; import com.facebook.react.turbomodule.core.interfaces.JSCallInvokerHolder; import java.util.Collection; import java.util.List; -import javax.annotation.Nullable; /** * A higher level API on top of the asynchronous JSC bridge. This provides an environment allowing diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java index d4867de3425..e96d24270e5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java @@ -11,6 +11,7 @@ import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE; import android.content.res.AssetManager; import android.os.AsyncTask; import android.util.Log; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.jni.HybridData; @@ -34,7 +35,6 @@ import java.util.Collection; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicInteger; -import javax.annotation.Nullable; /** * This provides an implementation of the public CatalystInstance instance. It is public because it diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java index 39e310d278c..c81a25ecf31 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java @@ -6,8 +6,8 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import androidx.core.util.Pools; -import javax.annotation.Nullable; /** Implementation of Dynamic wrapping a ReadableArray. */ public class DynamicFromArray implements Dynamic { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java index 360b22934e7..4c151f5f768 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java @@ -6,8 +6,8 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import androidx.core.util.Pools.SimplePool; -import javax.annotation.Nullable; /** Implementation of Dynamic wrapping a ReadableMap. */ public class DynamicFromMap implements Dynamic { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java index e9104db1901..3a2dbba9aa2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java @@ -6,9 +6,9 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.common.ReactConstants; -import javax.annotation.Nullable; /** Implementation of Dynamic wrapping a ReadableArray. */ public class DynamicFromObject implements Dynamic { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationCausedNativeException.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationCausedNativeException.java index 2f4d83b98fc..40540049288 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationCausedNativeException.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationCausedNativeException.java @@ -6,7 +6,7 @@ */ package com.facebook.react.bridge; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * A special RuntimeException that should be thrown by native code if it has reached an exceptional diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java index edf5cfbf96d..8e648dc234a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java @@ -9,13 +9,13 @@ package com.facebook.react.bridge; import static com.facebook.infer.annotation.Assertions.assertNotNull; import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE; +import androidx.annotation.Nullable; import com.facebook.debug.holder.PrinterHolder; import com.facebook.debug.tags.ReactDebugOverlayTags; import com.facebook.infer.annotation.Assertions; import com.facebook.systrace.SystraceMessage; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import javax.annotation.Nullable; public class JavaMethodWrapper implements NativeModule.NativeMethod { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java index 77105a5d5ca..0dd6a45d2a4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java @@ -12,6 +12,7 @@ import static com.facebook.react.bridge.ReactMarkerConstants.GET_CONSTANTS_END; import static com.facebook.react.bridge.ReactMarkerConstants.GET_CONSTANTS_START; import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE; +import androidx.annotation.Nullable; import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.systrace.Systrace; import com.facebook.systrace.SystraceMessage; @@ -21,7 +22,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; /** * This is part of the glue which wraps a java BaseJavaModule in a C++ NativeModule. This could all diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java index aa858cc2e29..071887938e7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java @@ -6,11 +6,11 @@ */ package com.facebook.react.bridge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Java {@link ArrayList} backed implementation of {@link ReadableArray} and {@link WritableArray} @@ -116,12 +116,12 @@ public class JavaOnlyArray implements ReadableArray, WritableArray { } @Override - public @Nonnull Dynamic getDynamic(int index) { + public @NonNull Dynamic getDynamic(int index) { return DynamicFromArray.create(this, index); } @Override - public @Nonnull ReadableType getType(int index) { + public @NonNull ReadableType getType(int index) { Object object = mBackingList.get(index); if (object == null) { @@ -176,7 +176,7 @@ public class JavaOnlyArray implements ReadableArray, WritableArray { } @Override - public @Nonnull ArrayList toArrayList() { + public @NonNull ArrayList toArrayList() { return new ArrayList(mBackingList); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java index c4e16b204c2..0ed5a53bd3c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java @@ -6,11 +6,11 @@ */ package com.facebook.react.bridge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Java {@link HashMap} backed implementation of {@link ReadableMap} and {@link WritableMap} @@ -81,52 +81,52 @@ public class JavaOnlyMap implements ReadableMap, WritableMap { } @Override - public boolean hasKey(@Nonnull String name) { + public boolean hasKey(@NonNull String name) { return mBackingMap.containsKey(name); } @Override - public boolean isNull(@Nonnull String name) { + public boolean isNull(@NonNull String name) { return mBackingMap.get(name) == null; } @Override - public boolean getBoolean(@Nonnull String name) { + public boolean getBoolean(@NonNull String name) { return (Boolean) mBackingMap.get(name); } @Override - public double getDouble(@Nonnull String name) { + public double getDouble(@NonNull String name) { return ((Number) mBackingMap.get(name)).doubleValue(); } @Override - public int getInt(@Nonnull String name) { + public int getInt(@NonNull String name) { return ((Number) mBackingMap.get(name)).intValue(); } @Override - public String getString(@Nonnull String name) { + public String getString(@NonNull String name) { return (String) mBackingMap.get(name); } @Override - public ReadableMap getMap(@Nonnull String name) { + public ReadableMap getMap(@NonNull String name) { return (ReadableMap) mBackingMap.get(name); } @Override - public ReadableArray getArray(@Nonnull String name) { + public ReadableArray getArray(@NonNull String name) { return (ReadableArray) mBackingMap.get(name); } @Override - public @Nonnull Dynamic getDynamic(@Nonnull String name) { + public @NonNull Dynamic getDynamic(@NonNull String name) { return DynamicFromMap.create(this, name); } @Override - public @Nonnull ReadableType getType(@Nonnull String name) { + public @NonNull ReadableType getType(@NonNull String name) { Object value = mBackingMap.get(name); if (value == null) { return ReadableType.Null; @@ -149,12 +149,12 @@ public class JavaOnlyMap implements ReadableMap, WritableMap { } @Override - public @Nonnull Iterator> getEntryIterator() { + public @NonNull Iterator> getEntryIterator() { return mBackingMap.entrySet().iterator(); } @Override - public @Nonnull ReadableMapKeySetIterator keySetIterator() { + public @NonNull ReadableMapKeySetIterator keySetIterator() { return new ReadableMapKeySetIterator() { Iterator> mIterator = mBackingMap.entrySet().iterator(); @@ -171,37 +171,37 @@ public class JavaOnlyMap implements ReadableMap, WritableMap { } @Override - public void putBoolean(@Nonnull String key, boolean value) { + public void putBoolean(@NonNull String key, boolean value) { mBackingMap.put(key, value); } @Override - public void putDouble(@Nonnull String key, double value) { + public void putDouble(@NonNull String key, double value) { mBackingMap.put(key, value); } @Override - public void putInt(@Nonnull String key, int value) { + public void putInt(@NonNull String key, int value) { mBackingMap.put(key, new Double(value)); } @Override - public void putString(@Nonnull String key, @Nullable String value) { + public void putString(@NonNull String key, @Nullable String value) { mBackingMap.put(key, value); } @Override - public void putNull(@Nonnull String key) { + public void putNull(@NonNull String key) { mBackingMap.put(key, null); } @Override - public void putMap(@Nonnull String key, @Nullable ReadableMap value) { + public void putMap(@NonNull String key, @Nullable ReadableMap value) { mBackingMap.put(key, value); } @Override - public void merge(@Nonnull ReadableMap source) { + public void merge(@NonNull ReadableMap source) { mBackingMap.putAll(((JavaOnlyMap) source).mBackingMap); } @@ -213,12 +213,12 @@ public class JavaOnlyMap implements ReadableMap, WritableMap { } @Override - public void putArray(@Nonnull String key, @Nullable ReadableArray value) { + public void putArray(@NonNull String key, @Nullable ReadableArray value) { mBackingMap.put(key, value); } @Override - public @Nonnull HashMap toHashMap() { + public @NonNull HashMap toHashMap() { return new HashMap(mBackingMap); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java index 4d03060cf51..1dbb6f54d7b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java @@ -6,6 +6,7 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import com.facebook.react.common.build.ReactBuildConfig; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; @@ -13,7 +14,6 @@ import java.lang.reflect.Proxy; import java.util.HashMap; import java.util.HashSet; import java.util.Set; -import javax.annotation.Nullable; /** * Class responsible for holding all the {@link JavaScriptModule}s. Uses Java proxy objects to diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java index f36bf258fe0..01a94485fb5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java @@ -10,6 +10,7 @@ import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_MODULE_END; import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_MODULE_START; import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE; +import androidx.annotation.Nullable; import com.facebook.debug.holder.PrinterHolder; import com.facebook.debug.tags.ReactDebugOverlayTags; import com.facebook.infer.annotation.Assertions; @@ -18,7 +19,6 @@ import com.facebook.react.module.model.ReactModuleInfo; import com.facebook.react.turbomodule.core.interfaces.TurboModule; import com.facebook.systrace.SystraceMessage; import java.util.concurrent.atomic.AtomicInteger; -import javax.annotation.Nullable; import javax.annotation.concurrent.GuardedBy; import javax.inject.Provider; diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java index 64766f16f17..3742b2ab927 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java @@ -6,9 +6,9 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.module.annotations.ReactModule; -import javax.annotation.Nullable; import javax.inject.Provider; /** diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java index b292b669de6..e6966686694 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java @@ -6,7 +6,7 @@ */ package com.facebook.react.bridge; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** Exception thrown when a native module method call receives unexpected arguments from JS. */ public class NativeArgumentsParseException extends JSApplicationCausedNativeException { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java index 8d0b6251a0d..2aa39cb0ee5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java @@ -6,8 +6,8 @@ */ package com.facebook.react.bridge; +import androidx.annotation.NonNull; import com.facebook.proguard.annotations.DoNotStrip; -import javax.annotation.Nonnull; /** * A native module whose API can be provided to JS catalyst instances. {@link NativeModule}s whose @@ -28,7 +28,7 @@ public interface NativeModule { * @return the name of this module. This will be the name used to {@code require()} this module * from javascript. */ - @Nonnull + @NonNull String getName(); /** diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.java index 4678c788480..e757c89a5e0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.java @@ -6,8 +6,8 @@ */ package com.facebook.react.bridge; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /* * Interface that represents a JavaScript Promise which can be passed to the native module as a @@ -77,7 +77,7 @@ public interface Promise { * @param code String * @param userInfo WritableMap */ - void reject(String code, @Nonnull WritableMap userInfo); + void reject(String code, @NonNull WritableMap userInfo); /** * Report an exception with a custom code and userInfo. @@ -96,7 +96,7 @@ public interface Promise { * @param message String * @param userInfo WritableMap */ - void reject(String code, String message, @Nonnull WritableMap userInfo); + void reject(String code, String message, @NonNull WritableMap userInfo); /** * Report an exception with a custom code, error message and userInfo. diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java index ccc1204bc27..4e05e5e0c56 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java @@ -6,8 +6,8 @@ */ package com.facebook.react.bridge; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /* * Implementation of {@link Promise} that represents a JavaScript Promise which can be passed to the @@ -126,7 +126,7 @@ public class PromiseImpl implements Promise { * @param userInfo WritableMap */ @Override - public void reject(String code, @Nonnull WritableMap userInfo) { + public void reject(String code, @NonNull WritableMap userInfo) { reject(code, /*Message*/ null, /*Throwable*/ null, userInfo); } @@ -151,7 +151,7 @@ public class PromiseImpl implements Promise { * @param userInfo WritableMap */ @Override - public void reject(String code, String message, @Nonnull WritableMap userInfo) { + public void reject(String code, String message, @NonNull WritableMap userInfo) { reject(code, message, /*Throwable*/ null, userInfo); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java index 7a556096937..154bf756a78 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java @@ -6,9 +6,9 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import javax.annotation.Nullable; /** * JavaScript executor that delegates JS calls processed by native code back to a java version of diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java index eaed58cdb3c..ef295ac7e81 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java @@ -12,13 +12,13 @@ import android.content.ContextWrapper; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.queue.MessageQueueThread; import com.facebook.react.bridge.queue.ReactQueueConfiguration; import com.facebook.react.common.LifecycleState; import java.lang.ref.WeakReference; import java.util.concurrent.CopyOnWriteArraySet; -import javax.annotation.Nullable; /** * Abstract ContextWrapper for Android application or activity {@link Context} and {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java index b9ef6122991..0cea1c7a2e7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java @@ -7,8 +7,8 @@ package com.facebook.react.bridge; import android.app.Activity; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /** * Base class for Catalyst native modules that require access to the {@link ReactContext} instance. @@ -17,7 +17,7 @@ public abstract class ReactContextBaseJavaModule extends BaseJavaModule { private final ReactApplicationContext mReactApplicationContext; - public ReactContextBaseJavaModule(@Nonnull ReactApplicationContext reactContext) { + public ReactContextBaseJavaModule(@NonNull ReactApplicationContext reactContext) { mReactApplicationContext = reactContext; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java index 9e444140e75..27ec9cdb30c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java @@ -5,10 +5,10 @@ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import com.facebook.proguard.annotations.DoNotStrip; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; /** * Static class that allows markers to be placed in React code and responded to in a configurable diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java index 042121349b3..121f287bbcf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java @@ -6,9 +6,9 @@ */ package com.facebook.react.bridge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.util.ArrayList; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Interface for an array that allows typed access to its members. Used to pass parameters from JS @@ -35,12 +35,12 @@ public interface ReadableArray { @Nullable ReadableMap getMap(int index); - @Nonnull + @NonNull Dynamic getDynamic(int index); - @Nonnull + @NonNull ReadableType getType(int index); - @Nonnull + @NonNull ArrayList toArrayList(); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.java index 291b9e8f718..ea9157b3c9c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.java @@ -6,11 +6,11 @@ */ package com.facebook.react.bridge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Interface for a map that allows typed access to its members. Used to pass parameters from JS to @@ -18,37 +18,37 @@ import javax.annotation.Nullable; */ public interface ReadableMap { - boolean hasKey(@Nonnull String name); + boolean hasKey(@NonNull String name); - boolean isNull(@Nonnull String name); + boolean isNull(@NonNull String name); - boolean getBoolean(@Nonnull String name); + boolean getBoolean(@NonNull String name); - double getDouble(@Nonnull String name); + double getDouble(@NonNull String name); - int getInt(@Nonnull String name); + int getInt(@NonNull String name); @Nullable - String getString(@Nonnull String name); + String getString(@NonNull String name); @Nullable - ReadableArray getArray(@Nonnull String name); + ReadableArray getArray(@NonNull String name); @Nullable - ReadableMap getMap(@Nonnull String name); + ReadableMap getMap(@NonNull String name); - @Nonnull - Dynamic getDynamic(@Nonnull String name); + @NonNull + Dynamic getDynamic(@NonNull String name); - @Nonnull - ReadableType getType(@Nonnull String name); + @NonNull + ReadableType getType(@NonNull String name); - @Nonnull + @NonNull Iterator> getEntryIterator(); - @Nonnull + @NonNull ReadableMapKeySetIterator keySetIterator(); - @Nonnull + @NonNull HashMap toHashMap(); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java index d251e9b2a1b..39b1cce5ab3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java @@ -6,13 +6,13 @@ */ package com.facebook.react.bridge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; import java.util.ArrayList; import java.util.Arrays; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Implementation of a NativeArray that allows read-only access to its members. This will generally @@ -112,12 +112,12 @@ public class ReadableNativeArray extends NativeArray implements ReadableArray { } @Override - public @Nonnull ReadableType getType(int index) { + public @NonNull ReadableType getType(int index) { return getLocalTypeArray()[index]; } @Override - public @Nonnull Dynamic getDynamic(int index) { + public @NonNull Dynamic getDynamic(int index) { return DynamicFromArray.create(this, index); } @@ -136,7 +136,7 @@ public class ReadableNativeArray extends NativeArray implements ReadableArray { } @Override - public @Nonnull ArrayList toArrayList() { + public @NonNull ArrayList toArrayList() { ArrayList arrayList = new ArrayList<>(); for (int i = 0; i < this.size(); i++) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java index be4691f08e1..831b27952eb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java @@ -6,14 +6,14 @@ */ package com.facebook.react.bridge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Implementation of a read-only map in native memory. This will generally be constructed and filled @@ -64,7 +64,7 @@ public class ReadableNativeMap extends NativeMap implements ReadableMap { private native Object[] importValues(); - private @Nonnull HashMap getLocalTypeMap() { + private @NonNull HashMap getLocalTypeMap() { if (mLocalTypeMap != null) { return mLocalTypeMap; } @@ -90,19 +90,19 @@ public class ReadableNativeMap extends NativeMap implements ReadableMap { private native Object[] importTypes(); @Override - public boolean hasKey(@Nonnull String name) { + public boolean hasKey(@NonNull String name) { return getLocalMap().containsKey(name); } @Override - public boolean isNull(@Nonnull String name) { + public boolean isNull(@NonNull String name) { if (getLocalMap().containsKey(name)) { return getLocalMap().get(name) == null; } throw new NoSuchKeyException(name); } - private @Nonnull Object getValue(@Nonnull String name) { + private @NonNull Object getValue(@NonNull String name) { if (hasKey(name) && !(isNull(name))) { return Assertions.assertNotNull(getLocalMap().get(name)); } @@ -141,38 +141,38 @@ public class ReadableNativeMap extends NativeMap implements ReadableMap { } @Override - public boolean getBoolean(@Nonnull String name) { + public boolean getBoolean(@NonNull String name) { return getValue(name, Boolean.class).booleanValue(); } @Override - public double getDouble(@Nonnull String name) { + public double getDouble(@NonNull String name) { return getValue(name, Double.class).doubleValue(); } @Override - public int getInt(@Nonnull String name) { + public int getInt(@NonNull String name) { // All numbers coming out of native are doubles, so cast here then truncate return getValue(name, Double.class).intValue(); } @Override - public @Nullable String getString(@Nonnull String name) { + public @Nullable String getString(@NonNull String name) { return getNullableValue(name, String.class); } @Override - public @Nullable ReadableArray getArray(@Nonnull String name) { + public @Nullable ReadableArray getArray(@NonNull String name) { return getNullableValue(name, ReadableArray.class); } @Override - public @Nullable ReadableNativeMap getMap(@Nonnull String name) { + public @Nullable ReadableNativeMap getMap(@NonNull String name) { return getNullableValue(name, ReadableNativeMap.class); } @Override - public @Nonnull ReadableType getType(@Nonnull String name) { + public @NonNull ReadableType getType(@NonNull String name) { if (getLocalTypeMap().containsKey(name)) { return Assertions.assertNotNull(getLocalTypeMap().get(name)); } @@ -180,17 +180,17 @@ public class ReadableNativeMap extends NativeMap implements ReadableMap { } @Override - public @Nonnull Dynamic getDynamic(@Nonnull String name) { + public @NonNull Dynamic getDynamic(@NonNull String name) { return DynamicFromMap.create(this, name); } @Override - public @Nonnull Iterator> getEntryIterator() { + public @NonNull Iterator> getEntryIterator() { return getLocalMap().entrySet().iterator(); } @Override - public @Nonnull ReadableMapKeySetIterator keySetIterator() { + public @NonNull ReadableMapKeySetIterator keySetIterator() { return new ReadableNativeMapKeySetIterator(this); } @@ -209,7 +209,7 @@ public class ReadableNativeMap extends NativeMap implements ReadableMap { } @Override - public @Nonnull HashMap toHashMap() { + public @NonNull HashMap toHashMap() { // we can almost just return getLocalMap(), but we need to convert nested arrays and maps to the // correct types first HashMap hashMap = new HashMap<>(getLocalMap()); diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java index 4df3d3fa2cc..602d9f7f7b5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java @@ -6,7 +6,7 @@ */ package com.facebook.react.bridge; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * Utility class to make assertions that should not hard-crash the app but instead be handled by the diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java index d7e42ae69fc..66a62addaf7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java @@ -7,7 +7,7 @@ package com.facebook.react.bridge; import android.view.View; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; public interface UIManager extends JSIModule, PerformanceCounter { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java index 38bf74fb2fc..d05bfa57bf0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java @@ -8,7 +8,7 @@ package com.facebook.react.bridge; import android.os.Handler; import android.os.Looper; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** Utility for interacting with the UI thread. */ public class UiThreadUtil { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.java index 23b9e4ea173..3c1b015f770 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.java @@ -6,7 +6,7 @@ */ package com.facebook.react.bridge; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** Interface for a mutable array. Used to pass arguments from Java to JS. */ public interface WritableArray extends ReadableArray { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.java index ae52b9043c4..add7a5fca6a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.java @@ -6,27 +6,27 @@ */ package com.facebook.react.bridge; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /** Interface for a mutable map. Used to pass arguments from Java to JS. */ public interface WritableMap extends ReadableMap { - void putNull(@Nonnull String key); + void putNull(@NonNull String key); - void putBoolean(@Nonnull String key, boolean value); + void putBoolean(@NonNull String key, boolean value); - void putDouble(@Nonnull String key, double value); + void putDouble(@NonNull String key, double value); - void putInt(@Nonnull String key, int value); + void putInt(@NonNull String key, int value); - void putString(@Nonnull String key, @Nullable String value); + void putString(@NonNull String key, @Nullable String value); - void putArray(@Nonnull String key, @Nullable ReadableArray value); + void putArray(@NonNull String key, @Nullable ReadableArray value); - void putMap(@Nonnull String key, @Nullable ReadableMap value); + void putMap(@NonNull String key, @Nullable ReadableMap value); - void merge(@Nonnull ReadableMap source); + void merge(@NonNull ReadableMap source); WritableMap copy(); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java index 3e0751ece41..dc09c3866d0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java @@ -6,10 +6,10 @@ */ package com.facebook.react.bridge; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import javax.annotation.Nullable; /** * Implementation of a write-only array stored in native memory. Use {@link Arguments#createArray()} diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java index 87d6916f88f..50d8834f17c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java @@ -7,11 +7,10 @@ package com.facebook.react.bridge; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Implementation of a write-only map stored in native memory. Use {@link Arguments#createMap()} if @@ -24,23 +23,22 @@ public class WritableNativeMap extends ReadableNativeMap implements WritableMap } @Override - public native void putBoolean(@Nonnull String key, boolean value); + public native void putBoolean(@NonNull String key, boolean value); @Override - public native void putDouble(@Nonnull String key, double value); + public native void putDouble(@NonNull String key, double value); @Override - public native void putInt(@Nonnull String key, int value); - - @Override - public native void putString(@Nonnull String key, @Nullable String value); + public native void putInt(@NonNull String key, int value); @Override public native void putNull(@NonNull String key); - // Note: this consumes the map so do not reuse it. @Override - public void putMap(@Nonnull String key, @Nullable ReadableMap value) { + public native void putString(@NonNull String key, @Nullable String value); + + @Override + public void putMap(@NonNull String key, @Nullable ReadableMap value) { Assertions.assertCondition( value == null || value instanceof WritableNativeMap, "Illegal type provided"); putNativeMap(key, (WritableNativeMap) value); @@ -48,7 +46,7 @@ public class WritableNativeMap extends ReadableNativeMap implements WritableMap // Note: this consumes the map so do not reuse it. @Override - public void putArray(@Nonnull String key, @Nullable ReadableArray value) { + public void putArray(@NonNull String key, @Nullable ReadableArray value) { Assertions.assertCondition( value == null || value instanceof WritableNativeArray, "Illegal type provided"); putNativeArray(key, (WritableNativeArray) value); @@ -56,7 +54,7 @@ public class WritableNativeMap extends ReadableNativeMap implements WritableMap // Note: this **DOES NOT** consume the source map @Override - public void merge(@Nonnull ReadableMap source) { + public void merge(@NonNull ReadableMap source) { Assertions.assertCondition(source instanceof ReadableNativeMap, "Illegal type provided"); mergeNativeMap((ReadableNativeMap) source); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java index e00b217db96..167f7f6a0d2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java @@ -7,8 +7,8 @@ package com.facebook.react.bridge.queue; import android.os.Build; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; -import javax.annotation.Nullable; /** * Spec for creating a ReactQueueConfiguration. This exists so that CatalystInstance is able to set diff --git a/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java b/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java index 9e19c9042fc..4a3187b0faf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +++ b/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java @@ -8,8 +8,8 @@ package com.facebook.react.common; import android.net.Uri; import android.text.TextUtils; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; -import javax.annotation.Nullable; import org.json.JSONException; import org.json.JSONObject; diff --git a/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java b/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java index cbb32cbbab0..43c4c0ac42a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +++ b/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java @@ -10,9 +10,9 @@ import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; /** Listens for the user shaking their phone. Allocation-less once it starts listening. */ public class ShakeDetector implements SensorEventListener { diff --git a/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java b/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java index 16e96ae9c51..ee8371a0ee6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java @@ -6,8 +6,8 @@ */ package com.facebook.react.common; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; -import javax.annotation.Nullable; /** Simple class for asserting that operations only run on a single thread. */ public class SingleThreadAsserter { diff --git a/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java b/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java index 2e86489fc58..4cb7f603119 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +++ b/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java @@ -6,12 +6,12 @@ */ package com.facebook.react.common.futures; +import androidx.annotation.Nullable; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import javax.annotation.Nullable; /** * A super simple Future-like class that can safely notify another Thread when a value is ready. diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK index 3e81898d223..2395f4309db 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK @@ -6,7 +6,6 @@ rn_android_library( is_androidx = True, manifest = "AndroidManifest.xml", provided_deps = [ - react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/android/androidx:core"), react_native_dep("third-party/android/androidx:fragment"), react_native_dep("third-party/android/androidx:legacy-support-core-ui"), @@ -16,6 +15,7 @@ rn_android_library( "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), @@ -46,6 +46,7 @@ rn_android_library( "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), react_native_target("java/com/facebook/react/modules/debug:interfaces"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDeltaClient.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDeltaClient.java index be3baa037b8..5dceb37de0e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDeltaClient.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDeltaClient.java @@ -8,13 +8,13 @@ package com.facebook.react.devsupport; import android.util.JsonReader; import android.util.Pair; +import androidx.annotation.Nullable; import com.facebook.react.bridge.NativeDeltaClient; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.TreeMap; -import javax.annotation.Nullable; import okhttp3.Headers; import okio.BufferedSource; diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java index dbc1678c9ab..6478591c588 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java @@ -8,6 +8,7 @@ package com.facebook.react.devsupport; import android.util.Log; import android.util.Pair; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.NativeDeltaClient; @@ -19,7 +20,6 @@ import java.io.IOException; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.annotation.Nullable; import okhttp3.Call; import okhttp3.Callback; import okhttp3.Headers; diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java index 653a2fb8736..7f4f6e0e8cd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java @@ -17,11 +17,11 @@ import android.os.Build; import android.provider.Settings; import android.view.WindowManager; import android.widget.FrameLayout; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.common.ReactConstants; -import javax.annotation.Nullable; /** * Helper class for controlling overlay view with FPS and JS FPS info that gets added directly diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java index 06a09d49516..80d327592b6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java @@ -16,6 +16,7 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.widget.PopupWindow; import android.widget.TextView; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.R; import com.facebook.react.bridge.UiThreadUtil; @@ -23,7 +24,6 @@ import com.facebook.react.common.ReactConstants; import java.net.MalformedURLException; import java.net.URL; import java.util.Locale; -import javax.annotation.Nullable; /** Controller to display loading messages on top of the screen. All methods are thread safe. */ public class DevLoadingViewController { diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java index d35dead80c2..09681da38cf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java @@ -11,6 +11,7 @@ import android.os.AsyncTask; import android.os.Handler; import android.os.Looper; import android.widget.Toast; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.R; @@ -35,7 +36,6 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; import okhttp3.Call; import okhttp3.Callback; import okhttp3.ConnectionPool; diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java index c0d40285bec..05a5e123db0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java @@ -7,12 +7,12 @@ package com.facebook.react.devsupport; import android.content.Context; +import androidx.annotation.Nullable; import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener; import com.facebook.react.devsupport.interfaces.DevSupportManager; import com.facebook.react.packagerconnection.RequestHandler; import java.lang.reflect.Constructor; import java.util.Map; -import javax.annotation.Nullable; /** * A simple factory that creates instances of {@link DevSupportManager} implementations. Uses diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java index 363cf2a9d07..09de892ecdf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java @@ -6,6 +6,7 @@ */ package com.facebook.react.devsupport; +import androidx.annotation.Nullable; import com.facebook.react.bridge.DefaultNativeModuleCallExceptionHandler; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReadableArray; @@ -16,7 +17,6 @@ import com.facebook.react.devsupport.interfaces.PackagerStatusCallback; import com.facebook.react.devsupport.interfaces.StackFrame; import com.facebook.react.modules.debug.interfaces.DeveloperSettings; import java.io.File; -import javax.annotation.Nullable; /** * A dummy implementation of {@link DevSupportManager} to be used in production mode where diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java index 82b357313c2..228b4177239 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java @@ -8,6 +8,7 @@ package com.facebook.react.devsupport; import android.os.AsyncTask; import android.os.Handler; import android.os.Looper; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Inspector; import java.io.IOException; @@ -15,7 +16,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; 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 e5e46d62d53..350acef7769 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java @@ -6,13 +6,13 @@ */ package com.facebook.react.devsupport; +import androidx.annotation.Nullable; 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.module.annotations.ReactModule; import java.io.File; -import javax.annotation.Nullable; // This module is being called only by Java via the static method "captureHeap" that // requires it to alreay be initialized, thus we eagerly initialize this module diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java index f2bae2f1ec8..69358462e3e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java @@ -9,6 +9,7 @@ package com.facebook.react.devsupport; import android.util.JsonReader; import android.util.JsonToken; import android.util.JsonWriter; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.common.JavascriptException; @@ -19,7 +20,6 @@ import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import javax.annotation.Nullable; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java index dcd9b5ed166..16c38e0a38d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java @@ -7,6 +7,7 @@ package com.facebook.react.devsupport; import android.util.Pair; import android.view.View; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; @@ -14,7 +15,6 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.module.annotations.ReactModule; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; @ReactModule(name = JSDevSupport.MODULE_NAME) public class JSDevSupport extends ReactContextBaseJavaModule { diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceManagerDevHelper.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceManagerDevHelper.java index bac19a8919f..f9ce6a706ea 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceManagerDevHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceManagerDevHelper.java @@ -7,9 +7,9 @@ package com.facebook.react.devsupport; import android.app.Activity; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JavaJSExecutor; import com.facebook.react.bridge.NativeDeltaClient; -import javax.annotation.Nullable; /** * Interface used by {@link DevSupportManager} for accessing some fields and methods of {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialog.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialog.java index e4d82f47311..bf509d33455 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialog.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialog.java @@ -24,6 +24,7 @@ import android.widget.Button; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.R; @@ -32,7 +33,6 @@ import com.facebook.react.common.ReactConstants; import com.facebook.react.devsupport.RedBoxHandler.ReportCompletedListener; import com.facebook.react.devsupport.interfaces.DevSupportManager; import com.facebook.react.devsupport.interfaces.StackFrame; -import javax.annotation.Nullable; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java index b6bf202cd20..4d8bff01233 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java @@ -6,6 +6,7 @@ */ package com.facebook.react.devsupport; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReadableType; @@ -14,7 +15,6 @@ import com.facebook.react.devsupport.interfaces.StackFrame; import java.io.File; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.annotation.Nullable; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java index 041c4143a3b..ea7c7586106 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java @@ -8,12 +8,12 @@ package com.facebook.react.devsupport; import android.os.Handler; import android.os.Looper; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.JavaJSExecutor; import java.util.HashMap; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicInteger; -import javax.annotation.Nullable; /** Executes JS remotely via the react nodejs server as a proxy to a browser on the host machine. */ public class WebsocketJavaScriptExecutor implements JavaJSExecutor { diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java index 3338975cca7..8ddd20af41c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java @@ -6,8 +6,8 @@ */ package com.facebook.react.devsupport.interfaces; +import androidx.annotation.Nullable; import com.facebook.react.bridge.NativeDeltaClient; -import javax.annotation.Nullable; public interface DevBundleDownloadListener { void onSuccess(@Nullable NativeDeltaClient nativeDeltaClient); diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java index c30c9939558..360b76c04e7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java @@ -6,12 +6,12 @@ */ package com.facebook.react.devsupport.interfaces; +import androidx.annotation.Nullable; import com.facebook.react.bridge.NativeModuleCallExceptionHandler; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.modules.debug.interfaces.DeveloperSettings; import java.io.File; -import javax.annotation.Nullable; /** * Interface for accessing and interacting with development features. In dev mode, use the diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java index f9fa3de0fa8..f5ee0838368 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java @@ -13,6 +13,7 @@ import static com.facebook.react.uimanager.events.TouchesHelper.TOP_TOUCH_END_KE import static com.facebook.react.uimanager.events.TouchesHelper.TOUCHES_KEY; import android.util.Pair; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableArray; @@ -24,7 +25,6 @@ import com.facebook.react.uimanager.events.RCTEventEmitter; import com.facebook.systrace.Systrace; import java.util.HashSet; import java.util.Set; -import javax.annotation.Nullable; public class FabricEventEmitter implements RCTEventEmitter { diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewFactory.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewFactory.java index 073e7cd9db5..3fe6a13b4ea 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewFactory.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewFactory.java @@ -7,10 +7,10 @@ package com.facebook.react.fabric.mounting; import android.view.View; +import androidx.annotation.Nullable; import com.facebook.react.uimanager.ReactStylesDiffMap; import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.ThemedReactContext; -import javax.annotation.Nullable; public interface ViewFactory { diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewManagerFactory.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewManagerFactory.java index 78766965b72..9d01df98d1d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewManagerFactory.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/ViewManagerFactory.java @@ -7,12 +7,12 @@ package com.facebook.react.fabric.mounting; import android.view.View; +import androidx.annotation.Nullable; import androidx.annotation.UiThread; import com.facebook.react.uimanager.ReactStylesDiffMap; import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ViewManagerRegistry; -import javax.annotation.Nullable; public class ViewManagerFactory implements ViewFactory { diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java index 90058e1a5bf..4e257bc3c67 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java @@ -16,6 +16,7 @@ import android.os.Looper; import android.provider.Settings; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.LifecycleEventListener; import com.facebook.react.bridge.ReactApplicationContext; @@ -23,7 +24,6 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.core.DeviceEventManagerModule; -import javax.annotation.Nullable; /** * Module that monitors and provides information about the state of Touch Exploration service on the diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK index be524187663..cd5151c836e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "accessibilityinfo", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK index 75929307c49..cdbfb8b48cd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "camera", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), 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 2d5826bdc6a..b07abea1067 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 @@ -19,6 +19,7 @@ import android.os.Environment; import android.provider.MediaStore; import android.provider.MediaStore.Images; import android.text.TextUtils; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.GuardedAsyncTask; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; @@ -47,7 +48,6 @@ import java.nio.channels.FileChannel; import java.nio.channels.ReadableByteChannel; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; // TODO #6015104: rename to something less iOSish /** 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 bbf7f9e0a44..5d0ef6e77a9 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 @@ -19,6 +19,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.provider.MediaStore; import android.text.TextUtils; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.Callback; @@ -43,7 +44,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** Native module that provides image cropping functionality. */ @ReactModule(name = ImageEditingManager.NAME) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK index 57580c41a7f..dea0d2cdbf3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "core", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), 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 e7935399b98..6a9ae95c62f 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 @@ -7,6 +7,8 @@ package com.facebook.react.modules.core; import android.net.Uri; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.ReactApplicationContext; @@ -15,8 +17,6 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.bridge.WritableMap; import com.facebook.react.module.annotations.ReactModule; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** Native module that handles device hardware events like hardware back presses. */ @ReactModule(name = DeviceEventManagerModule.NAME) @@ -24,7 +24,7 @@ public class DeviceEventManagerModule extends ReactContextBaseJavaModule { public static final String NAME = "DeviceEventManager"; public interface RCTDeviceEventEmitter extends JavaScriptModule { - void emit(@Nonnull String eventName, @Nullable Object data); + void emit(@NonNull String eventName, @Nullable Object data); } private final Runnable mInvokeDefaultBackPressRunnable; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java index 7ecd4cd7ff7..00d0eff9dec 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java @@ -6,8 +6,8 @@ */ package com.facebook.react.modules.core; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JavaScriptModule; -import javax.annotation.Nullable; /** Module that handles global application events. */ public interface RCTNativeAppEventEmitter extends JavaScriptModule { diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java index 16d5bab29c5..550a375f709 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java @@ -6,12 +6,12 @@ */ package com.facebook.react.modules.core; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.common.ReactConstants; import java.util.ArrayDeque; -import javax.annotation.Nullable; import javax.annotation.concurrent.GuardedBy; /** 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 58f2fd31795..38be3109244 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 @@ -7,6 +7,7 @@ package com.facebook.react.modules.core; import android.util.SparseArray; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.LifecycleEventListener; import com.facebook.react.bridge.ReactApplicationContext; @@ -22,7 +23,6 @@ import com.facebook.react.module.annotations.ReactModule; import java.util.Comparator; import java.util.PriorityQueue; import java.util.concurrent.atomic.AtomicBoolean; -import javax.annotation.Nullable; /** Native module for JS timer execution. Timers fire on frame boundaries. */ @ReactModule(name = Timing.NAME) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java b/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java index 35677067b3d..4bbbe05b777 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java @@ -17,10 +17,10 @@ import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.widget.DatePicker; +import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; import java.util.Calendar; import java.util.Locale; -import javax.annotation.Nullable; @SuppressLint("ValidFragment") public class DatePickerDialogFragment extends DialogFragment { 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 535ca4178cc..331c107356f 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 @@ -11,14 +11,14 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnDismissListener; import android.os.Bundle; import android.widget.DatePicker; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import com.facebook.react.bridge.*; import com.facebook.react.common.annotations.VisibleForTesting; import com.facebook.react.module.annotations.ReactModule; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * {@link NativeModule} that allows JS to show a native date picker dialog and get called back when @@ -44,7 +44,7 @@ public class DatePickerDialogModule extends ReactContextBaseJavaModule { } @Override - public @Nonnull String getName() { + public @NonNull String getName() { return DatePickerDialogModule.FRAGMENT_TAG; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java b/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java index 65398f7c745..85b3abb9567 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java @@ -12,9 +12,9 @@ import android.content.res.TypedArray; import android.os.Build; import android.util.AttributeSet; import android.widget.DatePicker; +import androidx.annotation.Nullable; import java.lang.reflect.Field; import java.lang.reflect.Method; -import javax.annotation.Nullable; /** * Certain versions of Android (Jellybean-KitKat) have a bug where when dismissed, the {@link 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 be7e2c20378..6c5d7f2273c 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 @@ -7,6 +7,7 @@ package com.facebook.react.modules.debug; import android.widget.Toast; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.JSApplicationCausedNativeException; import com.facebook.react.bridge.ReactApplicationContext; @@ -16,7 +17,6 @@ import com.facebook.react.common.ReactConstants; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.debug.interfaces.DeveloperSettings; import java.util.Locale; -import javax.annotation.Nullable; /** * Module that records debug information during transitions (animated navigation events such as diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK index 36fde2d1993..a4fc63b6ad7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "debug", srcs = glob(["*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java index 00ae7549eb7..1366a6fe694 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java @@ -6,6 +6,7 @@ */ package com.facebook.react.modules.debug; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.UiThreadUtil; @@ -13,7 +14,6 @@ import com.facebook.react.modules.core.ChoreographerCompat; import com.facebook.react.uimanager.UIManagerModule; import java.util.Map; import java.util.TreeMap; -import javax.annotation.Nullable; /** * Each time a frame is drawn, records whether it should have expected any more callbacks since the 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 03ffb7de026..d3ac8526999 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 @@ -6,13 +6,13 @@ */ package com.facebook.react.modules.debug; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactContext; import com.facebook.react.module.annotations.ReactModule; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; /** * Module that exposes the URL to the source code map (used for exception stack trace parsing) to JS diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK index e44249ce319..2a22a0b8aaf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "deviceinfo", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), react_native_target("java/com/facebook/react/common:common"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java index ab7c80c4397..d86062afd7d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java @@ -7,6 +7,7 @@ package com.facebook.react.modules.deviceinfo; import android.content.Context; +import androidx.annotation.Nullable; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.LifecycleEventListener; import com.facebook.react.bridge.ReactApplicationContext; @@ -16,7 +17,6 @@ import com.facebook.react.turbomodule.core.interfaces.TurboModule; import com.facebook.react.uimanager.DisplayMetricsHolder; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; /** Module that exposes Android Constants to JS. */ @ReactModule(name = DeviceInfoModule.NAME) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java b/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java index 96ab234555f..3047cf7ed0c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java @@ -12,8 +12,8 @@ import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; +import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; -import javax.annotation.Nullable; /** A fragment used to display the dialog. */ public class AlertFragment extends DialogFragment implements DialogInterface.OnClickListener { 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 4621f493669..e8fee2f295b 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 @@ -11,6 +11,8 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnDismissListener; import android.os.Bundle; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import com.facebook.common.logging.FLog; @@ -26,8 +28,6 @@ import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.common.MapBuilder; import com.facebook.react.module.annotations.ReactModule; import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; @ReactModule(name = DialogModule.NAME) public class DialogModule extends ReactContextBaseJavaModule implements LifecycleEventListener { @@ -62,16 +62,16 @@ public class DialogModule extends ReactContextBaseJavaModule implements Lifecycl } @Override - public @Nonnull String getName() { + public @NonNull String getName() { return NAME; } private class FragmentManagerHelper { - private final @Nonnull FragmentManager mFragmentManager; + private final @NonNull FragmentManager mFragmentManager; private @Nullable Object mFragmentToShow; - public FragmentManagerHelper(@Nonnull FragmentManager fragmentManager) { + public FragmentManagerHelper(@NonNull FragmentManager fragmentManager) { mFragmentManager = fragmentManager; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK index e7bda3dfae8..95014055aaf 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "image", srcs = glob(["*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fresco/fresco-react-native:fbcore"), react_native_dep("libraries/fresco/fresco-react-native:fresco-drawee"), react_native_dep("libraries/fresco/fresco-react-native:fresco-react-native"), 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 1818baa271b..888bd086669 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 @@ -8,6 +8,7 @@ package com.facebook.react.modules.image; import android.net.Uri; import android.util.SparseArray; +import androidx.annotation.Nullable; import com.facebook.common.executors.CallerThreadExecutor; import com.facebook.common.references.CloseableReference; import com.facebook.datasource.BaseDataSubscriber; @@ -31,7 +32,6 @@ import com.facebook.react.bridge.WritableMap; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.fresco.ReactNetworkImageRequest; import com.facebook.react.views.imagehelper.ImageSource; -import javax.annotation.Nullable; @ReactModule(name = ImageLoaderModule.NAME) public class ImageLoaderModule extends ReactContextBaseJavaModule diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK index da676d6876a..99e3d164618 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "intent", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), 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 fc5dc82ea11..4bf5f5448de 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 @@ -13,6 +13,7 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.nfc.NfcAdapter; import android.provider.Settings; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; @@ -22,7 +23,6 @@ import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReadableType; import com.facebook.react.module.annotations.ReactModule; -import javax.annotation.Nullable; /** Intent module. Launch other activities or open URLs. */ @ReactModule(name = IntentModule.NAME) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK index 9e0f1a24874..c9c10b190f0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK @@ -3,6 +3,7 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "network", srcs = glob(["**/*.java"]), + is_androidx = True, provided_deps = [ react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/android/androidx:core"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index dc7d4a457c2..e4d801a789b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -15,6 +15,7 @@ import android.text.TextUtils; import android.webkit.CookieManager; import android.webkit.CookieSyncManager; import android.webkit.ValueCallback; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.GuardedAsyncTask; import com.facebook.react.bridge.GuardedResultAsyncTask; @@ -25,7 +26,6 @@ import java.net.URI; import java.util.Collections; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** * Cookie handler that forwards all cookies to the WebView CookieManager. 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 22b1e5daf52..444c893989d 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 @@ -8,6 +8,7 @@ package com.facebook.react.modules.network; import android.net.Uri; import android.util.Base64; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.GuardedAsyncTask; @@ -29,7 +30,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; import okhttp3.Call; import okhttp3.Callback; import okhttp3.CookieJar; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java index eb495c48368..c2691af61d4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java @@ -8,6 +8,7 @@ package com.facebook.react.modules.network; import android.content.Context; import android.os.Build; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import java.io.File; import java.security.Provider; @@ -15,7 +16,6 @@ import java.security.Security; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; import okhttp3.Cache; import okhttp3.ConnectionSpec; import okhttp3.OkHttpClient; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java index 6e219cfaa3f..f3ef4f9a28a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java @@ -5,8 +5,8 @@ package com.facebook.react.modules.network; +import androidx.annotation.Nullable; import java.io.IOException; -import javax.annotation.Nullable; import okhttp3.MediaType; import okhttp3.ResponseBody; import okio.Buffer; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java index ffca72e91d4..8818f0618bb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java @@ -6,10 +6,10 @@ */ package com.facebook.react.modules.network; +import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import javax.annotation.Nullable; import okhttp3.Cookie; import okhttp3.CookieJar; import okhttp3.Headers; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java index 26b409bc41b..612f7768563 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java @@ -8,6 +8,7 @@ package com.facebook.react.modules.network; import android.content.Context; import android.net.Uri; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.common.ReactConstants; import java.io.ByteArrayOutputStream; @@ -21,7 +22,6 @@ import java.net.URL; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; import java.util.zip.GZIPOutputStream; -import javax.annotation.Nullable; import okhttp3.MediaType; import okhttp3.RequestBody; import okhttp3.internal.Util; 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 046db432185..bd0762b25af 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 @@ -15,6 +15,7 @@ import android.os.Build; import android.view.View; import android.view.WindowInsets; import android.view.WindowManager; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.GuardedRunnable; @@ -28,7 +29,6 @@ import com.facebook.react.common.ReactConstants; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.PixelUtil; import java.util.Map; -import javax.annotation.Nullable; /** {@link NativeModule} that allows changing the appearance of the status bar. */ @ReactModule(name = StatusBarModule.NAME) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java index 5c150eb902e..122ab0ac97e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java @@ -14,10 +14,10 @@ import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.text.TextUtils; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; import java.util.Arrays; import java.util.Iterator; -import javax.annotation.Nullable; import org.json.JSONException; import org.json.JSONObject; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java index a979f8a0b62..7d2317439fb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java @@ -6,9 +6,9 @@ */ package com.facebook.react.modules.storage; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.WritableMap; -import javax.annotation.Nullable; /** Helper class for database errors. */ public class AsyncStorageErrorUtil { diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK index 237ba8a039e..518b61d7323 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "storage", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java index 1f539bbc411..fbb26589ded 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java @@ -10,9 +10,9 @@ import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.common.ReactConstants; -import javax.annotation.Nullable; /** * Database supplier of the database used by react native. This creates, opens and deletes the 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 1d53f6987b5..ef2ae931d9f 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 @@ -14,6 +14,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.os.Build; import android.provider.Settings.Secure; +import androidx.annotation.Nullable; import com.facebook.react.R; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; @@ -23,7 +24,6 @@ import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.turbomodule.core.interfaces.TurboModule; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; /** Module that exposes Android Constants to JS. */ @ReactModule(name = AndroidInfoModule.NAME) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK index 934de8ce659..2611bb14bf5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK @@ -6,11 +6,13 @@ rn_android_library( "AndroidInfoModule.java", "ReactNativeVersion.java", ], + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ react_native_dep("third-party/java/jsr-305:jsr-305"), + react_native_dep("third-party/android/androidx:annotation"), react_native_target("java/com/facebook/react/bridge:bridge"), react_native_target("java/com/facebook/react/common:common"), react_native_target("java/com/facebook/react/module/annotations:annotations"), @@ -27,6 +29,7 @@ rn_android_library( srcs = [ "AndroidInfoHelpers.java", ], + is_androidx = True, visibility = [ "PUBLIC", ], diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/DismissableTimePickerDialog.java b/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/DismissableTimePickerDialog.java index f1216965730..56c261a7199 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/DismissableTimePickerDialog.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/DismissableTimePickerDialog.java @@ -9,7 +9,7 @@ package com.facebook.react.modules.timepicker; import android.app.TimePickerDialog; import android.content.Context; import android.os.Build; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * Certain versions of Android (Jellybean-KitKat) have a bug where when dismissed, the {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogFragment.java b/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogFragment.java index 5e7e1b18823..ed408241e6d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogFragment.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/timepicker/TimePickerDialogFragment.java @@ -14,10 +14,10 @@ import android.content.DialogInterface.OnDismissListener; import android.os.Build; import android.os.Bundle; import android.text.format.DateFormat; +import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; import java.util.Calendar; import java.util.Locale; -import javax.annotation.Nullable; @SuppressWarnings("ValidFragment") public class TimePickerDialogFragment extends DialogFragment { 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 52ae9ddddbd..5d3e8c5eea2 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,6 +11,7 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnDismissListener; import android.os.Bundle; import android.widget.TimePicker; +import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; @@ -24,7 +25,6 @@ import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; import com.facebook.react.common.annotations.VisibleForTesting; import com.facebook.react.module.annotations.ReactModule; -import javax.annotation.Nullable; /** * {@link NativeModule} that allows JS to show a native time picker dialog and get called back when diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK index 22b82d1099c..aff006132f7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_tar rn_android_library( name = "websocket", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), 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 ed263573069..bfc83f6aff7 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 @@ -6,6 +6,7 @@ */ package com.facebook.react.modules.websocket; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.ReactApplicationContext; @@ -29,7 +30,6 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK index 50ffba0ad27..00c073456a8 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK @@ -5,10 +5,12 @@ rn_android_library( srcs = glob( ["**/*.java"], ), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("java/com/facebook/jni:jni"), react_native_dep("java/com/facebook/proguard/annotations:annotations"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java index 4f7b6defa06..a416f27b355 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java @@ -9,6 +9,7 @@ package com.facebook.react.packagerconnection; import android.os.Handler; import android.os.Looper; import android.util.Base64; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -16,7 +17,6 @@ import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import javax.annotation.Nullable; import org.json.JSONObject; public class FileIoHandler implements Runnable { diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java index 7b2cd502885..d4dfbef2989 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java @@ -7,10 +7,10 @@ package com.facebook.react.packagerconnection; import android.net.Uri; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.modules.systeminfo.AndroidInfoHelpers; import java.util.Map; -import javax.annotation.Nullable; import okio.ByteString; import org.json.JSONObject; diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java index 0a89532116b..6342111d644 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java @@ -6,8 +6,8 @@ */ package com.facebook.react.packagerconnection; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; -import javax.annotation.Nullable; public abstract class NotificationOnlyHandler implements RequestHandler { private static final String TAG = JSPackagerClient.class.getSimpleName(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java index 6e0c81f6819..79be6b59542 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java @@ -10,10 +10,10 @@ import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.text.TextUtils; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.modules.systeminfo.AndroidInfoHelpers; -import javax.annotation.Nullable; public class PackagerConnectionSettings { private static final String TAG = PackagerConnectionSettings.class.getSimpleName(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java index 79781ea0784..cd22fb1355f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java @@ -8,11 +8,11 @@ package com.facebook.react.packagerconnection; import android.os.Handler; import android.os.Looper; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import java.io.IOException; import java.nio.channels.ClosedChannelException; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestHandler.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestHandler.java index bd6012f6b53..b5cb283db1a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestHandler.java @@ -6,7 +6,7 @@ */ package com.facebook.react.packagerconnection; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; public interface RequestHandler { void onRequest(@Nullable Object params, Responder responder); diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java index 7e7ef505fe3..29949acec1e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java @@ -6,8 +6,8 @@ */ package com.facebook.react.packagerconnection; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; -import javax.annotation.Nullable; public abstract class RequestOnlyHandler implements RequestHandler { private static final String TAG = JSPackagerClient.class.getSimpleName(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK b/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK index f88f4fe679b..208499085a4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK @@ -15,9 +15,11 @@ rn_java_annotation_processor( rn_java_library( name = "processing-lib", srcs = glob(["*.java"]), + is_androidx = True, source = "7", target = "7", deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/javapoet:javapoet"), react_native_dep("third-party/java/jsr-305:jsr-305"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java b/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java index 4ebe07c820f..f3f71f3a7a6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java @@ -11,6 +11,7 @@ import static javax.lang.model.element.Modifier.PUBLIC; import static javax.tools.Diagnostic.Kind.ERROR; import static javax.tools.Diagnostic.Kind.WARNING; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.SuppressFieldNotInitialized; import com.facebook.react.bridge.Dynamic; import com.facebook.react.bridge.DynamicFromObject; @@ -36,7 +37,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; import javax.annotation.processing.AbstractProcessor; import javax.annotation.processing.Filer; import javax.annotation.processing.Messager; diff --git a/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java b/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java index 00761508e39..61ebefd96f5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java @@ -6,6 +6,7 @@ */ package com.facebook.react.shell; +import androidx.annotation.Nullable; import com.facebook.react.TurboReactPackage; import com.facebook.react.animated.NativeAnimatedModule; import com.facebook.react.bridge.NativeModule; @@ -64,7 +65,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** Package defining basic modules and view managers. */ @ReactModuleList( diff --git a/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK b/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK index 865b37c0592..bcd493aaf74 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK @@ -3,10 +3,12 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "rn_android_libra rn_android_library( name = "touch", srcs = glob(["**/*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), ], diff --git a/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.java b/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.java index e051d46816f..5c6be140658 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.java @@ -9,7 +9,7 @@ package com.facebook.react.touch; import android.view.MotionEvent; import android.view.ViewGroup; import android.view.ViewParent; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * This class coordinates JSResponder commands for {@link UIManagerModule}. It should be set as diff --git a/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.java b/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.java index 4c3cb688e8c..8366cca1ebb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.java @@ -7,7 +7,7 @@ package com.facebook.react.touch; import android.graphics.Rect; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * This interface should be implemented by all {@link View} subclasses that want to use the hitSlop diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK index 43e4ba813d5..8709f438e48 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK @@ -13,6 +13,7 @@ rn_android_library( "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("java/com/facebook/proguard/annotations:annotations"), react_native_dep("java/com/facebook/systrace:systrace"), react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java index e80ee6e169c..fb307764db8 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java @@ -2,6 +2,7 @@ package com.facebook.react.turbomodule.core; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.ReactPackage; @@ -14,7 +15,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModuleManagerDelegate { private final List mPackages = new ArrayList<>(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java index 5a8b64cb89f..455050736c9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java @@ -6,6 +6,7 @@ */ package com.facebook.react.turbomodule.core; +import androidx.annotation.Nullable; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.JSIModule; @@ -16,7 +17,6 @@ import com.facebook.react.turbomodule.core.interfaces.TurboModule; import com.facebook.react.turbomodule.core.interfaces.TurboModuleRegistry; import com.facebook.soloader.SoLoader; import java.util.*; -import javax.annotation.Nullable; /** * This is the main class and entry point for TurboModules. Note that this is a hybrid class, and diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java index a28710a2888..f5b8875749a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java @@ -6,11 +6,11 @@ */ package com.facebook.react.turbomodule.core; +import androidx.annotation.Nullable; import com.facebook.jni.HybridData; import com.facebook.react.bridge.CxxModuleWrapper; import com.facebook.react.turbomodule.core.interfaces.TurboModule; import com.facebook.soloader.SoLoader; -import javax.annotation.Nullable; public abstract class TurboModuleManagerDelegate { static { diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK index fac8ba723f9..e48328e0729 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK @@ -5,11 +5,13 @@ rn_android_library( srcs = glob( ["*.java"], ), + is_androidx = True, required_for_source_only_abi = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), ], ) diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.java b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.java index 4a4507e4d43..d0e8d7c1058 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.java +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.java @@ -6,8 +6,8 @@ */ package com.facebook.react.turbomodule.core.interfaces; +import androidx.annotation.Nullable; import java.util.Collection; -import javax.annotation.Nullable; /** Interface to allow for creating and retrieving TurboModuels. */ public interface TurboModuleRegistry { diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK index 17870c5aa5f..33eeffd0434 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK @@ -47,6 +47,7 @@ rn_android_library( ], exported_deps = [ ":DisplayMetrics", + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/uimanager/common:common"), ], @@ -58,12 +59,16 @@ rn_android_library( "DisplayMetricsHolder.java", ], is_androidx = True, + provided_deps = [ + react_native_dep("third-party/android/androidx:annotation"), + ], required_for_source_only_abi = True, visibility = [ "PUBLIC", ], deps = [ react_native_dep("third-party/java/infer-annotations:infer-annotations"), + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), ], diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java index a74994f6fac..d613f2fd3df 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java @@ -9,6 +9,8 @@ import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.view.ViewParent; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import com.facebook.react.R; import com.facebook.react.bridge.Dynamic; @@ -24,8 +26,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Base class that should be suitable for the majority of subclasses of {@link ViewManager}. It @@ -85,12 +85,12 @@ public abstract class BaseViewManager diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java index d42e47e8c9c..5ee73c48894 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java @@ -8,6 +8,8 @@ package com.facebook.react.uimanager; import android.content.Context; import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.facebook.react.bridge.BaseJavaModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReadableArray; @@ -19,8 +21,6 @@ import com.facebook.react.uimanager.annotations.ReactPropGroup; import com.facebook.react.uimanager.annotations.ReactPropertyHolder; import com.facebook.yoga.YogaMeasureMode; import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Class responsible for knowing how to create and update catalyst Views of a given type. It is also @@ -39,20 +39,20 @@ public abstract class ViewManager * @param props * @param stateWrapper */ - public void updateProperties(@Nonnull T viewToUpdate, ReactStylesDiffMap props) { + public void updateProperties(@NonNull T viewToUpdate, ReactStylesDiffMap props) { ViewManagerPropertyUpdater.updateProps(this, viewToUpdate, props); onAfterUpdateTransaction(viewToUpdate); } /** Creates a view and installs event emitters on it. */ - private final @Nonnull T createView( - @Nonnull ThemedReactContext reactContext, JSResponderHandler jsResponderHandler) { + private final @NonNull T createView( + @NonNull ThemedReactContext reactContext, JSResponderHandler jsResponderHandler) { return createView(reactContext, null, null, jsResponderHandler); } /** Creates a view with knowledge of props. */ - public @Nonnull T createView( - @Nonnull ThemedReactContext reactContext, + public @NonNull T createView( + @NonNull ThemedReactContext reactContext, @Nullable ReactStylesDiffMap props, @Nullable StateWrapper stateWrapper, JSResponderHandler jsResponderHandler) { @@ -68,7 +68,7 @@ public abstract class ViewManager * @return the name of this view manager. This will be the name used to reference this view * manager from JavaScript in createReactNativeComponentClass. */ - public abstract @Nonnull String getName(); + public abstract @NonNull String getName(); /** * This method should return a subclass of {@link ReactShadowNode} which will be then used for @@ -79,7 +79,7 @@ public abstract class ViewManager throw new RuntimeException("ViewManager subclasses must implement createShadowNodeInstance()"); } - public @Nonnull C createShadowNodeInstance(@Nonnull ReactApplicationContext context) { + public @NonNull C createShadowNodeInstance(@NonNull ReactApplicationContext context) { return createShadowNodeInstance(); } @@ -100,7 +100,7 @@ public abstract class ViewManager * * @param reactContext */ - protected abstract @Nonnull T createViewInstance(@Nonnull ThemedReactContext reactContext); + protected abstract @NonNull T createViewInstance(@NonNull ThemedReactContext reactContext); /** * Subclasses should return a new View instance of the proper type. This is an optional method @@ -109,8 +109,8 @@ public abstract class ViewManager * * @param reactContext */ - protected @Nonnull T createViewInstance( - @Nonnull ThemedReactContext reactContext, + protected @NonNull T createViewInstance( + @NonNull ThemedReactContext reactContext, @Nullable ReactStylesDiffMap initialProps, @Nullable StateWrapper stateWrapper) { T view = createViewInstance(reactContext); @@ -124,14 +124,14 @@ public abstract class ViewManager * Called when view is detached from view hierarchy and allows for some additional cleanup by the * {@link ViewManager} subclass. */ - public void onDropViewInstance(@Nonnull T view) {} + public void onDropViewInstance(@NonNull T view) {} /** * Subclasses can override this method to install custom event emitters on the given View. You * might want to override this method if your view needs to emit events besides basic touch events * to JS (e.g. scroll events). */ - protected void addEventEmitters(@Nonnull ThemedReactContext reactContext, @Nonnull T view) {} + protected void addEventEmitters(@NonNull ThemedReactContext reactContext, @NonNull T view) {} /** * Callback that will be triggered after all properties are updated in current update transaction @@ -139,7 +139,7 @@ public abstract class ViewManager * you want to override this method you should call super.onAfterUpdateTransaction from it as the * parent class of the ViewManager may rely on callback being executed. */ - protected void onAfterUpdateTransaction(@Nonnull T view) {} + protected void onAfterUpdateTransaction(@NonNull T view) {} /** * Subclasses can implement this method to receive an optional extra data enqueued from the @@ -152,7 +152,7 @@ public abstract class ViewManager * *

TODO(7247021): Replace updateExtraData with generic update props mechanism after D2086999 */ - public abstract void updateExtraData(@Nonnull T root, Object extraData); + public abstract void updateExtraData(@NonNull T root, Object extraData); /** * Subclasses may use this method to receive events/commands directly from JS through the {@link @@ -166,7 +166,7 @@ public abstract class ViewManager * @param args optional arguments for the command */ @Deprecated - public void receiveCommand(@Nonnull T root, int commandId, @Nullable ReadableArray args) {} + public void receiveCommand(@NonNull T root, int commandId, @Nullable ReadableArray args) {} /** * Subclasses may use this method to receive events/commands directly from JS through the {@link @@ -177,7 +177,7 @@ public abstract class ViewManager * @param commandId code of the command * @param args optional arguments for the command */ - public void receiveCommand(@Nonnull T root, String commandId, @Nullable ReadableArray args) {} + public void receiveCommand(@NonNull T root, String commandId, @Nullable ReadableArray args) {} /** * Subclasses of {@link ViewManager} that expect to receive commands through {@link @@ -244,7 +244,7 @@ public abstract class ViewManager } public @Nullable Object updateLocalData( - @Nonnull T view, ReactStylesDiffMap props, ReactStylesDiffMap localData) { + @NonNull T view, ReactStylesDiffMap props, ReactStylesDiffMap localData) { return null; } @@ -253,7 +253,7 @@ public abstract class ViewManager * this component type. */ public @Nullable Object updateState( - @Nonnull T view, ReactStylesDiffMap props, StateWrapper stateWrapper) { + @NonNull T view, ReactStylesDiffMap props, StateWrapper stateWrapper) { return null; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java index fb202d48e7b..1927973096d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java @@ -6,10 +6,10 @@ */ package com.facebook.react.uimanager; +import androidx.annotation.Nullable; import com.facebook.react.common.MapBuilder; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** * Class that stores the mapping between native view name used in JS and the corresponding instance diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java index f4fe8a45ee4..aeb0a41e1ba 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java @@ -6,6 +6,7 @@ package com.facebook.react.uimanager; import android.view.View; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Dynamic; import com.facebook.react.bridge.DynamicFromObject; @@ -18,7 +19,6 @@ import java.lang.reflect.Method; import java.util.Arrays; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; /** * This class is responsible for holding view manager property setters and is used in a process of diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK b/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK index 79fad4e0ffe..3ecec7beea0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK @@ -3,11 +3,13 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "rn_android_libra rn_android_library( name = "annotations", srcs = glob(["*.java"]), + is_androidx = True, required_for_source_only_abi = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), ], ) diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java index 0685c2412d2..6a32693bae9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java @@ -7,10 +7,10 @@ package com.facebook.react.uimanager.annotations; import static java.lang.annotation.RetentionPolicy.RUNTIME; +import androidx.annotation.Nullable; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.Target; -import javax.annotation.Nullable; /** * Use this annotation to annotate properties of native views that should be exposed to JS. This diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java index 55c64dccfaf..9b6840262b9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java @@ -7,10 +7,10 @@ package com.facebook.react.uimanager.annotations; import static java.lang.annotation.RetentionPolicy.RUNTIME; +import androidx.annotation.Nullable; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.Target; -import javax.annotation.Nullable; /** * Use this annotation to annotate group of properties of native views that should be exposed to JS. diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java index 8102b36da3b..f622373558e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java @@ -6,10 +6,10 @@ */ package com.facebook.react.uimanager.events; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; -import javax.annotation.Nullable; public interface RCTEventEmitter extends JavaScriptModule { void receiveEvent(int targetTag, String eventName, @Nullable WritableMap event); diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java index 5e73266613f..377bb05387c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java @@ -9,13 +9,13 @@ package com.facebook.react.uimanager.events; import static com.facebook.react.uimanager.events.TouchesHelper.TARGET_KEY; import android.util.SparseArray; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.common.UIManagerType; import com.facebook.react.uimanager.common.ViewUtil; -import javax.annotation.Nullable; public class ReactEventEmitter implements RCTEventEmitter { diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java index cd0166cfff3..19a27482bc1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java @@ -7,10 +7,10 @@ package com.facebook.react.uimanager.events; import android.view.MotionEvent; +import androidx.annotation.Nullable; import androidx.core.util.Pools; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.SoftAssertions; -import javax.annotation.Nullable; /** * An event representing the start, end or movement of a touch. Corresponds to a single {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java index 8f6eb5ab6b0..cf5fe61acad 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java @@ -13,11 +13,11 @@ import android.view.animation.BaseInterpolator; import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; import android.view.animation.LinearInterpolator; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.common.MapBuilder; import com.facebook.react.uimanager.IllegalViewOperationException; import java.util.Map; -import javax.annotation.Nullable; /** * Class responsible for parsing and converting layout animation data into native {@link Animation} diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java index 092db347283..55c3bea2ca9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java @@ -11,10 +11,10 @@ import android.util.SparseArray; import android.view.View; import android.view.ViewGroup; import android.view.animation.Animation; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.UiThreadUtil; -import javax.annotation.Nullable; import javax.annotation.concurrent.NotThreadSafe; /** diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java index 549281daa16..fbc657e9348 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java @@ -8,7 +8,7 @@ package com.facebook.react.uimanager.layoutanimation; import android.view.View; import android.view.animation.Animation; import android.view.animation.TranslateAnimation; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * Class responsible for handling layout update animation, applied to view whenever a valid config diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTGroupShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTGroupShadowNode.java index 29b98be36c8..6de587ca942 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTGroupShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTGroupShadowNode.java @@ -10,10 +10,10 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.Region; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** Shadow node for virtual ARTGroup view */ public class ARTGroupShadowNode extends ARTVirtualNode { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java index 2f3111c88d9..91c6a5b2441 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java @@ -14,12 +14,12 @@ import android.graphics.Paint; import android.graphics.Path; import android.graphics.RectF; import android.graphics.Shader; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.common.ReactConstants; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** Shadow node for virtual ARTShape view */ public class ARTShapeShadowNode extends ARTVirtualNode { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTSurfaceViewShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTSurfaceViewShadowNode.java index 576dd05facd..4d23fad0581 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTSurfaceViewShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTSurfaceViewShadowNode.java @@ -14,6 +14,7 @@ import android.graphics.SurfaceTexture; import android.os.Build; import android.view.Surface; import android.view.TextureView; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.LifecycleEventListener; import com.facebook.react.common.ReactConstants; @@ -23,7 +24,6 @@ import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.UIViewOperationQueue; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** Shadow node for ART virtual tree root - ARTSurfaceView */ public class ARTSurfaceViewShadowNode extends LayoutShadowNode diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTTextShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTTextShadowNode.java index 139ab5f6c69..2d15236ab0e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTTextShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTTextShadowNode.java @@ -10,10 +10,10 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Typeface; import android.text.TextUtils; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** Shadow node for virtual ARTText view */ public class ARTTextShadowNode extends ARTShapeShadowNode { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTVirtualNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTVirtualNode.java index 403cf21c5a8..82850161acc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTVirtualNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTVirtualNode.java @@ -9,12 +9,12 @@ package com.facebook.react.views.art; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.uimanager.DisplayMetricsHolder; import com.facebook.react.uimanager.ReactShadowNodeImpl; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** * Base class for ARTView virtual nodes: {@link ARTGroupShadowNode}, {@link ARTShapeShadowNode} and diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/art/BUCK index 23b3b7ce773..b5eae199917 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/BUCK @@ -3,11 +3,13 @@ load("//tools/build_defs/oss:rn_defs.bzl", "YOGA_TARGET", "react_native_dep", "r rn_android_library( name = "art", srcs = glob(["*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ YOGA_TARGET, + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/PropHelper.java b/ReactAndroid/src/main/java/com/facebook/react/views/art/PropHelper.java index f883211f005..4adb76cb3ba 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/PropHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/PropHelper.java @@ -6,8 +6,8 @@ */ package com.facebook.react.views.art; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; -import javax.annotation.Nullable; /** Contains static helper methods for accessing props. */ /* package */ class PropHelper { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java index bc9a8d3455c..7634e5160e6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java @@ -10,6 +10,7 @@ import android.content.Context; import android.content.res.ColorStateList; import android.util.TypedValue; import android.widget.CompoundButton; +import androidx.annotation.Nullable; import androidx.appcompat.widget.TintContextWrapper; import androidx.core.widget.CompoundButtonCompat; import com.facebook.react.bridge.ReactContext; @@ -19,7 +20,6 @@ import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** View manager for {@link ReactCheckBox} components. */ public class ReactCheckBoxManager extends SimpleViewManager { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK index a9d47513c2d..b6a8fbdbde9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK @@ -3,6 +3,7 @@ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "rn_android_libra rn_android_library( name = "common", srcs = glob(["*.java"]), + is_androidx = True, provided_deps = [ react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_dep("third-party/android/androidx:annotation"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java b/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java index 682b92395fb..f7272aefd20 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java @@ -8,7 +8,7 @@ package com.facebook.react.views.common; import android.content.Context; import android.content.ContextWrapper; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * Class containing static methods involving manipulations of Contexts and their related subclasses. diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java index 003bfca0842..99c8f259d39 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java @@ -9,6 +9,7 @@ package com.facebook.react.views.drawer; import android.os.Build; import android.view.Gravity; import android.view.View; +import androidx.annotation.Nullable; import androidx.drawerlayout.widget.DrawerLayout; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Dynamic; @@ -30,7 +31,6 @@ import com.facebook.react.views.drawer.events.DrawerSlideEvent; import com.facebook.react.views.drawer.events.DrawerStateChangedEvent; import java.lang.reflect.Method; import java.util.Map; -import javax.annotation.Nullable; /** View Manager for {@link ReactDrawerLayout} components. */ @ReactModule(name = ReactDrawerLayoutManager.REACT_CLASS) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java b/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java index fc19da7291b..6a9e0b38d1c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java @@ -7,13 +7,13 @@ package com.facebook.react.views.image; import androidx.annotation.IntDef; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.events.Event; import com.facebook.react.uimanager.events.RCTEventEmitter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import javax.annotation.Nullable; public class ImageLoadEvent extends Event { @IntDef({ON_ERROR, ON_LOAD, ON_LOAD_END, ON_LOAD_START, ON_PROGRESS}) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java b/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java index 77dc796274c..b239454f1a9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java @@ -7,9 +7,9 @@ package com.facebook.react.views.image; import android.graphics.Shader; +import androidx.annotation.Nullable; import com.facebook.drawee.drawable.ScalingUtils; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; -import javax.annotation.Nullable; /** Converts JS resize modes into Android-specific scale type. */ public class ImageResizeMode { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java index f6dd953518a..86e3c806c33 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java @@ -8,6 +8,7 @@ package com.facebook.react.views.image; import android.graphics.Color; import android.graphics.PorterDuff.Mode; +import androidx.annotation.Nullable; import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.controller.AbstractDraweeControllerBuilder; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; @@ -23,7 +24,6 @@ import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.annotations.ReactPropGroup; import com.facebook.yoga.YogaConstants; import java.util.Map; -import javax.annotation.Nullable; @ReactModule(name = ReactImageManager.REACT_CLASS) public class ReactImageManager extends SimpleViewManager { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java index 38a53e20966..c8a44a5a28e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java @@ -21,6 +21,7 @@ import android.graphics.drawable.Animatable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.widget.Toast; +import androidx.annotation.Nullable; import com.facebook.common.references.CloseableReference; import com.facebook.common.util.UriUtil; import com.facebook.drawee.controller.AbstractDraweeControllerBuilder; @@ -59,7 +60,6 @@ import com.facebook.yoga.YogaConstants; import java.util.Arrays; import java.util.LinkedList; import java.util.List; -import javax.annotation.Nullable; /** * Wrapper class around Fresco's GenericDraweeView, enabling persisting props across multiple view diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK index ab328b40c0f..b870bef0195 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK @@ -6,10 +6,12 @@ rn_android_library( ["*.java"], exclude = ["MultiSourceHelper.java"], ), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), ], @@ -18,10 +20,12 @@ rn_android_library( rn_android_library( name = "withmultisource", srcs = ["MultiSourceHelper.java"], + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fresco/fresco-react-native:imagepipeline"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java index d79b7a54ced..ddad186fe2f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java @@ -8,8 +8,8 @@ package com.facebook.react.views.imagehelper; import android.content.Context; import android.net.Uri; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; -import javax.annotation.Nullable; /** Class describing an image source (network URI or resource) and size. */ public class ImageSource { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java index 8355956d975..f1ecd049f01 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java @@ -6,10 +6,10 @@ */ package com.facebook.react.views.imagehelper; +import androidx.annotation.Nullable; import com.facebook.imagepipeline.core.ImagePipeline; import com.facebook.imagepipeline.core.ImagePipelineFactory; import java.util.List; -import javax.annotation.Nullable; /** Helper class for dealing with multisource images. */ public class MultiSourceHelper { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java index 6c64e23eb15..73c6ae584e1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java @@ -9,9 +9,9 @@ package com.facebook.react.views.imagehelper; import android.content.Context; import android.graphics.drawable.Drawable; import android.net.Uri; +import androidx.annotation.Nullable; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; import javax.annotation.concurrent.ThreadSafe; /** Helper class for obtaining information about local images. */ diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java index ba6d0594554..2bfe9b71c7f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java @@ -19,6 +19,7 @@ import android.view.ViewStructure; import android.view.WindowManager; import android.view.accessibility.AccessibilityEvent; import android.widget.FrameLayout; +import androidx.annotation.Nullable; import androidx.annotation.UiThread; import com.facebook.infer.annotation.Assertions; import com.facebook.react.R; @@ -37,7 +38,6 @@ import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.react.views.common.ContextUtils; import com.facebook.react.views.view.ReactViewGroup; import java.util.ArrayList; -import javax.annotation.Nullable; /** * ReactModalHostView is a view that sits in the view hierarchy representing a Modal view. diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java index 4e75e504a2b..6da5b6e9b2b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java @@ -11,10 +11,10 @@ import android.util.AttributeSet; import android.view.View; import android.widget.AdapterView; import android.widget.Spinner; +import androidx.annotation.Nullable; import androidx.appcompat.widget.AppCompatSpinner; import com.facebook.react.common.annotations.VisibleForTesting; import java.util.List; -import javax.annotation.Nullable; public class ReactPicker extends AppCompatSpinner { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java index 5dea24204ee..16e502f58d9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java @@ -6,9 +6,9 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import java.util.List; -import javax.annotation.Nullable; /* package */ class ReactPickerAdapter extends ArrayAdapter { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java index 5b102150701..b50c56fad59 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java @@ -1,10 +1,10 @@ package com.facebook.react.views.picker; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; /* package */ class ReactPickerItem { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java index e3f42a92c4a..daea3abeb28 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java @@ -7,6 +7,7 @@ package com.facebook.react.views.picker; import android.widget.Spinner; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.ThemedReactContext; @@ -16,7 +17,6 @@ import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.react.views.picker.events.PickerItemSelectEvent; import java.util.List; -import javax.annotation.Nullable; /** * {@link ViewManager} for the {@link ReactPicker} view. This is abstract because the {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK index 54afb8816c9..70bf5aea089 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK @@ -3,11 +3,13 @@ load("//tools/build_defs/oss:rn_defs.bzl", "YOGA_TARGET", "react_native_dep", "r rn_android_library( name = "progressbar", srcs = glob(["*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ YOGA_TARGET, + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java index a4b4a85f5fb..d1be247f0e5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java @@ -12,8 +12,8 @@ import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ProgressBar; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; -import javax.annotation.Nullable; /** * Controls an enclosing ProgressBar. Exists so that the ProgressBar can be recreated if the style diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java index c176549b884..2277e40e477 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java @@ -10,6 +10,7 @@ import android.util.SparseIntArray; import android.view.View; import android.view.ViewGroup; import android.widget.ProgressBar; +import androidx.annotation.Nullable; import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.yoga.YogaMeasureFunction; @@ -18,7 +19,6 @@ import com.facebook.yoga.YogaMeasureOutput; import com.facebook.yoga.YogaNode; import java.util.HashSet; import java.util.Set; -import javax.annotation.Nullable; /** * Node responsible for holding the style of the ProgressBar, see under {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java index 54e3fd604e4..2da1e426409 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java @@ -8,13 +8,13 @@ package com.facebook.react.views.progressbar; import android.content.Context; import android.widget.ProgressBar; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.BaseViewManager; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** * Manages instances of ProgressBar. ProgressBar is wrapped in a ProgressBarContainerView because diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java index 407b1a87d8a..b0c12831a01 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java @@ -19,6 +19,7 @@ import android.view.MotionEvent; import android.view.View; import android.widget.HorizontalScrollView; import android.widget.OverScroller; +import androidx.annotation.Nullable; import androidx.core.text.TextUtilsCompat; import androidx.core.view.ViewCompat; import com.facebook.infer.annotation.Assertions; @@ -33,7 +34,6 @@ import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import java.util.Locale; -import javax.annotation.Nullable; /** Similar to {@link ReactScrollView} but only supports horizontal scrolling. */ public class ReactHorizontalScrollView extends HorizontalScrollView diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java index 14796cd48a3..a8c9898e10d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java @@ -8,6 +8,7 @@ package com.facebook.react.views.scroll; import android.graphics.Color; import android.util.DisplayMetrics; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.module.annotations.ReactModule; @@ -23,7 +24,6 @@ import com.facebook.react.uimanager.annotations.ReactPropGroup; import com.facebook.yoga.YogaConstants; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; /** * View manager for {@link ReactHorizontalScrollView} components. diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java index 433583ee200..db071fbb49d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java @@ -18,6 +18,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.OverScroller; import android.widget.ScrollView; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactContext; @@ -30,7 +31,6 @@ import com.facebook.react.uimanager.events.NativeGestureUtil; import com.facebook.react.views.view.ReactViewBackgroundManager; import java.lang.reflect.Field; import java.util.List; -import javax.annotation.Nullable; /** * A simple subclass of ScrollView that doesn't dispatch measure and layout to its children and has diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java index f7a579e800e..2b1f83becd6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java @@ -6,12 +6,12 @@ */ package com.facebook.react.views.scroll; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.common.MapBuilder; import com.facebook.react.uimanager.PixelUtil; import java.util.Map; -import javax.annotation.Nullable; /** * Helper for view managers to handle commands like 'scrollTo'. Shared by {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java index c19262a1847..cb8befaca24 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java @@ -8,6 +8,7 @@ package com.facebook.react.views.scroll; import android.graphics.Color; import android.util.DisplayMetrics; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.common.MapBuilder; @@ -25,7 +26,6 @@ import com.facebook.yoga.YogaConstants; import java.util.ArrayList; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** * View manager for {@link ReactScrollView} components. diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java index 9db4cb20ba3..1dcc8580d6b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java @@ -6,6 +6,7 @@ */ package com.facebook.react.views.scroll; +import androidx.annotation.Nullable; import androidx.core.util.Pools; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.Arguments; @@ -13,7 +14,6 @@ import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.uimanager.events.Event; import com.facebook.react.uimanager.events.RCTEventEmitter; -import javax.annotation.Nullable; /** A event dispatched from a ScrollView scrolling. */ public class ScrollEvent extends Event { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java index 010f3a9d572..1662cdc3cf8 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java @@ -8,7 +8,7 @@ package com.facebook.react.views.scroll; import android.view.MotionEvent; import android.view.VelocityTracker; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** * This Class helps to calculate the velocity for all ScrollView. The x and y velocity will later on diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java b/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java index 7b0bc28e90f..94227a4ed1a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java @@ -9,8 +9,8 @@ package com.facebook.react.views.slider; import android.content.Context; import android.os.Build; import android.util.AttributeSet; +import androidx.annotation.Nullable; import androidx.appcompat.widget.AppCompatSeekBar; -import javax.annotation.Nullable; /** * Slider that behaves more like the iOS one, for consistency. diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java index 2e3742eecc3..539f2e721af 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java @@ -9,6 +9,7 @@ package com.facebook.react.views.swiperefresh; import static com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager.REACT_CLASS; import android.graphics.Color; +import androidx.annotation.Nullable; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener; import com.facebook.react.bridge.Dynamic; @@ -22,7 +23,6 @@ import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import java.util.Map; -import javax.annotation.Nullable; /** * ViewManager for {@link ReactSwipeRefreshLayout} which allows the user to "pull to refresh" a diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK index f70906c8ef4..207413635a4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK @@ -5,7 +5,6 @@ rn_android_library( srcs = glob(["*.java"]), is_androidx = True, provided_deps = [ - react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/android/androidx:appcompat"), react_native_dep("third-party/android/androidx:core"), react_native_dep("third-party/android/androidx:fragment"), @@ -17,6 +16,7 @@ rn_android_library( ], deps = [ YOGA_TARGET, + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), react_native_target("java/com/facebook/react/common:common"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java index 4ae5930a1ba..4a49aa4e8b2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java @@ -9,8 +9,8 @@ package com.facebook.react.views.switchview; import android.content.Context; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; +import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; -import javax.annotation.Nullable; /** * Switch that has its value controlled by JS. Whenever the value of the switch changes, we do not diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java index 03dfc9e34a1..819a9c8e4c1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java @@ -10,6 +10,7 @@ package com.facebook.react.views.switchview; import android.view.View; import android.widget.CompoundButton; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReactContext; import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.SimpleViewManager; @@ -21,7 +22,6 @@ import com.facebook.yoga.YogaMeasureFunction; import com.facebook.yoga.YogaMeasureMode; import com.facebook.yoga.YogaMeasureOutput; import com.facebook.yoga.YogaNode; -import javax.annotation.Nullable; /** View manager for {@link ReactSwitch} components. */ public class ReactSwitchManager extends SimpleViewManager { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java index 8b9c541ae04..308cedb2af4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java @@ -14,6 +14,7 @@ import android.text.Layout; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.view.Gravity; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReadableMap; @@ -31,7 +32,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; /** * {@link ReactShadowNode} abstract class for spannable text nodes. diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java index 2b3ccf79059..8814d55215a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java @@ -6,11 +6,11 @@ */ package com.facebook.react.views.text; +import androidx.annotation.Nullable; import com.facebook.react.common.annotations.VisibleForTesting; import com.facebook.react.uimanager.ReactShadowNode; import com.facebook.react.uimanager.ReactShadowNodeImpl; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** * {@link ReactShadowNode} class for pure raw text node (aka {@code textContent} in terms of DOM). diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java index f0fd027d478..4d80b3edf34 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java @@ -11,6 +11,7 @@ import android.text.TextUtils; import android.text.util.Linkify; import android.view.Gravity; import android.view.View; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.uimanager.BaseViewManager; import com.facebook.react.uimanager.PixelUtil; @@ -20,7 +21,6 @@ import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.annotations.ReactPropGroup; import com.facebook.yoga.YogaConstants; -import javax.annotation.Nullable; /** * Abstract class for anchor {@code }-ish spannable views, such as {@link TextView} or {@link diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java index 3467aebdc0c..7dd10534978 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java @@ -16,6 +16,7 @@ import android.text.StaticLayout; import android.text.TextPaint; import android.view.Gravity; import android.widget.TextView; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.WritableArray; @@ -33,7 +34,6 @@ import com.facebook.yoga.YogaMeasureMode; import com.facebook.yoga.YogaMeasureOutput; import com.facebook.yoga.YogaNode; import java.util.ArrayList; -import javax.annotation.Nullable; /** * {@link ReactBaseTextShadowNode} concrete class for anchor {@code Text} node. diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java index 428f05b0b46..9087ba2bb04 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java @@ -18,6 +18,7 @@ import android.text.util.Linkify; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; import androidx.appcompat.widget.AppCompatTextView; import androidx.appcompat.widget.TintContextWrapper; import com.facebook.common.logging.FLog; @@ -35,7 +36,6 @@ import com.facebook.react.views.view.ReactViewBackgroundManager; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import javax.annotation.Nullable; public class ReactTextView extends AppCompatTextView implements ReactCompoundView { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java index cab6796da5c..7bd93bf1a5a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java @@ -9,6 +9,7 @@ package com.facebook.react.views.text; import android.content.Context; import android.text.Layout; import android.text.Spannable; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.common.MapBuilder; import com.facebook.react.common.annotations.VisibleForTesting; @@ -19,7 +20,6 @@ import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.yoga.YogaMeasureMode; import java.util.Map; -import javax.annotation.Nullable; /** * Concrete class for {@link ReactTextAnchorViewManager} which represents view managers of anchor diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java index f3478e14aaa..be5b74ff95e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java @@ -10,13 +10,13 @@ import android.graphics.Typeface; import android.os.Build; import android.text.Layout; import android.view.Gravity; +import androidx.annotation.Nullable; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.uimanager.ReactStylesDiffMap; import com.facebook.react.uimanager.ViewProps; import com.facebook.yoga.YogaDirection; -import javax.annotation.Nullable; public class TextAttributeProps { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java index fa85c69e121..da63d823e5b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java @@ -11,7 +11,7 @@ import android.text.Spannable; import android.text.style.ReplacementSpan; import android.view.View; import android.widget.TextView; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; /** Base class for inline image spans. */ public abstract class TextInlineImageSpan extends ReplacementSpan implements ReactSpan { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK index 17b9ed51457..b7d46593804 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK @@ -3,11 +3,13 @@ load("//tools/build_defs/oss:rn_defs.bzl", "YOGA_TARGET", "react_native_dep", "r rn_android_library( name = "frescosupport", srcs = glob(["*.java"]), + is_androidx = True, visibility = [ "PUBLIC", ], deps = [ YOGA_TARGET, + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("libraries/fresco/fresco-react-native:fbcore"), react_native_dep("libraries/fresco/fresco-react-native:fresco-drawee"), react_native_dep("libraries/fresco/fresco-react-native:fresco-react-native"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java index 1b168d21361..8e6e9b009d6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java @@ -9,6 +9,7 @@ package com.facebook.react.views.text.frescosupport; import android.content.Context; import android.content.res.Resources; import android.net.Uri; +import androidx.annotation.Nullable; import com.facebook.common.util.UriUtil; import com.facebook.drawee.controller.AbstractDraweeControllerBuilder; import com.facebook.react.bridge.Dynamic; @@ -21,7 +22,6 @@ import com.facebook.react.views.text.ReactTextInlineImageShadowNode; import com.facebook.react.views.text.TextInlineImageSpan; import com.facebook.yoga.YogaConstants; import java.util.Locale; -import javax.annotation.Nullable; /** Shadow node that represents an inline image. Loading is done using Fresco. */ public class FrescoBasedReactTextInlineImageShadowNode extends ReactTextInlineImageShadowNode { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java index 428d22f9358..6521143d4e7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java @@ -13,6 +13,7 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.net.Uri; import android.widget.TextView; +import androidx.annotation.Nullable; import com.facebook.drawee.controller.AbstractDraweeControllerBuilder; import com.facebook.drawee.generic.GenericDraweeHierarchy; import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder; @@ -24,7 +25,6 @@ import com.facebook.react.bridge.ReadableMap; import com.facebook.react.modules.fresco.ReactNetworkImageRequest; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.views.text.TextInlineImageSpan; -import javax.annotation.Nullable; /** * FrescoBasedTextInlineImageSpan is a span for Images that are inside . It computes its size diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java index 429350ccf95..97f5d1d0860 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java @@ -7,12 +7,12 @@ package com.facebook.react.views.text.frescosupport; import android.view.View; +import androidx.annotation.Nullable; import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.controller.AbstractDraweeControllerBuilder; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ViewManager; -import javax.annotation.Nullable; /** * Manages Images embedded in Text nodes using Fresco. Since they are used only as a virtual nodes diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index abc92b4b14b..542b5ee0391 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -30,6 +30,7 @@ import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; +import androidx.annotation.Nullable; import androidx.core.view.AccessibilityDelegateCompat; import androidx.core.view.ViewCompat; import com.facebook.infer.annotation.Assertions; @@ -41,7 +42,6 @@ import com.facebook.react.views.text.TextAttributes; import com.facebook.react.views.text.TextInlineImageSpan; import com.facebook.react.views.view.ReactViewBackgroundManager; import java.util.ArrayList; -import javax.annotation.Nullable; /** * A wrapper around the EditText that lets us better control what happens when an EditText gets diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java index 260c82f695c..e3d99a5c820 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java @@ -10,10 +10,10 @@ import android.view.KeyEvent; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputConnectionWrapper; +import androidx.annotation.Nullable; import com.facebook.react.bridge.ReactContext; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; -import javax.annotation.Nullable; /** * A class to implement the TextInput 'onKeyPress' API on android for soft keyboards. It is diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index d3ce4db4dc3..4d124ee4fce 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -21,6 +21,7 @@ import android.view.KeyEvent; import android.view.View; import android.view.inputmethod.EditorInfo; import android.widget.TextView; +import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; @@ -53,7 +54,6 @@ import com.facebook.yoga.YogaConstants; import java.lang.reflect.Field; import java.util.LinkedList; import java.util.Map; -import javax.annotation.Nullable; /** Manages instances of TextInput. */ @ReactModule(name = ReactTextInputManager.REACT_CLASS) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java index 069e8081bdf..262687e6bfc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java @@ -12,6 +12,7 @@ import android.text.Layout; import android.util.TypedValue; import android.view.ViewGroup; import android.widget.EditText; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; @@ -28,7 +29,6 @@ import com.facebook.yoga.YogaMeasureFunction; import com.facebook.yoga.YogaMeasureMode; import com.facebook.yoga.YogaMeasureOutput; import com.facebook.yoga.YogaNode; -import javax.annotation.Nullable; @VisibleForTesting @TargetApi(Build.VERSION_CODES.M) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.java index fab14cc30a0..ff21baf1514 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.java @@ -8,11 +8,11 @@ package com.facebook.react.views.unimplementedview; import static com.facebook.react.views.unimplementedview.ReactUnimplementedViewManager.REACT_CLASS; +import androidx.annotation.Nullable; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.annotations.ReactProp; -import javax.annotation.Nullable; /** * ViewManager for {@link ReactUnimplementedView} to represent a component that is not yet diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java index 31e932825a0..ed998e60801 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java @@ -22,6 +22,7 @@ import android.graphics.Region; import android.graphics.drawable.Drawable; import android.os.Build; import android.view.View; +import androidx.annotation.Nullable; import com.facebook.react.common.annotations.VisibleForTesting; import com.facebook.react.modules.i18nmanager.I18nUtil; import com.facebook.react.uimanager.FloatUtil; @@ -29,7 +30,6 @@ import com.facebook.react.uimanager.Spacing; import com.facebook.yoga.YogaConstants; import java.util.Arrays; import java.util.Locale; -import javax.annotation.Nullable; /** * A subclass of {@link Drawable} used for background of {@link ReactViewGroup}. It supports drawing diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java index be360accee3..99ec6bdea01 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java @@ -9,8 +9,8 @@ import android.graphics.Color; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.view.View; +import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; -import javax.annotation.Nullable; /** Class that manages the background for views and borders. */ public class ReactViewBackgroundManager { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java index aafe2a692c2..4cb0e95643e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java @@ -24,6 +24,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewStructure; import android.view.animation.Animation; +import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactContext; @@ -44,7 +45,6 @@ import com.facebook.react.uimanager.RootViewUtil; import com.facebook.react.uimanager.ViewGroupDrawingOrderHelper; import com.facebook.react.uimanager.ViewProps; import com.facebook.yoga.YogaConstants; -import javax.annotation.Nullable; /** * Backing for a React View. Has support for borders, but since borders aren't common, lazy diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java index f14cecf575d..bf061939494 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java @@ -7,6 +7,7 @@ package com.facebook.react.views.viewpager; import android.view.View; +import androidx.annotation.Nullable; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.common.MapBuilder; @@ -16,7 +17,6 @@ import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.annotations.ReactProp; import java.util.Map; -import javax.annotation.Nullable; /** Instance of {@link ViewManager} that provides native {@link ViewPager} view. */ @ReactModule(name = ReactViewPagerManager.REACT_CLASS) diff --git a/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK b/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK index eec98c1de71..b315429ee1a 100644 --- a/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK +++ b/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK @@ -7,6 +7,7 @@ rn_android_library( "PUBLIC", ], deps = [ + react_native_dep("third-party/android/androidx:annotation"), react_native_dep("third-party/java/jsr-305:jsr-305"), ], exported_deps = [ diff --git a/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java b/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java index 1a2cc03c0bf..dfe951888fb 100644 --- a/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java +++ b/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java @@ -6,10 +6,10 @@ */ package com.facebook.common.logging; +import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import javax.annotation.Nullable; public final class FakeLoggingDelegate implements LoggingDelegate { diff --git a/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java b/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java index 2870847d31b..5243f8bd20e 100644 --- a/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java +++ b/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java @@ -11,13 +11,13 @@ import static org.junit.Assert.assertNotNull; import android.app.Activity; import android.content.Intent; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.JavaOnlyMap; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactTestHelper; import com.facebook.react.bridge.WritableMap; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -170,7 +170,7 @@ public class ShareModuleTest { } @Override - public void reject(String code, @Nonnull WritableMap userInfo) { + public void reject(String code, @NonNull WritableMap userInfo) { reject(code, /*Message*/ null, /*Throwable*/ null, userInfo); } @@ -180,7 +180,7 @@ public class ShareModuleTest { } @Override - public void reject(String code, String message, @Nonnull WritableMap userInfo) { + public void reject(String code, String message, @NonNull WritableMap userInfo) { reject(code, message, /*Throwable*/ null, userInfo); } diff --git a/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java b/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java index c1a289e0b4c..612ce3b584c 100644 --- a/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java +++ b/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java @@ -16,7 +16,6 @@ import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.annotations.ReactPropGroup; -import javax.annotation.Nullable; import org.junit.Before; import org.junit.Rule; import org.junit.Test;