Skip to content

Commit 40a367e

Browse files
RSNarafacebook-github-bot
authored andcommitted
Make ClipboardModule TurboModule-compatible
Summary: We forgot to make ClipboardModule TurboModule compatible. I think this was most likely because our codemods targeted all Java classes that extended ReactContextBaseJavaModule. The ClipboardModule extends ContextBaseJavaModule instead. There are no other NativeModules that extend ContextBaseJavaModule. Changelog: [Internal] Reviewed By: sshic Differential Revision: D31291293 fbshipit-source-id: cf5d21898101699f8c349b013a77e8329339a8d3
1 parent 95187f7 commit 40a367e

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_target", "rn_android_library")
1+
load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_root_target", "react_native_target", "rn_android_library")
22

33
rn_android_library(
44
name = "clipboard",
@@ -16,4 +16,7 @@ rn_android_library(
1616
react_native_target("java/com/facebook/react/common:common"),
1717
react_native_target("java/com/facebook/react/module/annotations:annotations"),
1818
],
19+
exported_deps = [
20+
react_native_root_target(":FBReactNativeSpec"),
21+
],
1922
)

ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,16 @@
99

1010
import android.content.ClipData;
1111
import android.content.ClipboardManager;
12-
import android.content.Context;
13-
import com.facebook.react.bridge.ContextBaseJavaModule;
12+
import com.facebook.fbreact.specs.NativeClipboardSpec;
1413
import com.facebook.react.bridge.Promise;
15-
import com.facebook.react.bridge.ReactMethod;
14+
import com.facebook.react.bridge.ReactApplicationContext;
1615
import com.facebook.react.module.annotations.ReactModule;
1716

1817
/** A module that allows JS to get/set clipboard contents. */
1918
@ReactModule(name = ClipboardModule.NAME)
20-
public class ClipboardModule extends ContextBaseJavaModule {
19+
public class ClipboardModule extends NativeClipboardSpec {
2120

22-
public ClipboardModule(Context context) {
21+
public ClipboardModule(ReactApplicationContext context) {
2322
super(context);
2423
}
2524

@@ -31,10 +30,12 @@ public String getName() {
3130
}
3231

3332
private ClipboardManager getClipboardService() {
34-
return (ClipboardManager) getContext().getSystemService(getContext().CLIPBOARD_SERVICE);
33+
return (ClipboardManager)
34+
getReactApplicationContext()
35+
.getSystemService(getReactApplicationContext().CLIPBOARD_SERVICE);
3536
}
3637

37-
@ReactMethod
38+
@Override
3839
public void getString(Promise promise) {
3940
try {
4041
ClipboardManager clipboard = getClipboardService();
@@ -50,7 +51,7 @@ public void getString(Promise promise) {
5051
}
5152
}
5253

53-
@ReactMethod
54+
@Override
5455
public void setString(String text) {
5556
ClipData clipdata = ClipData.newPlainText(null, text);
5657
ClipboardManager clipboard = getClipboardService();

ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import android.annotation.SuppressLint;
1414
import android.content.Context;
1515
import android.text.ClipboardManager;
16+
import com.facebook.react.bridge.ReactApplicationContext;
1617
import org.junit.Before;
1718
import org.junit.Test;
1819
import org.junit.runner.RunWith;
@@ -32,7 +33,8 @@ public class ClipboardModuleTest {
3233

3334
@Before
3435
public void setUp() {
35-
mClipboardModule = new ClipboardModule(RuntimeEnvironment.application);
36+
mClipboardModule =
37+
new ClipboardModule(new ReactApplicationContext(RuntimeEnvironment.application));
3638
mClipboardManager =
3739
(ClipboardManager)
3840
RuntimeEnvironment.application.getSystemService(Context.CLIPBOARD_SERVICE);

0 commit comments

Comments
 (0)