From f7608d553c4699a3b151932704aed9937b070b81 Mon Sep 17 00:00:00 2001 From: Eli White Date: Wed, 26 Jun 2019 16:43:32 -0700 Subject: [PATCH] Support commands as strings in ViewPagerAndroid Summary: See https://github.com/facebook/react-native/commit/3cae6fa950eed54bccccf61a28c0e85d5a004c6c for more context This component isn't exposed from the public API anymore because it has been moved to https://github.com/react-native-community/react-native-viewpager This change will need to be made there but for FB internal which is still using this native code for now we need this migration Reviewed By: mdvacca Differential Revision: D16015151 fbshipit-source-id: 7a1b35e782e4ab4f6c01fa1824cdb9c61718a2db --- .../viewpager/ReactViewPagerManager.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java index ff5fdc22e02..a08cf3939bb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPagerManager.java @@ -94,6 +94,30 @@ public class ReactViewPagerManager extends ViewGroupManager { } } + @Override + public void receiveCommand( + ReactViewPager viewPager, + String commandType, + @Nullable ReadableArray args) { + Assertions.assertNotNull(viewPager); + Assertions.assertNotNull(args); + switch (commandType) { + case "setPage": { + viewPager.setCurrentItemFromJs(args.getInt(0), true); + return; + } + case "setPageWithoutAnimation": { + viewPager.setCurrentItemFromJs(args.getInt(0), false); + return; + } + default: + throw new IllegalArgumentException(String.format( + "Unsupported command %d received by %s.", + commandType, + getClass().getSimpleName())); + } + } + @Override public void addView(ReactViewPager parent, View child, int index) { parent.addViewToAdapter(child, index);