From a8fbc5b893b5a4ed84fe30eead8f43c04c47ff6a Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Wed, 11 Dec 2019 11:28:40 -0800 Subject: [PATCH] Fix BlobModule getConstants() Summary: It's possible for us to return no constants from the BlobModule. Therefore, I'm correcting the flow-type. Changelog: [Internal] Reviewed By: fkgozali Differential Revision: D18932328 fbshipit-source-id: 2b415d12effd16eda313d5591825c711a20f9ae3 --- Libraries/Blob/NativeBlobModule.js | 2 +- .../com/facebook/fbreact/specs/NativeBlobModuleSpec.java | 7 +++---- .../java/com/facebook/react/modules/blob/BlobModule.java | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Libraries/Blob/NativeBlobModule.js b/Libraries/Blob/NativeBlobModule.js index 4810cd89f88..ab2572bd0ea 100644 --- a/Libraries/Blob/NativeBlobModule.js +++ b/Libraries/Blob/NativeBlobModule.js @@ -14,7 +14,7 @@ import type {TurboModule} from '../TurboModule/RCTExport'; import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry'; export interface Spec extends TurboModule { - +getConstants: () => {|BLOB_URI_SCHEME: string, BLOB_URI_HOST: ?string|}; + +getConstants: () => {|BLOB_URI_SCHEME: ?string, BLOB_URI_HOST: ?string|}; +addNetworkingHandler: () => void; +addWebSocketHandler: (id: number) => void; +removeWebSocketHandler: (id: number) => void; diff --git a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java index 14ea57f1d41..774bbfd390a 100644 --- a/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java +++ b/ReactAndroid/src/main/java/com/facebook/fbreact/specs/NativeBlobModuleSpec.java @@ -55,11 +55,10 @@ public abstract class NativeBlobModuleSpec extends ReactContextBaseJavaModule im public final @Nullable Map getConstants() { Map constants = getTypedExportedConstants(); if (ReactBuildConfig.DEBUG || ReactBuildConfig.IS_INTERNAL_BUILD) { - Set obligatoryFlowConstants = new HashSet<>(Arrays.asList( - "BLOB_URI_SCHEME" - )); + Set obligatoryFlowConstants = new HashSet<>(); Set optionalFlowConstants = new HashSet<>(Arrays.asList( - "BLOB_URI_HOST" + "BLOB_URI_HOST", + "BLOB_URI_SCHEME" )); Set undeclaredConstants = new HashSet<>(constants.keySet()); undeclaredConstants.removeAll(obligatoryFlowConstants); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java index bf432b9095a..12ce373ccab 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java @@ -163,7 +163,7 @@ public class BlobModule extends ReactContextBaseJavaModule { String packageName = getReactApplicationContext().getPackageName(); int resourceId = resources.getIdentifier("blob_provider_authority", "string", packageName); if (resourceId == 0) { - return null; + return MapBuilder.of(); } return MapBuilder.of(