mirror of
https://github.com/status-im/react-native.git
synced 2025-01-27 01:40:08 +00:00
ViewPagerAndroid: FIX folly::toJson: JSON object value was a NaN or INF
Summary:
Explain the **motivation** for making this change. What existing problem does the pull request solve?
Under certain scenario, `PageScrollEvent.offset` was initialized to `NaN`, which cause `folly::toJson` failed, and FIX #9750
<e71ecb2c4d/core/java/com/android/internal/widget/ViewPager.java (L1689)
>
![image](https://cloud.githubusercontent.com/assets/104052/18266416/2a01f882-744d-11e6-86c4-3a2de3a1ca25.png)
**Test plan (required)**
<http://stackoverflow.com/questions/39327429/reactnative-viewpagerandroid-rcteventemitter>
Closes https://github.com/facebook/react-native/pull/9755
Differential Revision: D3841674
Pulled By: andreicoman11
fbshipit-source-id: d4cd9f4b2f61daad9005a098161ad7f75555345d
This commit is contained in:
parent
68848f8c91
commit
6efe8e1d81
@ -141,7 +141,7 @@ class ViewPagerAndroid extends React.Component {
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
if (this.props.initialPage) {
|
||||
if (this.props.initialPage != null) {
|
||||
this.setPageWithoutAnimation(this.props.initialPage);
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,10 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
protected PageScrollEvent(int viewTag, int position, float offset) {
|
||||
super(viewTag);
|
||||
mPosition = position;
|
||||
mOffset = offset;
|
||||
|
||||
// folly::toJson default options don't support serialize NaN or Infinite value
|
||||
mOffset = (Float.isInfinite(offset) || Float.isNaN(offset))
|
||||
? 0.0f : offset;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user