From d76556543f96f4d739be3a708b8f6314bb32cc87 Mon Sep 17 00:00:00 2001 From: Dulmandakh Date: Wed, 7 Oct 2020 11:26:08 -0700 Subject: [PATCH] fix ReadableArray annotations (#30122) Summary: Fix ReadableArray annotations, because these methods throw ArrayIndexOutOfBoundsException instead of null if index is not found. ## Changelog [Android] [Changed] - fix ReadableArray null annotations. Possibly breaking change for Kotlin apps. Pull Request resolved: https://github.com/facebook/react-native/pull/30122 Test Plan: RNTester app builds and runs as expected, and show correct type in when used with Kotlin code. Reviewed By: JoshuaGross Differential Revision: D24164326 Pulled By: fkgozali fbshipit-source-id: 0c3f8fa9accbd32cc71c50befe9330e5201643f6 --- .../main/java/com/facebook/react/bridge/ReadableArray.java | 7 +++---- .../com/facebook/react/bridge/ReadableNativeArray.java | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) 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 5c3ac667e0e828..82ffb0e8ab3ad5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java @@ -8,7 +8,6 @@ package com.facebook.react.bridge; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import java.util.ArrayList; /** @@ -27,13 +26,13 @@ public interface ReadableArray { int getInt(int index); - @Nullable + @NonNull String getString(int index); - @Nullable + @NonNull ReadableArray getArray(int index); - @Nullable + @NonNull ReadableMap getMap(int index); @NonNull 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 361457dbadd067..cc80051b4954e4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java @@ -98,17 +98,17 @@ public int getInt(int index) { } @Override - public @Nullable String getString(int index) { + public @NonNull String getString(int index) { return (String) getLocalArray()[index]; } @Override - public @Nullable ReadableNativeArray getArray(int index) { + public @NonNull ReadableNativeArray getArray(int index) { return (ReadableNativeArray) getLocalArray()[index]; } @Override - public @Nullable ReadableNativeMap getMap(int index) { + public @NonNull ReadableNativeMap getMap(int index) { return (ReadableNativeMap) getLocalArray()[index]; }