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 @@ -7,10 +7,13 @@

package com.facebook.react.module.model;

import com.facebook.infer.annotation.Nullsafe;

/**
* Data holder class holding native module specifications. {@link ReactModuleSpecProcessor} creates
* these so Java modules don't have to be instantiated at React Native start up.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
public class ReactModuleInfo {

private final String mName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatDelegate;
import com.facebook.fbreact.specs.NativeAppearanceSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.module.annotations.ReactModule;

/** Module that exposes the user's preferred color scheme. */
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeAppearanceSpec.NAME)
public class AppearanceModule extends NativeAppearanceSpec {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package com.facebook.react.modules.appstate;

import com.facebook.fbreact.specs.NativeAppStateSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.LifecycleEventListener;
Expand All @@ -20,6 +21,7 @@
import java.util.Map;
import javax.annotation.Nullable;

@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeAppStateSpec.NAME)
public class AppStateModule extends NativeAppStateSpec
implements LifecycleEventListener, WindowFocusChangeListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@

package com.facebook.react.modules.blob;

import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.JavaScriptContextHolder;
import com.facebook.react.bridge.ReactContext;
import com.facebook.soloader.SoLoader;

/* package */ class BlobCollector {
/* package */ @Nullsafe(Nullsafe.Mode.LOCAL)
class BlobCollector {
static {
SoLoader.loadLibrary("reactnativeblob");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package com.facebook.react.modules.common;

import com.facebook.common.logging.FLog;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.CatalystInstance;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactContext;
Expand All @@ -18,6 +19,7 @@
* Cleans sensitive user data from native modules that implement the {@code Cleanable} interface.
* This is useful e.g. when a user logs out from an app.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
public class ModuleDataCleaner {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
package com.facebook.react.modules.core;

import android.view.Choreographer;
import com.facebook.infer.annotation.Nullsafe;

@Nullsafe(Nullsafe.Mode.LOCAL)
public class ChoreographerCompat {
/** @deprecated Use Choreographer.FrameCallback instead */
@Deprecated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.facebook.fbreact.specs.NativeDeviceEventManagerSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.JavaScriptModule;
Expand All @@ -20,6 +21,7 @@
import com.facebook.react.module.annotations.ReactModule;

/** Native module that handles device hardware events like hardware back presses. */
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeDeviceEventManagerSpec.NAME)
public class DeviceEventManagerModule extends NativeDeviceEventManagerSpec {
@DoNotStrip
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import com.facebook.common.logging.FLog;
import com.facebook.fbreact.specs.NativeHeadlessJsTaskSupportSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.jstasks.HeadlessJsTaskContext;
Expand All @@ -18,6 +19,7 @@
* Simple native module that allows JS to notify native of having completed some task work, so that
* it can e.g. release any resources, stop timers etc.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeHeadlessJsTaskSupportSpec.NAME)
public class HeadlessJsTaskSupportModule extends NativeHeadlessJsTaskSupportSpec {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package com.facebook.react.modules.core;

import com.facebook.fbreact.specs.NativeTimingSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.LifecycleEventListener;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.WritableArray;
Expand All @@ -18,6 +19,7 @@
import com.facebook.react.module.annotations.ReactModule;

/** Native module for JS timer execution. Timers fire on frame boundaries. */
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeTimingSpec.NAME)
public final class TimingModule extends NativeTimingSpec
implements LifecycleEventListener, HeadlessJsTaskEventListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import androidx.annotation.Nullable;
import com.facebook.common.logging.FLog;
import com.facebook.fbreact.specs.NativeAnimationsDebugModuleSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.JSApplicationCausedNativeException;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.common.ReactConstants;
Expand All @@ -22,6 +23,7 @@
* Module that records debug information during transitions (animated navigation events such as
* going from one screen to another).
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeAnimationsDebugModuleSpec.NAME)
class AnimationsDebugModule extends NativeAnimationsDebugModuleSpec {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package com.facebook.react.modules.debug;

import com.facebook.fbreact.specs.NativeDevSettingsSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.UiThreadUtil;
Expand All @@ -19,6 +20,7 @@
/**
* Module that exposes the URL to the source code map (used for exception stack trace parsing) to JS
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeDevSettingsSpec.NAME)
public class DevSettingsModule extends NativeDevSettingsSpec {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package com.facebook.react.modules.debug;

import android.view.Choreographer;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener;
import com.facebook.react.bridge.ReactBridge;
import com.facebook.react.common.LongArray;
Expand All @@ -20,6 +21,7 @@
* a {@link ReactBridge} and a {@link UIManagerModule}, {@link #getDidJSHitFrameAndCleanup} should
* be called once per frame via a {@link Choreographer.FrameCallback}.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
class DidJSUpdateUiDuringFrameDetector
implements NotThreadSafeBridgeIdleDebugListener, NotThreadSafeViewHierarchyUpdateDebugListener {

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

import com.facebook.fbreact.specs.NativeSourceCodeSpec;
import com.facebook.infer.annotation.Assertions;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.module.annotations.ReactModule;
import java.util.HashMap;
Expand All @@ -17,6 +18,7 @@
/**
* Module that exposes the URL to the source code map (used for exception stack trace parsing) to JS
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeSourceCodeSpec.NAME)
public class SourceCodeModule extends NativeSourceCodeSpec {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@
import android.content.SharedPreferences.Editor;
import androidx.annotation.Nullable;
import com.facebook.fbreact.specs.NativeDevToolsSettingsManagerSpec;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.module.annotations.ReactModule;

@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = NativeDevToolsSettingsManagerSpec.NAME)
public class DevToolsSettingsManagerModule extends NativeDevToolsSettingsManagerSpec {
private static final String SHARED_PREFERENCES_PREFIX = "ReactNative__DevToolsSettings";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.facebook.imagepipeline.core.ImagePipeline;
import com.facebook.imagepipeline.core.ImagePipelineConfig;
import com.facebook.imagepipeline.listener.RequestListener;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.LifecycleEventListener;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
Expand All @@ -34,6 +35,7 @@
*
* <p>Does not expose any methods to JavaScript code. For initialization and cleanup only.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
@ReactModule(name = FrescoModule.NAME, needsEagerInit = true)
public class FrescoModule extends ReactContextBaseJavaModule
implements ModuleDataCleaner.Cleanable, LifecycleEventListener, TurboModule {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@

import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.ReadableMap;

/** Extended ImageRequest with request headers */
@Nullsafe(Nullsafe.Mode.LOCAL)
public class ReactNetworkImageRequest extends ImageRequest {

/** Headers for the request */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package com.facebook.react.modules.network;

import com.facebook.infer.annotation.Nullsafe;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
Expand All @@ -26,6 +27,7 @@
* @author Chris Nokleberg
* @since 1.0
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
class CountingOutputStream extends FilterOutputStream {

private long mCount;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import android.text.TextUtils;
import android.webkit.CookieManager;
import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.ReactContext;
import java.io.IOException;
Expand All @@ -25,6 +26,7 @@
* <p>This class relies on CookieManager to persist cookies to disk so cookies may be lost if the
* application is terminated before it syncs.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
public class ForwardingCookieHandler extends CookieHandler {
private static final String VERSION_ZERO_HEADER = "Set-cookie";
private static final String VERSION_ONE_HEADER = "Set-cookie2";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@

package com.facebook.react.modules.network;

import com.facebook.infer.annotation.Nullsafe;

/**
* The class purpose is to weaken too strict OkHttp restriction on http headers. See:
* https://github.com/square/okhttp/issues/2016 Auth headers might have an Authentication
* information. It is better to get 401 from the server in this case, rather than non descriptive
* error as 401 could be handled to invalidate the wrong token in the client code.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
class HeaderUtil {

public static String stripHeaderName(String name) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import android.content.Context;
import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Nullsafe;
import java.io.File;
import java.util.concurrent.TimeUnit;
import okhttp3.Cache;
Expand All @@ -18,6 +19,7 @@
* Helper class that provides the same OkHttpClient instance that will be used for all networking
* requests.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
public class OkHttpClientProvider {

// Centralized OkHttpClient for all networking requests.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package com.facebook.react.modules.network;

import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Nullsafe;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
Expand All @@ -17,6 +18,7 @@
import okhttp3.HttpUrl;

/** Basic okhttp3 CookieJar container */
@Nullsafe(Nullsafe.Mode.LOCAL)
public class ReactCookieJarContainer implements CookieJarContainer {

@Nullable private CookieJar cookieJar = null;
Expand Down
Loading