diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/BUCK index 953bdc042..3d8e50a2f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/BUCK @@ -11,6 +11,7 @@ rn_android_library( "PUBLIC", ], deps = [ + react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/bridge:bridge"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java index 5f88a9775..48f52bce0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java @@ -9,10 +9,10 @@ package com.facebook.react.views.viewpager; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; -import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import com.facebook.common.logging.FLog; import com.facebook.react.bridge.ReactContext; import com.facebook.react.common.ReactConstants; import com.facebook.react.uimanager.UIManagerModule; @@ -185,7 +185,7 @@ public class ReactViewPager extends ViewPager { // Log and ignore the error. This seems to be a bug in the android SDK and // this is the commonly accepted workaround. // https://tinyurl.com/mw6qkod (Stack Overflow) - Log.w(ReactConstants.TAG, "Error intercepting touch event.", e); + FLog.w(ReactConstants.TAG, "Error intercepting touch event.", e); } return false; @@ -197,7 +197,16 @@ public class ReactViewPager extends ViewPager { return false; } - return super.onTouchEvent(ev); + try { + return super.onTouchEvent(ev); + } catch (IllegalArgumentException e) { + // Log and ignore the error. This seems to be a bug in the android SDK and + // this is the commonly accepted workaround. + // https://fburl.com/5d3iw7d9 + FLog.w(ReactConstants.TAG, "Error handling touch event.", e); + } + + return false; } public void setCurrentItemFromJs(int item, boolean animated) {