react-native-ui-lib 8.0.1 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/jestSetup/jest-setup.js +154 -0
- package/lib/components/DynamicFonts/FontDownloader.d.js +1 -0
- package/lib/components/DynamicFonts/FontLoader.d.js +1 -0
- package/lib/components/DynamicFonts/NoPermissionsAcquirer.d.js +1 -0
- package/lib/components/DynamicFonts/PermissionsAcquirer.android.d.js +1 -0
- package/lib/components/DynamicFonts/PermissionsAcquirer.ios.d.js +2 -0
- package/lib/components/DynamicFonts/PermissionsAcquirer.web.d.js +2 -0
- package/lib/components/DynamicFonts/RNFSPackage.d.js +1 -0
- package/lib/components/DynamicFonts/index.d.js +3 -0
- package/lib/components/HighlighterOverlayView/index.d.js +1 -0
- package/lib/components/HighlighterOverlayView/index.web.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.d.js +2 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.d.js +2 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.d.js +2 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.d.js +5 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.d.js +1 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/index.d.js +7 -0
- package/lib/components/Keyboard/KeyboardAwareInsetsView/index.d.js +1 -0
- package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.d.js +1 -0
- package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.d.js +10 -0
- package/lib/components/Keyboard/KeyboardTrackingView/index.d.js +1 -0
- package/lib/components/Keyboard/KeyboardTrackingView/index.web.d.js +1 -0
- package/lib/components/Keyboard/index.d.js +4 -0
- package/lib/components/SafeArea/SafeAreaInsetsManager.d.js +1 -0
- package/lib/components/SafeArea/SafeAreaSpacerView.d.js +1 -0
- package/lib/components/SafeArea/SafeAreaSpacerView.web.d.js +1 -0
- package/lib/components/SafeArea/index.d.js +1 -0
- package/lib/components/index.d.js +6 -0
- package/lib/scripts/releaseNative.js +72 -0
- package/lib/specs/HighlighterViewNativeComponent.d.js +1 -0
- package/lib/specs/HighlighterViewNativeComponent.d.ts +61 -0
- package/lib/specs/HighlighterViewNativeComponent.js +8 -0
- package/lib/specs/KeyboardTrackingViewNativeComponent.d.js +1 -0
- package/lib/specs/KeyboardTrackingViewNativeComponent.d.ts +58 -0
- package/lib/specs/KeyboardTrackingViewNativeComponent.js +8 -0
- package/package.json +7 -31
- package/scripts/build/build.js +35 -0
- package/scripts/build/buildPackages/buildComponentsPackages.js +18 -0
- package/scripts/build/buildPackages/buildCustomPackages.js +106 -0
- package/scripts/build/buildPackages/index.js +6 -0
- package/scripts/createCalendarMockData.js +37 -0
- package/scripts/docs/buildDocs.js +1 -0
- package/scripts/prepush.js +71 -0
- package/scripts/release/prReleaseNotes.js +6 -0
- package/scripts/release/release.js +99 -0
- package/scripts/updateWebAssets.js +88 -0
- package/scripts/utils.js +21 -0
- package/src/assets/__tests__/Assets.spec.js +110 -0
- package/src/commons/__tests__/baseComponent.spec.js +36 -0
- package/src/commons/__tests__/constants.spec.js +202 -0
- package/src/commons/__tests__/modifiers.spec.js +453 -0
- package/src/components/WheelPicker/__tests__/index.spec.js +121 -0
- package/src/components/WheelPicker/__tests__/useListMiddleIndex.spec.js +40 -0
- package/src/components/WheelPicker/__tests__/usePresenter.spec.js +87 -0
- package/src/components/avatar/__tests__/index.spec.js +25 -0
- package/src/components/badge/__tests__/index.spec.js +84 -0
- package/src/components/button/__tests__/index.driver.spec.js +209 -0
- package/src/components/button/__tests__/index.spec.js +287 -0
- package/src/components/button/index.js +30 -8
- package/src/components/card/__tests__/CardPresenter.spec.js +35 -0
- package/src/components/carousel/__tests__/CarouselPresenter.spec.js +52 -0
- package/src/components/carousel/__tests__/index.spec.js +89 -0
- package/src/components/carousel/index.js +2 -1
- package/src/components/checkbox/__tests__/index.spec.js +357 -0
- package/src/components/chip/__tests__/index.spec.js +63 -0
- package/src/components/colorSwatch/index.js +1 -1
- package/src/components/connectionStatusBar/__tests__/index.spec.js +41 -0
- package/src/components/dateTimePicker/__tests__/index.spec.js +44 -0
- package/src/components/dialog/__tests__/index.new.spec.js +118 -0
- package/src/components/featureHighlight/__tests__/index.spec.js +76 -0
- package/src/components/floatingButton/__tests__/index.spec.js +229 -0
- package/src/components/floatingButton/index.js +66 -35
- package/src/components/hint/__tests__/index.spec.js +108 -0
- package/src/components/image/__tests__/index.spec.js +56 -0
- package/src/components/image/image.api.json +193 -1
- package/src/components/maskedInput/__tests__/maskedInput.new.spec.js +19 -0
- package/src/components/maskedInput/__tests__/maskedInput.old.spec.js +20 -0
- package/src/components/modal/__tests__/index.spec.js +58 -0
- package/src/components/numberInput/__tests__/Presenter.spec.js +374 -0
- package/src/components/numberInput/__tests__/index.spec.js +38 -0
- package/src/components/numberInput/numberInput.api.json +131 -6
- package/src/components/overlay/index.js +2 -1
- package/src/components/pageControl/pageControl.api.json +175 -1
- package/src/components/panView/__tests__/panningUtil.spec.js +693 -0
- package/src/components/picker/__tests__/PickerPresenter.spec.js +15 -0
- package/src/components/picker/__tests__/index.spec.js +364 -0
- package/src/components/picker/helpers/__tests__/usePickerLabel.spec.js +96 -0
- package/src/components/radioButton/__tests__/index.spec.js +43 -0
- package/src/components/radioGroup/__tests__/index.spec.js +96 -0
- package/src/components/sectionsWheelPicker/__tests__/index.spec.js +35 -0
- package/src/components/sectionsWheelPicker/__tests__/mockSections.js +28 -0
- package/src/components/segmentedControl/__tests__/index.spec.js +25 -0
- package/src/components/slider/__tests__/index.spec.js +35 -0
- package/src/components/slider/index.js +12 -1
- package/src/components/slider/slider.api.json +11 -0
- package/src/components/sortableGridList/__tests__/index.spec.js +51 -0
- package/src/components/sortableGridList/__tests__/usePresenter.spec.js +231 -0
- package/src/components/sortableGridList/sortableGridList.api.json +44 -1
- package/src/components/sortableList/SortableList.api.json +51 -3
- package/src/components/sortableList/__tests__/index.spec.js +105 -0
- package/src/components/stackAggregator/assets/arrow-down.png +0 -0
- package/src/components/stackAggregator/assets/arrow-down@2x.png +0 -0
- package/src/components/stackAggregator/assets/arrow-down@3x.png +0 -0
- package/src/components/switch/__tests__/index.spec.js +96 -0
- package/src/components/text/__tests__/index.driver.spec.js +124 -0
- package/src/components/text/__tests__/index.spec.js +245 -0
- package/src/components/textField/__tests__/Presenter.spec.js +240 -0
- package/src/components/textField/__tests__/index.driver.spec.js +639 -0
- package/src/components/timeline/__tests__/driver.index.spec.js +133 -0
- package/src/helpers/__tests__/AvatarHelper.spec.js +170 -0
- package/src/hooks/useDidUpdate/__tests__/useDidUpdate.spec.js +80 -0
- package/src/hooks/useOrientation/__tests__/useOrientation.spec.js +70 -0
- package/src/hooks/useToggleValue/__tests__/useToggleValue.spec.js +89 -0
- package/src/incubator/calendar/__tests__/DateUtils.spec.js +367 -0
- package/src/incubator/expandableOverlay/__tests__/index.spec.js +114 -0
- package/src/incubator/gradient/__tests__/useAngleTransform.spec.js +126 -0
- package/src/incubator/slider/__tests__/SliderPresenter.spec.js +43 -0
- package/src/incubator/slider/__tests__/index.spec.js +34 -0
- package/src/incubator/slider/slider.api.json +11 -0
- package/src/incubator/toast/__tests__/index.spec.js +64 -0
- package/src/style/__tests__/colors.spec.js +313 -0
- package/src/style/__tests__/scheme.spec.js +119 -0
- package/src/style/typographyPresets.js +26 -23
- package/src/utils/__tests__/Playground.perf.js +14 -0
- package/src/utils/__tests__/imageUtils.spec.js +54 -0
- package/src/utils/__tests__/textUtils.spec.js +446 -0
- package/.eslintrc.js +0 -56
- package/babel.config.js +0 -35
- package/index.js +0 -10
- package/lib/android/build.gradle +0 -32
- package/lib/android/src/main/AndroidManifest.xml +0 -4
- package/lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java +0 -28
- package/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java +0 -139
- package/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java +0 -28
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java +0 -33
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java +0 -50
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java +0 -167
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java +0 -131
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java +0 -28
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java +0 -50
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java +0 -52
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java +0 -213
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java +0 -39
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java +0 -29
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java +0 -29
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java +0 -34
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java +0 -49
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java +0 -16
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java +0 -83
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java +0 -163
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java +0 -5
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java +0 -33
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java +0 -65
- package/lib/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java +0 -45
- package/lib/android/src/main/res/layout/wheel_picker.xml +0 -9
- package/lib/android/src/main/res/values/colors.xml +0 -9
- package/lib/android/src/main/res/values/styles.xml +0 -9
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json +0 -50
- package/lib/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json +0 -58
- package/lib/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json +0 -14
- package/lib/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json +0 -86
- package/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.h +0 -9
- package/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.m +0 -115
- package/lib/ios/reactnativeuilib/highlighterview/HighlighterView.h +0 -19
- package/lib/ios/reactnativeuilib/highlighterview/HighlighterView.m +0 -216
- package/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h +0 -6
- package/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m +0 -28
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h +0 -39
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m +0 -160
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h +0 -36
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m +0 -121
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h +0 -48
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m +0 -27
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h +0 -16
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h +0 -19
- package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm +0 -155
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h +0 -16
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m +0 -450
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h +0 -18
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m +0 -99
- package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h +0 -14
- package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +0 -827
- package/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h +0 -44
- package/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m +0 -171
- package/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h +0 -6
- package/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m +0 -17
- package/lib/ios/reactnativeuilib/safearea/SafeAreaManager.h +0 -6
- package/lib/ios/reactnativeuilib/safearea/SafeAreaManager.m +0 -105
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h +0 -5
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m +0 -20
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h +0 -7
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m +0 -76
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h +0 -9
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m +0 -14
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h +0 -5
- package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m +0 -26
- package/lib/ios/reactnativeuilib.xcodeproj/project.pbxproj +0 -435
- package/metro.config.js +0 -23
- package/src/.babelrc.json +0 -23
- package/src/assets/Assets.d.ts +0 -5
- package/src/assets/emojis/index.d.ts +0 -1343
- package/src/assets/index.d.ts +0 -3
- package/src/assets/internal/index.d.ts +0 -4
- package/src/commons/Config.d.ts +0 -24
- package/src/commons/Constants.d.ts +0 -54
- package/src/commons/UIComponent.d.ts +0 -4
- package/src/commons/asBaseComponent.d.ts +0 -15
- package/src/commons/baseComponent.d.ts +0 -2
- package/src/commons/forwardRef.d.ts +0 -8
- package/src/commons/modifiers.d.ts +0 -118
- package/src/commons/new.d.ts +0 -8
- package/src/commons/withScrollEnabler.d.ts +0 -13
- package/src/commons/withScrollReached.d.ts +0 -35
- package/src/components/WheelPicker/Item.d.ts +0 -28
- package/src/components/WheelPicker/WheelPicker.driver.d.ts +0 -18
- package/src/components/WheelPicker/WheelPickerItem.driver.d.ts +0 -8
- package/src/components/WheelPicker/helpers/useListMiddleIndex.d.ts +0 -6
- package/src/components/WheelPicker/index.d.ts +0 -88
- package/src/components/WheelPicker/types.d.ts +0 -6
- package/src/components/WheelPicker/usePresenter.d.ts +0 -21
- package/src/components/actionBar/index.d.ts +0 -35
- package/src/components/actionSheet/index.d.ts +0 -80
- package/src/components/animatedImage/index.d.ts +0 -28
- package/src/components/avatar/index.d.ts +0 -382
- package/src/components/badge/index.d.ts +0 -879
- package/src/components/baseInput/Validators.d.ts +0 -8
- package/src/components/baseInput/index.d.ts +0 -29
- package/src/components/button/Button.driver.new.d.ts +0 -34
- package/src/components/button/ButtonConstants.d.ts +0 -26
- package/src/components/button/index.d.ts +0 -572
- package/src/components/button/types.d.ts +0 -153
- package/src/components/card/CardContext.d.ts +0 -3
- package/src/components/card/CardImage.d.ts +0 -20
- package/src/components/card/CardPresenter.d.ts +0 -12
- package/src/components/card/CardSection.d.ts +0 -79
- package/src/components/card/asCardChild.d.ts +0 -6
- package/src/components/card/index.d.ts +0 -120
- package/src/components/carousel/Carousel.driver.new.d.ts +0 -9
- package/src/components/carousel/CarouselPresenter.d.ts +0 -9
- package/src/components/carousel/index.d.ts +0 -73
- package/src/components/carousel/types.d.ts +0 -107
- package/src/components/checkbox/Checkbox.driver.d.ts +0 -15
- package/src/components/checkbox/index.d.ts +0 -129
- package/src/components/chip/chip.driver.d.ts +0 -33
- package/src/components/chip/index.d.ts +0 -209
- package/src/components/chipsInput/index.d.ts +0 -55
- package/src/components/colorPalette/index.d.ts +0 -116
- package/src/components/colorPicker/ColorPickerDialog.d.ts +0 -39
- package/src/components/colorPicker/ColorPickerDialogHeader.d.ts +0 -9
- package/src/components/colorPicker/ColorPickerDialogSliders.d.ts +0 -10
- package/src/components/colorPicker/ColorPickerPresenter.d.ts +0 -16
- package/src/components/colorPicker/ColorPickerPreview.d.ts +0 -12
- package/src/components/colorPicker/index.d.ts +0 -45
- package/src/components/colorSwatch/index.d.ts +0 -50
- package/src/components/connectionStatusBar/index.d.ts +0 -33
- package/src/components/connectionStatusBar/types.d.ts +0 -28
- package/src/components/dash/index.d.ts +0 -19
- package/src/components/dateTimePicker/DateTimePicker.driver.d.ts +0 -7
- package/src/components/dateTimePicker/index.d.ts +0 -288
- package/src/components/dateTimePicker/useOldApi.d.ts +0 -27
- package/src/components/dialog/Dialog.driver.new.d.ts +0 -6
- package/src/components/dialog/DialogHeader.d.ts +0 -4
- package/src/components/dialog/index.d.ts +0 -15
- package/src/components/dialog/types.d.ts +0 -138
- package/src/components/dialog/useDialogContent.d.ts +0 -13
- package/src/components/drawer/Swipeable.d.ts +0 -94
- package/src/components/drawer/index.d.ts +0 -161
- package/src/components/expandableSection/index.d.ts +0 -40
- package/src/components/fadedScrollView/index.d.ts +0 -59
- package/src/components/fader/index.d.ts +0 -37
- package/src/components/featureHighlight/index.d.ts +0 -147
- package/src/components/floatingButton/index.d.ts +0 -85
- package/src/components/gradient/index.d.ts +0 -19
- package/src/components/gridList/index.d.ts +0 -5
- package/src/components/gridList/types.d.ts +0 -29
- package/src/components/gridList/useGridLayout.d.ts +0 -15
- package/src/components/gridListItem/index.d.ts +0 -132
- package/src/components/gridView/index.d.ts +0 -80
- package/src/components/hint/Hint.driver.d.ts +0 -6
- package/src/components/hint/Hint.driver.new.d.ts +0 -19
- package/src/components/hint/HintAnchor.d.ts +0 -13
- package/src/components/hint/HintBubble.d.ts +0 -12
- package/src/components/hint/HintMockChildren.d.ts +0 -8
- package/src/components/hint/HintOld.d.ts +0 -196
- package/src/components/hint/hooks/useHintAccessibility.d.ts +0 -10
- package/src/components/hint/hooks/useHintLayout.d.ts +0 -13
- package/src/components/hint/hooks/useHintPosition.d.ts +0 -29
- package/src/components/hint/hooks/useHintVisibility.d.ts +0 -6
- package/src/components/hint/index.d.ts +0 -14
- package/src/components/hint/types.d.ts +0 -106
- package/src/components/icon/index.d.ts +0 -97
- package/src/components/image/Image.driver.d.ts +0 -4
- package/src/components/image/Image.driver.new.d.ts +0 -2
- package/src/components/image/index.d.ts +0 -192
- package/src/components/listItem/ListItemPart.d.ts +0 -15
- package/src/components/listItem/index.d.ts +0 -52
- package/src/components/listItem/types.d.ts +0 -60
- package/src/components/loaderScreen/index.d.ts +0 -13
- package/src/components/loaderScreen/types.d.ts +0 -32
- package/src/components/marquee/index.d.ts +0 -5
- package/src/components/marquee/types.d.ts +0 -35
- package/src/components/maskedInput/index.d.ts +0 -5
- package/src/components/maskedInput/new.d.ts +0 -22
- package/src/components/modal/Modal.driver.new.d.ts +0 -8
- package/src/components/modal/TopBar.d.ts +0 -89
- package/src/components/modal/index.d.ts +0 -64
- package/src/components/numberInput/NumberInput.driver.d.ts +0 -6
- package/src/components/numberInput/Presenter.d.ts +0 -21
- package/src/components/numberInput/index.d.ts +0 -57
- package/src/components/overlay/index.d.ts +0 -68
- package/src/components/pageControl/index.d.ts +0 -56
- package/src/components/panView/index.d.ts +0 -21
- package/src/components/panView/panningUtil.d.ts +0 -38
- package/src/components/panView/usePanGesture.d.ts +0 -49
- package/src/components/picker/Picker.driver.new.d.ts +0 -44
- package/src/components/picker/PickerContext.d.ts +0 -4
- package/src/components/picker/PickerItem.d.ts +0 -11
- package/src/components/picker/PickerItemsList.d.ts +0 -4
- package/src/components/picker/PickerPresenter.d.ts +0 -7
- package/src/components/picker/PickerSelectionStatusBar.d.ts +0 -3
- package/src/components/picker/helpers/useFieldType.d.ts +0 -373
- package/src/components/picker/helpers/useImperativePickerHandle.d.ts +0 -5
- package/src/components/picker/helpers/useNewPickerProps.d.ts +0 -3
- package/src/components/picker/helpers/usePickerLabel.d.ts +0 -17
- package/src/components/picker/helpers/usePickerMigrationWarnings.d.ts +0 -4
- package/src/components/picker/helpers/usePickerSearch.d.ts +0 -9
- package/src/components/picker/helpers/usePickerSelection.d.ts +0 -16
- package/src/components/picker/index.d.ts +0 -15
- package/src/components/picker/types.d.ts +0 -321
- package/src/components/pieChart/PieSegment.d.ts +0 -34
- package/src/components/pieChart/index.d.ts +0 -15
- package/src/components/progressBar/index.d.ts +0 -65
- package/src/components/progressiveImage/index.d.ts +0 -23
- package/src/components/radioButton/RadioButton.driver.d.ts +0 -9
- package/src/components/radioButton/index.d.ts +0 -121
- package/src/components/radioGroup/RadioGroup.driver.d.ts +0 -13
- package/src/components/radioGroup/RadioGroupContext.d.ts +0 -14
- package/src/components/radioGroup/asRadioGroupChild.d.ts +0 -2
- package/src/components/radioGroup/index.d.ts +0 -47
- package/src/components/scrollBar/index.d.ts +0 -88
- package/src/components/searchInput/index.d.ts +0 -37
- package/src/components/searchInput/types.d.ts +0 -66
- package/src/components/sectionsWheelPicker/SectionsWheelPicker.driver.d.ts +0 -25
- package/src/components/sectionsWheelPicker/index.d.ts +0 -43
- package/src/components/segmentedControl/index.d.ts +0 -90
- package/src/components/segmentedControl/segment.d.ts +0 -111
- package/src/components/segmentedControl/useSegmentedControlPreset.d.ts +0 -10
- package/src/components/skeletonView/index.d.ts +0 -163
- package/src/components/slider/ColorSliderGroup.d.ts +0 -13
- package/src/components/slider/GradientSlider.d.ts +0 -20
- package/src/components/slider/SliderContext.d.ts +0 -8
- package/src/components/slider/Thumb.d.ts +0 -32
- package/src/components/slider/index.d.ts +0 -31
- package/src/components/slider/slider.driver.d.ts +0 -5
- package/src/components/slider/types.d.ts +0 -197
- package/src/components/sortableGridList/SortableItem.d.ts +0 -6
- package/src/components/sortableGridList/index.d.ts +0 -5
- package/src/components/sortableGridList/types.d.ts +0 -34
- package/src/components/sortableGridList/usePresenter.d.ts +0 -21
- package/src/components/sortableList/SortableList.driver.new.d.ts +0 -2
- package/src/components/sortableList/SortableListContext.d.ts +0 -19
- package/src/components/sortableList/SortableListItem.d.ts +0 -8
- package/src/components/sortableList/SortableListItem.driver.new.d.ts +0 -11
- package/src/components/sortableList/index.d.ts +0 -5
- package/src/components/sortableList/types.d.ts +0 -48
- package/src/components/sortableList/usePresenter.d.ts +0 -12
- package/src/components/stackAggregator/index.d.ts +0 -89
- package/src/components/stateScreen/index.d.ts +0 -5
- package/src/components/stateScreen/types.d.ts +0 -30
- package/src/components/stepper/index.d.ts +0 -47
- package/src/components/svgImage/index.d.ts +0 -14
- package/src/components/svgImage/index.web.d.ts +0 -18
- package/src/components/switch/index.d.ts +0 -102
- package/src/components/switch/switch.driver.d.ts +0 -18
- package/src/components/tabController/PageCarousel.d.ts +0 -9
- package/src/components/tabController/TabBar.d.ts +0 -97
- package/src/components/tabController/TabBarContext.d.ts +0 -18
- package/src/components/tabController/TabBarItem.d.ts +0 -105
- package/src/components/tabController/TabPage.d.ts +0 -33
- package/src/components/tabController/index.d.ts +0 -48
- package/src/components/tabController/useImperativeTabControllerHandle.d.ts +0 -6
- package/src/components/tabController/useScrollToItem.d.ts +0 -79
- package/src/components/text/Text.driver.d.ts +0 -7
- package/src/components/text/Text.driver.new.d.ts +0 -17
- package/src/components/text/index.d.ts +0 -195
- package/src/components/textField/CharCounter.d.ts +0 -7
- package/src/components/textField/ClearButton.d.ts +0 -4
- package/src/components/textField/FieldContext.d.ts +0 -4
- package/src/components/textField/FloatingPlaceholder.d.ts +0 -7
- package/src/components/textField/Input.d.ts +0 -8
- package/src/components/textField/Label.d.ts +0 -7
- package/src/components/textField/Presenter.d.ts +0 -7
- package/src/components/textField/TextField.driver.new.d.ts +0 -129
- package/src/components/textField/ValidationMessage.d.ts +0 -7
- package/src/components/textField/index.d.ts +0 -114
- package/src/components/textField/presets/outline.d.ts +0 -737
- package/src/components/textField/presets/underline.d.ts +0 -735
- package/src/components/textField/textInput/index.d.ts +0 -1
- package/src/components/textField/textInput/index.web.d.ts +0 -3
- package/src/components/textField/types.d.ts +0 -287
- package/src/components/textField/useFieldState.d.ts +0 -16
- package/src/components/textField/useImperativeInputHandle.d.ts +0 -4
- package/src/components/textField/usePreset.d.ts +0 -1696
- package/src/components/textField/validators.d.ts +0 -9
- package/src/components/textFieldOld/index.d.ts +0 -71
- package/src/components/timeline/Line.d.ts +0 -10
- package/src/components/timeline/Point.d.ts +0 -9
- package/src/components/timeline/index.d.ts +0 -11
- package/src/components/timeline/line.driver.d.ts +0 -10
- package/src/components/timeline/point.driver.d.ts +0 -8
- package/src/components/timeline/timeline.driver.d.ts +0 -25
- package/src/components/timeline/types.d.ts +0 -50
- package/src/components/touchableOpacity/index.d.ts +0 -50
- package/src/components/view/View.driver.new.d.ts +0 -7
- package/src/components/view/index.d.ts +0 -46
- package/src/components/wizard/WizardStates.d.ts +0 -2
- package/src/components/wizard/WizardStep.d.ts +0 -4
- package/src/components/wizard/index.d.ts +0 -31
- package/src/components/wizard/types.d.ts +0 -90
- package/src/helpers/AvatarHelper.d.ts +0 -9
- package/src/helpers/FormattingPresenter.d.ts +0 -6
- package/src/helpers/Profiler.d.ts +0 -22
- package/src/helpers/index.d.ts +0 -3
- package/src/hooks/index.d.ts +0 -14
- package/src/hooks/useCombinedRefs/index.d.ts +0 -3
- package/src/hooks/useDebounce/index.d.ts +0 -5
- package/src/hooks/useDidUpdate/index.d.ts +0 -6
- package/src/hooks/useHiddenLocation/index.d.ts +0 -13
- package/src/hooks/useHiddenLocation/index.web.d.ts +0 -13
- package/src/hooks/useKeyboardHeight/index.d.ts +0 -5
- package/src/hooks/useMeasure/index.d.ts +0 -15
- package/src/hooks/useModifiers/index.d.ts +0 -3
- package/src/hooks/useOrientation/index.d.ts +0 -7
- package/src/hooks/useScrollEnabler/index.d.ts +0 -23
- package/src/hooks/useScrollReached/index.d.ts +0 -28
- package/src/hooks/useScrollTo/index.d.ts +0 -37
- package/src/hooks/useScrollToItem/index.d.ts +0 -65
- package/src/hooks/useThemeProps/index.d.ts +0 -2
- package/src/hooks/useToggleValue/index.d.ts +0 -2
- package/src/incubator/TouchableOpacity.d.ts +0 -52
- package/src/incubator/calendar/Agenda.d.ts +0 -4
- package/src/incubator/calendar/CalendarContext.d.ts +0 -4
- package/src/incubator/calendar/CalendarItem.d.ts +0 -5
- package/src/incubator/calendar/Day.d.ts +0 -4
- package/src/incubator/calendar/Day_OLD.d.ts +0 -4
- package/src/incubator/calendar/Header.d.ts +0 -4
- package/src/incubator/calendar/Month.d.ts +0 -4
- package/src/incubator/calendar/TodayButton.d.ts +0 -4
- package/src/incubator/calendar/Week.d.ts +0 -4
- package/src/incubator/calendar/WeekDaysNames.d.ts +0 -4
- package/src/incubator/calendar/helpers/CalendarProcessor.d.ts +0 -2
- package/src/incubator/calendar/helpers/DataProcessor.d.ts +0 -2
- package/src/incubator/calendar/helpers/DateUtils.d.ts +0 -23
- package/src/incubator/calendar/index.d.ts +0 -7
- package/src/incubator/calendar/types.d.ts +0 -118
- package/src/incubator/expandableOverlay/ExpandableOverlay.driver.d.ts +0 -7
- package/src/incubator/expandableOverlay/index.d.ts +0 -83
- package/src/incubator/gradient/BorderGradient.d.ts +0 -4
- package/src/incubator/gradient/CircleGradient.d.ts +0 -4
- package/src/incubator/gradient/RectangleGradient.d.ts +0 -4
- package/src/incubator/gradient/index.d.ts +0 -5
- package/src/incubator/gradient/types.d.ts +0 -26
- package/src/incubator/gradient/useAngleTransform.d.ts +0 -27
- package/src/incubator/index.d.ts +0 -9
- package/src/incubator/slider/Slider.driver.d.ts +0 -5
- package/src/incubator/slider/SliderPresenter.d.ts +0 -6
- package/src/incubator/slider/Thumb.d.ts +0 -24
- package/src/incubator/slider/Track.d.ts +0 -13
- package/src/incubator/slider/index.d.ts +0 -139
- package/src/incubator/toast/Toast.driver.new.d.ts +0 -54
- package/src/incubator/toast/helpers/useToastAnimation.d.ts +0 -22
- package/src/incubator/toast/helpers/useToastPresets.d.ts +0 -8
- package/src/incubator/toast/helpers/useToastTimer.d.ts +0 -6
- package/src/incubator/toast/index.d.ts +0 -9
- package/src/incubator/toast/types.d.ts +0 -111
- package/src/index.d.ts +0 -92
- package/src/optionalDependencies/BlurViewPackage.d.ts +0 -2
- package/src/optionalDependencies/BlurViewPackage.web.d.ts +0 -2
- package/src/optionalDependencies/DateTimePickerPackage.d.ts +0 -2
- package/src/optionalDependencies/FlashListPackage.d.ts +0 -2
- package/src/optionalDependencies/HapticFeedbackPackage.d.ts +0 -2
- package/src/optionalDependencies/LinearGradientPackage.d.ts +0 -2
- package/src/optionalDependencies/MomentPackage.d.ts +0 -2
- package/src/optionalDependencies/NetInfoPackage.d.ts +0 -2
- package/src/optionalDependencies/PostCssPackage.d.ts +0 -5
- package/src/optionalDependencies/ShimmerPackage.d.ts +0 -2
- package/src/optionalDependencies/SvgPackage.d.ts +0 -3
- package/src/optionalDependencies/index.d.ts +0 -9
- package/src/optionalDependencies/index.web.d.ts +0 -7
- package/src/services/HapticService.d.ts +0 -15
- package/src/services/LogService.d.ts +0 -35
- package/src/services/index.d.ts +0 -2
- package/src/style/borderRadiuses.d.ts +0 -30
- package/src/style/colorName.d.ts +0 -8
- package/src/style/colorNameMap.d.ts +0 -2
- package/src/style/colors.d.ts +0 -274
- package/src/style/colorsPalette.d.ts +0 -101
- package/src/style/components.d.ts +0 -15
- package/src/style/componentsColors.d.ts +0 -5
- package/src/style/designTokens.d.ts +0 -69
- package/src/style/designTokensDM.d.ts +0 -69
- package/src/style/dividers.d.ts +0 -11
- package/src/style/index.d.ts +0 -13
- package/src/style/scheme.d.ts +0 -57
- package/src/style/shadows.d.ts +0 -223
- package/src/style/spacings.d.ts +0 -32
- package/src/style/themeManager.d.ts +0 -22
- package/src/style/typography.d.ts +0 -26
- package/src/style/typographyPresets.d.ts +0 -7
- package/src/testkit/Component.driver.d.ts +0 -30
- package/src/testkit/DriverException.d.ts +0 -12
- package/src/testkit/UniDriver.d.ts +0 -29
- package/src/testkit/drivers/TestingLibraryDriver.d.ts +0 -26
- package/src/testkit/index.d.ts +0 -25
- package/src/testkit/new/Component.driver.d.ts +0 -16
- package/src/testkit/new/useDraggable.driver.d.ts +0 -15
- package/src/testkit/new/usePressable.driver.d.ts +0 -14
- package/src/testkit/new/useScrollable.driver.d.ts +0 -13
- package/src/typings/assets.d.ts +0 -52
- package/src/typings/common.d.ts +0 -12
- package/src/typings/module.d.ts +0 -13
- package/src/typings/recorderTypes.d.ts +0 -13
- package/src/uilib-test-renderer/helper.d.ts +0 -8
- package/src/uilib-test-renderer/index.d.ts +0 -4
- package/src/uilib-test-renderer/scrollViewHelper.d.ts +0 -9
- package/src/utils/dateUtils.d.ts +0 -2
- package/src/utils/imageUtils.d.ts +0 -5
- package/src/utils/index.d.ts +0 -4
- package/src/utils/styleUtils.d.ts +0 -7
- package/src/utils/textUtils.d.ts +0 -8
- /package/{src → scripts/build}/.babelrc.exports.js +0 -0
package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import android.app.Activity;
|
|
4
|
-
import android.content.Context;
|
|
5
|
-
import android.view.View;
|
|
6
|
-
import android.view.Window;
|
|
7
|
-
import android.view.WindowManager;
|
|
8
|
-
import android.view.inputmethod.InputMethodManager;
|
|
9
|
-
import android.widget.EditText;
|
|
10
|
-
|
|
11
|
-
import com.facebook.react.ReactRootView;
|
|
12
|
-
import com.facebook.react.bridge.Promise;
|
|
13
|
-
import com.facebook.react.bridge.ReactContext;
|
|
14
|
-
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
15
|
-
|
|
16
|
-
import java.lang.ref.WeakReference;
|
|
17
|
-
|
|
18
|
-
import static com.wix.reactnativeuilib.keyboardinput.AppContextHolder.getCurrentActivity;
|
|
19
|
-
import static com.wix.reactnativeuilib.keyboardinput.utils.RuntimeUtils.dispatchUIUpdates;
|
|
20
|
-
import static com.wix.reactnativeuilib.keyboardinput.utils.RuntimeUtils.runOnUIThread;
|
|
21
|
-
import static com.wix.reactnativeuilib.keyboardinput.utils.ViewUtils.getWindow;
|
|
22
|
-
|
|
23
|
-
public class CustomKeyboardLayout implements ReactSoftKeyboardMonitor.Listener, ReactScreenMonitor.Listener {
|
|
24
|
-
private boolean mFirstKeyboardShow = true;
|
|
25
|
-
private final InputMethodManager mInputMethodManager;
|
|
26
|
-
private final ReactSoftKeyboardMonitor mKeyboardMonitor;
|
|
27
|
-
private WeakReference<CustomKeyboardRootViewShadow> mShadowNode = new WeakReference<>(null);
|
|
28
|
-
private int mSoftInputMode;
|
|
29
|
-
private boolean mIsShown = false;
|
|
30
|
-
|
|
31
|
-
public CustomKeyboardLayout(ReactContext reactContext, ReactSoftKeyboardMonitor keyboardMonitor, ReactScreenMonitor screenMonitor) {
|
|
32
|
-
mKeyboardMonitor = keyboardMonitor;
|
|
33
|
-
mInputMethodManager = (InputMethodManager) reactContext.getSystemService(Context.INPUT_METHOD_SERVICE);
|
|
34
|
-
|
|
35
|
-
mKeyboardMonitor.setListener(this);
|
|
36
|
-
screenMonitor.addListener(this);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
public void setShown(boolean isShown) {
|
|
40
|
-
mIsShown = isShown;
|
|
41
|
-
Window window = getWindow();
|
|
42
|
-
if (window != null) {
|
|
43
|
-
if (mIsShown) {
|
|
44
|
-
mSoftInputMode = window.getAttributes().softInputMode;
|
|
45
|
-
} else {
|
|
46
|
-
window.setSoftInputMode(mSoftInputMode);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@Override
|
|
52
|
-
public void onSoftKeyboardVisible(boolean distinct) {
|
|
53
|
-
if (distinct) {
|
|
54
|
-
clearKeyboardOverlayMode();
|
|
55
|
-
}
|
|
56
|
-
hideCustomKeyboardContent();
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
@Override
|
|
60
|
-
public void onSoftKeyboardHidden() {
|
|
61
|
-
if (getShadowNodeHeight() == 0) {
|
|
62
|
-
mFirstKeyboardShow = true;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@Override
|
|
67
|
-
public void onNewReactScreen(ReactRootView reactRootView) {
|
|
68
|
-
clearKeyboardOverlayMode();
|
|
69
|
-
if (reactRootView != null) {
|
|
70
|
-
sendCustomKeyboardResignedEvent();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
public void setShadowNode(CustomKeyboardRootViewShadow node) {
|
|
75
|
-
mShadowNode = new WeakReference<>(node);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
public void onKeyboardHasCustomContent() {
|
|
79
|
-
runOnUIThread(new Runnable() {
|
|
80
|
-
@Override
|
|
81
|
-
public void run() {
|
|
82
|
-
showCustomKeyboardContent();
|
|
83
|
-
setKeyboardOverlayMode();
|
|
84
|
-
hideSoftKeyboardIfNeeded();
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
public void forceReset(final Promise promise) {
|
|
90
|
-
runOnUIThread(new Runnable() {
|
|
91
|
-
@Override
|
|
92
|
-
public void run() {
|
|
93
|
-
Activity currentActivity = getCurrentActivity();
|
|
94
|
-
if (currentActivity != null) {
|
|
95
|
-
final View focusedView = currentActivity.getCurrentFocus();
|
|
96
|
-
if (focusedView instanceof EditText) {
|
|
97
|
-
showSoftKeyboard();
|
|
98
|
-
} else {
|
|
99
|
-
hideCustomKeyboardContent();
|
|
100
|
-
clearKeyboardOverlayMode();
|
|
101
|
-
}
|
|
102
|
-
promise.resolve(null);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
public void clearFocusedView() {
|
|
109
|
-
runOnUIThread(new Runnable() {
|
|
110
|
-
@Override
|
|
111
|
-
public void run() {
|
|
112
|
-
Activity currentActivity = getCurrentActivity();
|
|
113
|
-
if (currentActivity != null) {
|
|
114
|
-
final View focusedView = currentActivity.getCurrentFocus();
|
|
115
|
-
if (focusedView != null) {
|
|
116
|
-
focusedView.clearFocus();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
private void showCustomKeyboardContent() {
|
|
124
|
-
setCustomKeyboardHeight(getHeightForCustomContent());
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
private void hideCustomKeyboardContent() {
|
|
128
|
-
setCustomKeyboardHeight(0);
|
|
129
|
-
runOnUIThread(new Runnable() {
|
|
130
|
-
@Override
|
|
131
|
-
public void run() {
|
|
132
|
-
sendCustomKeyboardResignedEvent();
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
private void syncCustomKeyboardHeightAfterUIUpdate(final int height) {
|
|
138
|
-
dispatchUIUpdates(new Runnable() {
|
|
139
|
-
@Override
|
|
140
|
-
public void run() {
|
|
141
|
-
setShadowNodeHeight(height);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
private void setCustomKeyboardHeight(int height) {
|
|
147
|
-
try {
|
|
148
|
-
if (mFirstKeyboardShow) {
|
|
149
|
-
mFirstKeyboardShow = false;
|
|
150
|
-
syncCustomKeyboardHeightAfterUIUpdate(height);
|
|
151
|
-
} else {
|
|
152
|
-
setShadowNodeHeight(height);
|
|
153
|
-
}
|
|
154
|
-
} catch (Exception e) {
|
|
155
|
-
e.printStackTrace();
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
private void setShadowNodeHeight(int height) {
|
|
160
|
-
final CustomKeyboardRootViewShadow shadowNode = mShadowNode.get();
|
|
161
|
-
if (shadowNode != null) {
|
|
162
|
-
shadowNode.setHeight(height);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
private float getShadowNodeHeight() {
|
|
167
|
-
float height = 0;
|
|
168
|
-
final CustomKeyboardRootViewShadow shadowNode = mShadowNode.get();
|
|
169
|
-
if (shadowNode != null) {
|
|
170
|
-
height = shadowNode.getHeight();
|
|
171
|
-
}
|
|
172
|
-
return height;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
private void showSoftKeyboard() {
|
|
176
|
-
mInputMethodManager.showSoftInput(getCurrentActivity().getCurrentFocus(), 0);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
private void hideSoftKeyboardIfNeeded() {
|
|
180
|
-
final View focusedView = getCurrentActivity().getCurrentFocus();
|
|
181
|
-
if (focusedView != null) {
|
|
182
|
-
mInputMethodManager.hideSoftInputFromWindow(focusedView.getWindowToken(), 0);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
private int getHeightForCustomContent() {
|
|
187
|
-
return mKeyboardMonitor.getKeyboardHeight();
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
private void setKeyboardOverlayMode() {
|
|
191
|
-
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
private void clearKeyboardOverlayMode() {
|
|
195
|
-
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
private void setSoftInputMode(int softInputMode) {
|
|
199
|
-
if (mIsShown) {
|
|
200
|
-
Window window = getWindow();
|
|
201
|
-
if (window != null) {
|
|
202
|
-
window.setSoftInputMode(softInputMode);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
private void sendCustomKeyboardResignedEvent() {
|
|
208
|
-
if (ReactContextHolder.getContext().hasActiveCatalystInstance()) {
|
|
209
|
-
ReactContextHolder.getContext().getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit("kbdResigned", null);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
}
|
package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import android.content.Context;
|
|
4
|
-
import android.view.View;
|
|
5
|
-
import android.widget.FrameLayout;
|
|
6
|
-
|
|
7
|
-
import androidx.annotation.NonNull;
|
|
8
|
-
|
|
9
|
-
public class CustomKeyboardRootView extends FrameLayout {
|
|
10
|
-
|
|
11
|
-
private final CustomKeyboardLayout mLayout;
|
|
12
|
-
|
|
13
|
-
public CustomKeyboardRootView(@NonNull Context context, CustomKeyboardLayout layout) {
|
|
14
|
-
super(context);
|
|
15
|
-
mLayout = layout;
|
|
16
|
-
|
|
17
|
-
setWillNotDraw(false);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@Override
|
|
21
|
-
public void onViewAdded(View child) {
|
|
22
|
-
if (getChildCount() == 1) {
|
|
23
|
-
mLayout.onKeyboardHasCustomContent();
|
|
24
|
-
}
|
|
25
|
-
super.onViewAdded(child);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@Override
|
|
29
|
-
protected void onAttachedToWindow() {
|
|
30
|
-
super.onAttachedToWindow();
|
|
31
|
-
mLayout.setShown(true);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
@Override
|
|
35
|
-
protected void onDetachedFromWindow() {
|
|
36
|
-
mLayout.setShown(false);
|
|
37
|
-
super.onDetachedFromWindow();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
4
|
-
import com.facebook.react.uimanager.ThemedReactContext;
|
|
5
|
-
import com.facebook.react.uimanager.ViewGroupManager;
|
|
6
|
-
|
|
7
|
-
public class CustomKeyboardRootViewManager extends ViewGroupManager<CustomKeyboardRootView> {
|
|
8
|
-
|
|
9
|
-
private final CustomKeyboardLayout mLayout;
|
|
10
|
-
|
|
11
|
-
public CustomKeyboardRootViewManager(CustomKeyboardLayout layout) {
|
|
12
|
-
mLayout = layout;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
@Override
|
|
16
|
-
public String getName() {
|
|
17
|
-
return "CustomKeyboardViewNativeTemp";
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@Override
|
|
21
|
-
public CustomKeyboardRootView createViewInstance(ThemedReactContext reactContext) {
|
|
22
|
-
return new CustomKeyboardRootView(reactContext, mLayout);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@Override
|
|
26
|
-
public LayoutShadowNode createShadowNodeInstance() {
|
|
27
|
-
return new CustomKeyboardRootViewShadow(mLayout);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
4
|
-
import com.facebook.react.uimanager.NativeViewHierarchyOptimizer;
|
|
5
|
-
|
|
6
|
-
public class CustomKeyboardRootViewShadow extends LayoutShadowNode {
|
|
7
|
-
|
|
8
|
-
private final CustomKeyboardLayout mLayout;
|
|
9
|
-
|
|
10
|
-
CustomKeyboardRootViewShadow(CustomKeyboardLayout layout) {
|
|
11
|
-
setStyleHeight(0);
|
|
12
|
-
|
|
13
|
-
mLayout = layout;
|
|
14
|
-
mLayout.setShadowNode(this);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@Override
|
|
18
|
-
public void onBeforeLayout(NativeViewHierarchyOptimizer nativeViewHierarchyOptimizer) {
|
|
19
|
-
mLayout.setShadowNode(this);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public void setHeight(int heightPx) {
|
|
23
|
-
setStyleHeight(heightPx);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public float getHeight() {
|
|
27
|
-
return getStyleHeight().value;
|
|
28
|
-
}
|
|
29
|
-
}
|
package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Promise;
|
|
4
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
5
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
6
|
-
import com.facebook.react.bridge.ReactMethod;
|
|
7
|
-
|
|
8
|
-
public class KeyboardInputModule extends ReactContextBaseJavaModule {
|
|
9
|
-
|
|
10
|
-
private static final String REACT_CLASS = "CustomKeyboardInputTemp";
|
|
11
|
-
|
|
12
|
-
private final CustomKeyboardLayout mLayout;
|
|
13
|
-
|
|
14
|
-
public KeyboardInputModule(ReactApplicationContext reactContext, CustomKeyboardLayout layout) {
|
|
15
|
-
super(reactContext);
|
|
16
|
-
|
|
17
|
-
mLayout = layout;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@Override
|
|
21
|
-
public String getName() {
|
|
22
|
-
return REACT_CLASS;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@ReactMethod
|
|
26
|
-
public void reset(Promise promise) {
|
|
27
|
-
mLayout.forceReset(promise);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@ReactMethod
|
|
31
|
-
public void clearFocusedView() {
|
|
32
|
-
mLayout.clearFocusedView();
|
|
33
|
-
}
|
|
34
|
-
}
|
package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import android.app.Application;
|
|
4
|
-
|
|
5
|
-
import com.facebook.react.ReactPackage;
|
|
6
|
-
import com.facebook.react.bridge.JavaScriptModule;
|
|
7
|
-
import com.facebook.react.bridge.NativeModule;
|
|
8
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
9
|
-
import com.facebook.react.uimanager.ViewManager;
|
|
10
|
-
|
|
11
|
-
import java.util.Arrays;
|
|
12
|
-
import java.util.Collections;
|
|
13
|
-
import java.util.List;
|
|
14
|
-
|
|
15
|
-
public class KeyboardInputPackage implements ReactPackage {
|
|
16
|
-
|
|
17
|
-
private CustomKeyboardLayout mLayout;
|
|
18
|
-
|
|
19
|
-
public KeyboardInputPackage(Application application) {
|
|
20
|
-
AppContextHolder.setApplication(application);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@Override
|
|
24
|
-
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
|
25
|
-
init(reactContext);
|
|
26
|
-
return Arrays.<NativeModule>asList(new KeyboardInputModule(reactContext, mLayout));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@Override
|
|
30
|
-
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
|
31
|
-
init(reactContext);
|
|
32
|
-
return Arrays.<ViewManager>asList(new CustomKeyboardRootViewManager(mLayout));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// Deprecated in RN 0.47
|
|
36
|
-
public List<Class<? extends JavaScriptModule>> createJSModules() {
|
|
37
|
-
return Collections.emptyList();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
private synchronized void init(ReactApplicationContext reactContext) {
|
|
41
|
-
if (ReactContextHolder.getContext() != reactContext) {
|
|
42
|
-
ReactContextHolder.setContext(reactContext);
|
|
43
|
-
|
|
44
|
-
final ReactScreenMonitor screenMonitor = new ReactScreenMonitor(reactContext);
|
|
45
|
-
final ReactSoftKeyboardMonitor keyboardMonitor = new ReactSoftKeyboardMonitor(screenMonitor);
|
|
46
|
-
mLayout = new CustomKeyboardLayout(reactContext, keyboardMonitor, screenMonitor);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
4
|
-
|
|
5
|
-
public class ReactContextHolder {
|
|
6
|
-
|
|
7
|
-
private static ReactApplicationContext sContext;
|
|
8
|
-
|
|
9
|
-
public static void setContext(ReactApplicationContext context) {
|
|
10
|
-
sContext = context;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public static ReactApplicationContext getContext() {
|
|
14
|
-
return sContext;
|
|
15
|
-
}
|
|
16
|
-
}
|
package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import android.view.ViewTreeObserver;
|
|
4
|
-
|
|
5
|
-
import com.facebook.react.ReactRootView;
|
|
6
|
-
import com.facebook.react.bridge.LifecycleEventListener;
|
|
7
|
-
import com.facebook.react.bridge.ReactContext;
|
|
8
|
-
import com.wix.reactnativeuilib.keyboardinput.utils.ViewUtils;
|
|
9
|
-
|
|
10
|
-
import java.util.HashSet;
|
|
11
|
-
import java.util.Set;
|
|
12
|
-
|
|
13
|
-
import static com.wix.reactnativeuilib.keyboardinput.utils.ViewUtils.getWindow;
|
|
14
|
-
|
|
15
|
-
public class ReactScreenMonitor implements LifecycleEventListener {
|
|
16
|
-
|
|
17
|
-
public interface Listener {
|
|
18
|
-
void onNewReactScreen(ReactRootView reactRootView);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private final ViewTreeObserver.OnGlobalLayoutListener mWindowLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {
|
|
22
|
-
@Override
|
|
23
|
-
public void onGlobalLayout() {
|
|
24
|
-
final ReactRootView reactRootView = ViewUtils.getReactRootView();
|
|
25
|
-
if (mLastReactRootView != reactRootView) {
|
|
26
|
-
mLastReactRootView = reactRootView;
|
|
27
|
-
notifyNewScreen();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
private ReactRootView mLastReactRootView;
|
|
33
|
-
private Set<Listener> mExternalListeners = new HashSet<>();
|
|
34
|
-
|
|
35
|
-
private boolean mHasWindowLayoutListener;
|
|
36
|
-
|
|
37
|
-
public ReactScreenMonitor(ReactContext reactContext) {
|
|
38
|
-
reactContext.addLifecycleEventListener(this);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
public void addListener(Listener listener) {
|
|
42
|
-
mExternalListeners.add(listener);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@Override
|
|
46
|
-
public void onHostResume() {
|
|
47
|
-
if (mHasWindowLayoutListener) {
|
|
48
|
-
removeWindowLayoutListener();
|
|
49
|
-
}
|
|
50
|
-
mHasWindowLayoutListener = true;
|
|
51
|
-
registerWindowLayoutListener();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@Override
|
|
55
|
-
public void onHostDestroy() {
|
|
56
|
-
removeWindowLayoutListener();
|
|
57
|
-
mHasWindowLayoutListener = false;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@Override
|
|
61
|
-
public void onHostPause() {
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
private void registerWindowLayoutListener() {
|
|
65
|
-
if (getWindow() != null) {
|
|
66
|
-
getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(mWindowLayoutListener);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
private void removeWindowLayoutListener() {
|
|
71
|
-
if (getWindow() == null) {
|
|
72
|
-
// No window => no activity => nothing to clear.
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
getWindow().getDecorView().getViewTreeObserver().removeOnGlobalLayoutListener(mWindowLayoutListener);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
private void notifyNewScreen() {
|
|
79
|
-
for (Listener listener : mExternalListeners) {
|
|
80
|
-
listener.onNewReactScreen(mLastReactRootView);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
|
-
|
|
3
|
-
import android.graphics.Rect;
|
|
4
|
-
import android.view.ViewTreeObserver;
|
|
5
|
-
import android.view.Window;
|
|
6
|
-
|
|
7
|
-
import androidx.annotation.Nullable;
|
|
8
|
-
|
|
9
|
-
import com.facebook.react.ReactRootView;
|
|
10
|
-
import com.wix.reactnativeuilib.keyboardinput.utils.RuntimeUtils;
|
|
11
|
-
|
|
12
|
-
import static com.wix.reactnativeuilib.keyboardinput.utils.ViewUtils.getWindow;
|
|
13
|
-
|
|
14
|
-
public class ReactSoftKeyboardMonitor implements ReactScreenMonitor.Listener {
|
|
15
|
-
|
|
16
|
-
public interface Listener {
|
|
17
|
-
void onSoftKeyboardVisible(boolean distinct);
|
|
18
|
-
void onSoftKeyboardHidden();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private final ViewTreeObserver.OnGlobalLayoutListener mInnerLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {
|
|
22
|
-
@Override
|
|
23
|
-
public void onGlobalLayout() {
|
|
24
|
-
Integer viewportVisibleHeight = getViewportVisibleHeight();
|
|
25
|
-
if (viewportVisibleHeight == null || viewportVisibleHeight.equals(mLastViewportVisibleHeight)) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
mLastViewportVisibleHeight = viewportVisibleHeight;
|
|
30
|
-
if (mMaxViewportVisibleHeight == null) {
|
|
31
|
-
mMaxViewportVisibleHeight = viewportVisibleHeight;
|
|
32
|
-
} else if (viewportVisibleHeight < mMaxViewportVisibleHeight) {
|
|
33
|
-
mExternalListener.onSoftKeyboardVisible(!mSoftKeyboardUp);
|
|
34
|
-
refreshKeyboardHeight();
|
|
35
|
-
mSoftKeyboardUp = true;
|
|
36
|
-
} else {
|
|
37
|
-
mSoftKeyboardUp = false;
|
|
38
|
-
mExternalListener.onSoftKeyboardHidden();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Soft-keyboard appearance (yes or no) is deduced according to <b>view-port</b> (window-level display-frame), as
|
|
45
|
-
* root-view height normally remains unaffected during immediate layout. We therefore keep the maximal view-port size so we could
|
|
46
|
-
* concurrently compare heights in each layout.
|
|
47
|
-
*/
|
|
48
|
-
private Integer mMaxViewportVisibleHeight;
|
|
49
|
-
|
|
50
|
-
private Integer mLastViewportVisibleHeight;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Soft-keyboard *height* (when visible) is deduced by the effect on the root react-view height. This is ineffective in trying to
|
|
54
|
-
* monitor keyboard appearance -- only for height measuring.
|
|
55
|
-
*/
|
|
56
|
-
private Integer mLocallyVisibleHeight;
|
|
57
|
-
|
|
58
|
-
private boolean mSoftKeyboardUp;
|
|
59
|
-
private Integer mKeyboardHeight;
|
|
60
|
-
private Listener mExternalListener;
|
|
61
|
-
private ReactRootView mLastReactRootView;
|
|
62
|
-
|
|
63
|
-
public ReactSoftKeyboardMonitor(ReactScreenMonitor screenMonitor) {
|
|
64
|
-
screenMonitor.addListener(this);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
@Override
|
|
68
|
-
public void onNewReactScreen(ReactRootView reactRootView) {
|
|
69
|
-
removeReactRootViewLayoutListener();
|
|
70
|
-
mLastReactRootView = reactRootView;
|
|
71
|
-
|
|
72
|
-
if (mLastReactRootView != null) { // 'Null' is applicable when activity is going down (e.g. bundle reload in RN dev mode)
|
|
73
|
-
registerReactRootViewLayoutListener();
|
|
74
|
-
|
|
75
|
-
initViewportVisibleHeight(); // TODO: running this each time might be redundant
|
|
76
|
-
initLocallyVisibleHeight();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
public void setListener(Listener listener) {
|
|
81
|
-
mExternalListener = listener;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
@Nullable
|
|
85
|
-
public Integer getKeyboardHeight() {
|
|
86
|
-
if (mKeyboardHeight != null) {
|
|
87
|
-
return mKeyboardHeight;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
if (mLocallyVisibleHeight != null) {
|
|
91
|
-
return (int) (.5f * mLocallyVisibleHeight);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
private void registerReactRootViewLayoutListener() {
|
|
98
|
-
final ViewTreeObserver viewTreeObserver = mLastReactRootView.getViewTreeObserver();
|
|
99
|
-
viewTreeObserver.addOnGlobalLayoutListener(mInnerLayoutListener);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
private void removeReactRootViewLayoutListener() {
|
|
103
|
-
if (mLastReactRootView != null) {
|
|
104
|
-
final ViewTreeObserver viewTreeObserver = mLastReactRootView.getViewTreeObserver();
|
|
105
|
-
viewTreeObserver.removeOnGlobalLayoutListener(mInnerLayoutListener);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
private void initViewportVisibleHeight() {
|
|
110
|
-
mMaxViewportVisibleHeight = getViewportVisibleHeight();
|
|
111
|
-
mLastViewportVisibleHeight = null;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
private void initLocallyVisibleHeight() {
|
|
115
|
-
mLocallyVisibleHeight = getLocallyVisibleHeight();
|
|
116
|
-
mKeyboardHeight = null; // Reset so the keyboard would be measured in the next opportunity.
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
private void refreshKeyboardHeight() {
|
|
120
|
-
if (mKeyboardHeight != null) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
RuntimeUtils.runOnUIThread(new Runnable() {
|
|
125
|
-
@Override
|
|
126
|
-
public void run() {
|
|
127
|
-
final Integer locallyVisibleHeight = getLocallyVisibleHeight();
|
|
128
|
-
if (locallyVisibleHeight == null) {
|
|
129
|
-
// Too late to join the party - react-view seems to be gone...
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if (mLocallyVisibleHeight == null) {
|
|
134
|
-
mLocallyVisibleHeight = locallyVisibleHeight;
|
|
135
|
-
mKeyboardHeight = mLocallyVisibleHeight;
|
|
136
|
-
} else if (mLocallyVisibleHeight > locallyVisibleHeight) {
|
|
137
|
-
mKeyboardHeight = mLocallyVisibleHeight - locallyVisibleHeight;
|
|
138
|
-
} else {
|
|
139
|
-
mKeyboardHeight = locallyVisibleHeight;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
private Integer getViewportVisibleHeight() {
|
|
146
|
-
Integer visibleHeight = null;
|
|
147
|
-
final Rect visibleArea = new Rect();
|
|
148
|
-
Window window = getWindow();
|
|
149
|
-
if (window != null) {
|
|
150
|
-
window.getDecorView().getWindowVisibleDisplayFrame(visibleArea);
|
|
151
|
-
visibleHeight = visibleArea.height();
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return visibleHeight;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
private Integer getLocallyVisibleHeight() {
|
|
158
|
-
if (mLastReactRootView != null) {
|
|
159
|
-
return mLastReactRootView.getHeight();
|
|
160
|
-
}
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
}
|