diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java index 354c5f870dc..4588c7fb8f4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.ReactMarker; import com.facebook.react.bridge.ReactMarkerConstants; @@ -25,8 +26,10 @@ import com.facebook.systrace.Systrace; @DoNotStrip public class BatchMountItem implements MountItem { - private final MountItem[] mMountItems; + @NonNull private final MountItem[] mMountItems; + private final int mSize; + private final int mCommitNumber; public BatchMountItem(MountItem[] items, int size, int commitNumber) { @@ -43,7 +46,7 @@ public class BatchMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { Systrace.beginSection( Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricUIManager::mountViews - " + mSize + " items"); diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java index 4219349ee01..6320eb1d04d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.fabric.mounting.MountingManager; @@ -15,21 +16,21 @@ import com.facebook.react.uimanager.ThemedReactContext; public class CreateMountItem implements MountItem { - private final String mComponent; + @NonNull private final String mComponent; private final int mRootTag; private final int mReactTag; - private final ThemedReactContext mContext; + @NonNull private final ThemedReactContext mContext; private final @Nullable ReadableMap mProps; private final @Nullable StateWrapper mStateWrapper; private final boolean mIsLayoutable; public CreateMountItem( - ThemedReactContext context, + @NonNull ThemedReactContext context, int rootTag, int reactTag, - String component, + @NonNull String component, @Nullable ReadableMap props, - StateWrapper stateWrapper, + @NonNull StateWrapper stateWrapper, boolean isLayoutable) { mContext = context; mComponent = component; @@ -41,7 +42,7 @@ public class CreateMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.createView( mContext, mComponent, mReactTag, mProps, mStateWrapper, mIsLayoutable); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DeleteMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DeleteMountItem.java index dcf152f03eb..312dcc1ca4e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DeleteMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DeleteMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.fabric.mounting.MountingManager; public class DeleteMountItem implements MountItem { @@ -18,7 +19,7 @@ public class DeleteMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.deleteView(mReactTag); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java index b366bf13d1c..89fc96ff1d3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.fabric.mounting.MountingManager; @@ -25,7 +26,7 @@ public class DispatchCommandMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.receiveCommand(mReactTag, mCommandId, mCommandArgs); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java index e158a535d5a..074466dd212 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.fabric.mounting.MountingManager; @@ -14,18 +15,18 @@ import com.facebook.react.fabric.mounting.MountingManager; public class DispatchStringCommandMountItem implements MountItem { private final int mReactTag; - private final String mCommandId; + @NonNull private final String mCommandId; private final @Nullable ReadableArray mCommandArgs; public DispatchStringCommandMountItem( - int reactTag, String commandId, @Nullable ReadableArray commandArgs) { + int reactTag, @NonNull String commandId, @Nullable ReadableArray commandArgs) { mReactTag = reactTag; mCommandId = commandId; mCommandArgs = commandArgs; } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.receiveCommand(mReactTag, mCommandId, mCommandArgs); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/InsertMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/InsertMountItem.java index 3d4ecebc81f..a29de03ec2e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/InsertMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/InsertMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.fabric.mounting.MountingManager; public class InsertMountItem implements MountItem { @@ -22,7 +23,7 @@ public class InsertMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.addViewAt(mParentReactTag, mReactTag, mIndex); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java index 1eb2babb5c4..dc053625c2a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import androidx.annotation.UiThread; import com.facebook.react.fabric.mounting.MountingManager; @@ -14,5 +15,5 @@ public interface MountItem { /** Execute this {@link MountItem} into the operation queue received by parameter. */ @UiThread - void execute(MountingManager mountingManager); + void execute(@NonNull MountingManager mountingManager); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java index 8c790965bad..8eeaeb44c25 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java @@ -10,6 +10,7 @@ package com.facebook.react.fabric.mounting.mountitems; import static com.facebook.react.fabric.FabricUIManager.DEBUG; import static com.facebook.react.fabric.FabricUIManager.TAG; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.ReadableMap; @@ -20,21 +21,21 @@ import com.facebook.react.uimanager.ThemedReactContext; /** {@link MountItem} that is used to pre-allocate views for JS components. */ public class PreAllocateViewMountItem implements MountItem { - private final String mComponent; + @NonNull private final String mComponent; private final int mRootTag; private final int mReactTag; private final @Nullable ReadableMap mProps; private final @Nullable StateWrapper mStateWrapper; - private final ThemedReactContext mContext; + private final @NonNull ThemedReactContext mContext; private final boolean mIsLayoutable; public PreAllocateViewMountItem( - ThemedReactContext context, + @NonNull ThemedReactContext context, int rootTag, int reactTag, - String component, + @NonNull String component, @Nullable ReadableMap props, - StateWrapper stateWrapper, + @NonNull StateWrapper stateWrapper, boolean isLayoutable) { mContext = context; mComponent = component; @@ -46,7 +47,7 @@ public class PreAllocateViewMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { if (DEBUG) { FLog.d(TAG, "Executing pre-allocation of: " + toString()); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveDeleteMultiMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveDeleteMultiMountItem.java index 995707e9333..c11cb4e4412 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveDeleteMultiMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveDeleteMultiMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.fabric.mounting.MountingManager; public class RemoveDeleteMultiMountItem implements MountItem { @@ -18,7 +19,7 @@ public class RemoveDeleteMultiMountItem implements MountItem { // `instruction*4 + 1`: react tag of view's parent // `instruction*4 + 2`: index of view in parents' children instruction // `instruction*4 + 3`: flags indicating if the view should be removed, and/or deleted - private int[] mMetadata; + @NonNull private int[] mMetadata; // Bitfields of "flag", indicating if a view should be removed and/or deleted private static final int REMOVE_FLAG = 1; @@ -31,12 +32,12 @@ public class RemoveDeleteMultiMountItem implements MountItem { private static final int VIEW_INDEX_INDEX = 2; private static final int FLAGS_INDEX = 3; - public RemoveDeleteMultiMountItem(int[] metadata) { + public RemoveDeleteMultiMountItem(@NonNull int[] metadata) { mMetadata = metadata; } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { // First, go through instructions and remove all views that are marked // for removal. // Not all views that are removed are deleted, and not all deleted views diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveMountItem.java index eefc076f976..f09f91e3f98 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.fabric.mounting.MountingManager; public class RemoveMountItem implements MountItem { @@ -22,7 +23,7 @@ public class RemoveMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.removeViewAt(mParentReactTag, mIndex); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java index a5285b6b336..207d79871cc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.fabric.mounting.MountingManager; public class SendAccessibilityEvent implements MountItem { @@ -20,7 +21,7 @@ public class SendAccessibilityEvent implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.sendAccessibilityEvent(mReactTag, mEventType); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateEventEmitterMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateEventEmitterMountItem.java index 3be69d297da..72331c6b963 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateEventEmitterMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateEventEmitterMountItem.java @@ -7,21 +7,22 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.fabric.events.EventEmitterWrapper; import com.facebook.react.fabric.mounting.MountingManager; public class UpdateEventEmitterMountItem implements MountItem { - private final EventEmitterWrapper mEventHandler; + @NonNull private final EventEmitterWrapper mEventHandler; private final int mReactTag; - public UpdateEventEmitterMountItem(int reactTag, EventEmitterWrapper EventHandler) { + public UpdateEventEmitterMountItem(int reactTag, @NonNull EventEmitterWrapper EventHandler) { mReactTag = reactTag; mEventHandler = EventHandler; } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.updateEventEmitter(mReactTag, mEventHandler); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLayoutMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLayoutMountItem.java index 1e7c17c9cfa..3db91ed740c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLayoutMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLayoutMountItem.java @@ -10,6 +10,7 @@ package com.facebook.react.fabric.mounting.mountitems; import android.annotation.TargetApi; import android.os.Build; import android.util.LayoutDirection; +import androidx.annotation.NonNull; import com.facebook.react.fabric.mounting.MountingManager; public class UpdateLayoutMountItem implements MountItem { @@ -31,8 +32,9 @@ public class UpdateLayoutMountItem implements MountItem { mLayoutDirection = convertLayoutDirection(layoutDirection); } + // TODO move this from here @TargetApi(Build.VERSION_CODES.KITKAT) - private int convertLayoutDirection(int layoutDirection) { + private static int convertLayoutDirection(int layoutDirection) { switch (layoutDirection) { case 0: return LayoutDirection.INHERIT; @@ -46,7 +48,7 @@ public class UpdateLayoutMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.updateLayout(mReactTag, mX, mY, mWidth, mHeight); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLocalDataMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLocalDataMountItem.java index 9e41c49a5cc..00c3feea82b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLocalDataMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLocalDataMountItem.java @@ -7,25 +7,26 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.fabric.mounting.MountingManager; public class UpdateLocalDataMountItem implements MountItem { private final int mReactTag; - private final ReadableMap mNewLocalData; + @NonNull private final ReadableMap mNewLocalData; - public UpdateLocalDataMountItem(int reactTag, ReadableMap newLocalData) { + public UpdateLocalDataMountItem(int reactTag, @NonNull ReadableMap newLocalData) { mReactTag = reactTag; mNewLocalData = newLocalData; } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.updateLocalData(mReactTag, mNewLocalData); } - public ReadableMap getNewLocalData() { + public @NonNull ReadableMap getNewLocalData() { return mNewLocalData; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePaddingMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePaddingMountItem.java index ab0caaef239..e0403627bbd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePaddingMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePaddingMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.fabric.mounting.MountingManager; /** @@ -32,7 +33,7 @@ public class UpdatePaddingMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.updatePadding(mReactTag, mLeft, mTop, mRight, mBottom); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePropsMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePropsMountItem.java index bd75f7d630c..3226260dd46 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePropsMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePropsMountItem.java @@ -7,21 +7,22 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.fabric.mounting.MountingManager; public class UpdatePropsMountItem implements MountItem { private final int mReactTag; - private final ReadableMap mUpdatedProps; + @NonNull private final ReadableMap mUpdatedProps; - public UpdatePropsMountItem(int reactTag, ReadableMap updatedProps) { + public UpdatePropsMountItem(int reactTag, @NonNull ReadableMap updatedProps) { mReactTag = reactTag; mUpdatedProps = updatedProps; } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.updateProps(mReactTag, mUpdatedProps); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateStateMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateStateMountItem.java index 41c43f35058..c96190264ff 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateStateMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateStateMountItem.java @@ -7,6 +7,7 @@ package com.facebook.react.fabric.mounting.mountitems; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.facebook.react.fabric.mounting.MountingManager; import com.facebook.react.uimanager.StateWrapper; @@ -22,7 +23,7 @@ public class UpdateStateMountItem implements MountItem { } @Override - public void execute(MountingManager mountingManager) { + public void execute(@NonNull MountingManager mountingManager) { mountingManager.updateState(mReactTag, mStateWrapper); }