mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Make Vibration.vibrate compatible with TurboModules (#27951)
Summary: This PR fixes a compatibility issue with the Vibration module and TurboModules. The TurboModules spec doesn't allow nullable arguments of type Number, causing the following problem:  ## Changelog [iOS] [Fixed] - Make Vibration library compatible with TurboModules. Pull Request resolved: https://github.com/facebook/react-native/pull/27951 Test Plan: Just submitted a PR to my own app to fix the issue [here](https://github.com/rainbow-me/rainbow/pull/340) The problem should be reproducible on RNTester due to this line: https://github.com/facebook/react-native/blob/91f139b94118fe8db29728ea8ad855fc4a13f743/RNTester/js/examples/Vibration/VibrationExample.js#L66 and should be working on this branch. Reviewed By: TheSavior Differential Revision: D19761064 Pulled By: hramos fbshipit-source-id: 84f6b62a2734cc09d450e906b5866d4e9ce61124
This commit is contained in:
committed by
Facebook GitHub Bot
parent
8e48dc0555
commit
3904228704
@@ -31,5 +31,5 @@ public abstract class NativeVibrationSpec extends ReactContextBaseJavaModule imp
|
||||
public abstract void vibrateByPattern(ReadableArray pattern, double repeat);
|
||||
|
||||
@ReactMethod
|
||||
public abstract void vibrate(Double pattern);
|
||||
public abstract void vibrate(double pattern);
|
||||
}
|
||||
|
||||
+1
-1
@@ -2399,7 +2399,7 @@ namespace facebook {
|
||||
|
||||
|
||||
static facebook::jsi::Value __hostFunction_NativeVibrationSpecJSI_vibrate(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
||||
return static_cast<JavaTurboModule&>(turboModule).invokeJavaMethod(rt, VoidKind, "vibrate", "(Ljava/lang/Double;)V", args, count);
|
||||
return static_cast<JavaTurboModule&>(turboModule).invokeJavaMethod(rt, VoidKind, "vibrate", "(D)V", args, count);
|
||||
}
|
||||
|
||||
static facebook::jsi::Value __hostFunction_NativeVibrationSpecJSI_vibrateByPattern(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
||||
|
||||
+2
-2
@@ -31,8 +31,8 @@ public class VibrationModule extends NativeVibrationSpec {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void vibrate(Double durationDouble) {
|
||||
int duration = (int) durationDouble.doubleValue();
|
||||
public void vibrate(double durationDouble) {
|
||||
int duration = (int) durationDouble;
|
||||
|
||||
Vibrator v = (Vibrator) getReactApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
|
||||
if (v != null) {
|
||||
|
||||
Reference in New Issue
Block a user