Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ private constructor(
cxxReactPackages: List<CxxReactPackage>,
) : ReactPackageTurboModuleManagerDelegate(context, packages, initHybrid(cxxReactPackages)) {

override fun initHybrid(): HybridData? {
override fun initHybrid(): HybridData {
throw UnsupportedOperationException(
"DefaultTurboModuleManagerDelegate.initHybrid() must never be called!")
}
Expand Down Expand Up @@ -72,6 +72,6 @@ private constructor(

@DoNotStrip
@JvmStatic
external fun initHybrid(cxxReactPackages: List<CxxReactPackage>): HybridData?
external fun initHybrid(cxxReactPackages: List<CxxReactPackage>): HybridData
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@

package com.facebook.react.internal;

import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.UiThreadUtil;

/** An implementation of ChoreographerProvider that directly uses android.view.Choreographer. */
@Nullsafe(Nullsafe.Mode.LOCAL)
public final class AndroidChoreographerProvider implements ChoreographerProvider {

public static final class AndroidChoreographer implements ChoreographerProvider.Choreographer {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@
package com.facebook.react.internal.turbomodule.core;

import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.jni.HybridData;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.internal.turbomodule.core.interfaces.TurboModule;
import java.util.ArrayList;
import java.util.List;

@Nullsafe(Nullsafe.Mode.LOCAL)
public abstract class TurboModuleManagerDelegate {
@DoNotStrip
@SuppressWarnings("unused")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@

package com.facebook.react.internal.turbomodule.core;

import com.facebook.infer.annotation.Nullsafe;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.perflogger.NativeModulePerfLogger;
import javax.annotation.Nullable;

@Nullsafe(Nullsafe.Mode.LOCAL)
@DoNotStrip
class TurboModulePerfLogger {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@

package com.facebook.react.jstasks;

import com.facebook.infer.annotation.Nullsafe;

@Nullsafe(Nullsafe.Mode.LOCAL)
public class LinearCountingRetryPolicy implements HeadlessJsTaskRetryPolicy {

private final int mRetryAttempts;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@

package com.facebook.react.jstasks;

import com.facebook.infer.annotation.Nullsafe;

@Nullsafe(Nullsafe.Mode.LOCAL)
class NoRetryPolicy implements HeadlessJsTaskRetryPolicy {

public static final NoRetryPolicy INSTANCE = new NoRetryPolicy();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import android.util.Base64;
import androidx.annotation.Nullable;
import com.facebook.common.logging.FLog;
import com.facebook.infer.annotation.Nullsafe;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
Expand All @@ -20,6 +21,7 @@
import java.util.Map;
import org.json.JSONObject;

@Nullsafe(Nullsafe.Mode.LOCAL)
public class FileIoHandler implements Runnable {
private static final String TAG = JSPackagerClient.class.getSimpleName();
private static final long FILE_TTL = 30 * 1000;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@

import androidx.annotation.Nullable;
import com.facebook.common.logging.FLog;
import com.facebook.infer.annotation.Nullsafe;

@Nullsafe(Nullsafe.Mode.LOCAL)
public abstract class NotificationOnlyHandler implements RequestHandler {
private static final String TAG = JSPackagerClient.class.getSimpleName();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
import androidx.annotation.Nullable;
import com.facebook.common.logging.FLog;
import com.facebook.infer.annotation.Assertions;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.modules.systeminfo.AndroidInfoHelpers;

@Nullsafe(Nullsafe.Mode.LOCAL)
public class PackagerConnectionSettings {
private static final String TAG = PackagerConnectionSettings.class.getSimpleName();
private static final String PREFS_DEBUG_SERVER_HOST_KEY = "debug_http_host";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@

import androidx.annotation.Nullable;
import com.facebook.common.logging.FLog;
import com.facebook.infer.annotation.Nullsafe;

@Nullsafe(Nullsafe.Mode.LOCAL)
public abstract class RequestOnlyHandler implements RequestHandler {
private static final String TAG = JSPackagerClient.class.getSimpleName();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@

package com.facebook.react.perflogger;

import com.facebook.infer.annotation.Nullsafe;
import com.facebook.jni.HybridData;
import com.facebook.soloader.SoLoader;

@Nullsafe(Nullsafe.Mode.LOCAL)
public abstract class NativeModulePerfLogger {
private final HybridData mHybridData;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package com.facebook.react.turbomodule.core;

import com.facebook.infer.annotation.Nullsafe;
import com.facebook.jni.HybridData;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.common.annotations.FrameworkAPI;
Expand All @@ -18,6 +19,7 @@
* TurboModuleManager. Therefore, we need to wrap JSCallInvoker within a hybrid class so that we may
* pass it from CatalystInstance, through Java, to TurboModuleManager::initHybrid.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
@FrameworkAPI
public class CallInvokerHolderImpl implements CallInvokerHolder {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package com.facebook.react.turbomodule.core;

import com.facebook.infer.annotation.Nullsafe;
import com.facebook.jni.HybridData;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.common.annotations.FrameworkAPI;
Expand All @@ -19,6 +20,7 @@
* class so that we may pass it from CatalystInstance, through Java, to
* TurboModuleManager::initHybrid.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
@FrameworkAPI
public class NativeMethodCallInvokerHolderImpl implements NativeMethodCallInvokerHolder {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
import static com.facebook.react.uimanager.common.UIManagerType.DEFAULT;
import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;

import com.facebook.infer.annotation.Nullsafe;

@Nullsafe(Nullsafe.Mode.LOCAL)
public class ViewUtil {

public static final int NO_SURFACE_ID = -1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@

package com.facebook.react.uimanager.layoutanimation;

import com.facebook.infer.annotation.Nullsafe;

/**
* Enum representing the different view properties that can be used when animating layout for view
* creation.
*/
/* package */ enum AnimatedPropertyType {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
enum AnimatedPropertyType {
OPACITY,
SCALE_X,
SCALE_Y,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.ScaleAnimation;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.uimanager.IllegalViewOperationException;

/** Class responsible for default layout animation, i.e animation of view creation and deletion. */
/* package */ abstract class BaseLayoutAnimation extends AbstractLayoutAnimation {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
abstract class BaseLayoutAnimation extends AbstractLayoutAnimation {

abstract boolean isReverse();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@

package com.facebook.react.uimanager.layoutanimation;

import com.facebook.infer.annotation.Nullsafe;
import java.util.Locale;

/**
* Enum representing the different interpolators that can be used in layout animation configuration.
*/
/* package */ enum InterpolatorType {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
enum InterpolatorType {
LINEAR,
EASE_IN,
EASE_OUT,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@

package com.facebook.react.uimanager.layoutanimation;

import com.facebook.infer.annotation.Nullsafe;

/**
* Enum representing the different animation type that can be specified in layout animation config.
*/
/* package */ enum LayoutAnimationType {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
enum LayoutAnimationType {
CREATE,
UPDATE,
DELETE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@

package com.facebook.react.uimanager.layoutanimation;

import com.facebook.infer.annotation.Nullsafe;

/**
* Class responsible for handling layout view creation animation, applied to view whenever a valid
* config was supplied for the layout animation of CREATE type.
*/
/* package */ class LayoutCreateAnimation extends BaseLayoutAnimation {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
class LayoutCreateAnimation extends BaseLayoutAnimation {

@Override
boolean isReverse() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@

package com.facebook.react.uimanager.layoutanimation;

import com.facebook.infer.annotation.Nullsafe;

/**
* Class responsible for handling layout view deletion animation, applied to view whenever a valid
* config was supplied for the layout animation of DELETE type.
*/
/* package */ class LayoutDeleteAnimation extends BaseLayoutAnimation {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
class LayoutDeleteAnimation extends BaseLayoutAnimation {

@Override
boolean isReverse() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Nullsafe;

/**
* Class responsible for handling layout update animation, applied to view whenever a valid config
* was supplied for the layout animation of UPDATE type.
*/
/* package */ class LayoutUpdateAnimation extends AbstractLayoutAnimation {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
class LayoutUpdateAnimation extends AbstractLayoutAnimation {

// We are currently not enabling translation GPU-accelerated animated, as it creates odd
// artifacts with native react scrollview. This needs to be investigated.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Transformation;
import com.facebook.infer.annotation.Nullsafe;

/**
* Animation responsible for updating opacity of a view. It should ideally use hardware texture to
* optimize rendering performances.
*/
/* package */ class OpacityAnimation extends Animation {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
class OpacityAnimation extends Animation {

static class OpacityAnimationListener implements Animation.AnimationListener {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,16 @@
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Transformation;
import com.facebook.infer.annotation.Nullsafe;

/**
* Animation responsible for updating size and position of a view. We can't use scaling as view
* content may not necessarily stretch. As a result, this approach is inefficient because of layout
* passes occurring on every frame. What we might want to try to do instead is use a combined
* ScaleAnimation and TranslateAnimation.
*/
/* package */ class PositionAndSizeAnimation extends Animation implements LayoutHandlingAnimation {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
class PositionAndSizeAnimation extends Animation implements LayoutHandlingAnimation {

private final View mView;
private float mStartX, mStartY, mDeltaX, mDeltaY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
package com.facebook.react.uimanager.layoutanimation;

import android.view.animation.Interpolator;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.ReadableType;

/** Simple spring interpolator */
// TODO(7613736): Improve spring interpolator with friction and damping variable support
/* package */ class SimpleSpringInterpolator implements Interpolator {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
class SimpleSpringInterpolator implements Interpolator {

private static final float FACTOR = 0.5f;
public static final String PARAM_SPRING_DAMPING = "springDamping";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.R;
import java.util.ArrayList;
import java.util.HashMap;
Expand All @@ -19,6 +20,7 @@
import java.util.Set;

/** Finds views in React Native view hierarchies */
@Nullsafe(Nullsafe.Mode.LOCAL)
public class ReactFindViewUtil {

private static final List<OnViewFoundListener> mOnViewFoundListeners = new ArrayList<>();
Expand Down