diff --git a/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java b/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java index 4fc275e5dc..8f3f4c0d0b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +++ b/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java @@ -39,21 +39,10 @@ public class ReadableMapBuffer implements Iterable>> SHORT_ONE); - final short midVal = readKey(getKeyOffsetForBucketIndex(mid)); + final int mid = (lo + hi) >>> 1; + final int midVal = readKey(getKeyOffsetForBucketIndex(mid)); if (midVal < key) { - lo = (short) (mid + SHORT_ONE); + lo = mid + 1; } else if (midVal > key) { - hi = (short) (mid - SHORT_ONE); + hi = mid - 1; } else { return mid; } @@ -115,8 +104,8 @@ public class ReadableMapBuffer implements Iterable iterator() { return new Iterator() { - short current = 0; - short last = (short) (getCount() - SHORT_ONE); + int current = 0; + final int last = getCount() - 1; @Override public boolean hasNext() { @@ -301,7 +288,7 @@ public class ReadableMapBuffer implements Iterable ops) { - for (short i = 0, length = fragments.getCount(); i < length; i++) { + for (int i = 0, length = fragments.getCount(); i < length; i++) { ReadableMapBuffer fragment = fragments.getMapBuffer(i); int start = sb.length();