Make sure MountItems use @NonNull annotation
Summary: This diff annotates MountItems classes with NonNull annotations, this will help analysis of nullability plus improving integration with Kotlin clients Changelog: Add NonNull annotation to Fabric MountItems Reviewed By: JoshuaGross Differential Revision: D18010921 fbshipit-source-id: 4c2bded87f7af1ddb941b2a49e390e51984890c0
This commit is contained in:
Родитель
fa0155d0ea
Коммит
27d71fc725
|
@ -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");
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче