Skip to content

Commit d9dc96c

Browse files
committed
Implement Android view
1 parent ac68358 commit d9dc96c

File tree

4 files changed

+48
-1
lines changed

4 files changed

+48
-1
lines changed

packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import com.facebook.react.module.model.ReactModuleInfo
1111
import com.facebook.react.module.model.ReactModuleInfoProvider
1212
import com.facebook.react.uimanager.ViewManager
1313
import com.swmansion.gesturehandler.react.RNGestureHandlerButtonViewManager
14+
import com.swmansion.gesturehandler.react.RNGestureHandlerButtonWrapperViewManager
1415
import com.swmansion.gesturehandler.react.RNGestureHandlerDetectorViewManager
1516
import com.swmansion.gesturehandler.react.RNGestureHandlerModule
1617
import com.swmansion.gesturehandler.react.RNGestureHandlerRootViewManager
@@ -34,13 +35,17 @@ class RNGestureHandlerPackage :
3435
RNGestureHandlerDetectorViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec {
3536
RNGestureHandlerDetectorViewManager()
3637
},
38+
RNGestureHandlerButtonWrapperViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec {
39+
RNGestureHandlerButtonWrapperViewManager()
40+
},
3741
)
3842
}
3943

4044
override fun createViewManagers(reactContext: ReactApplicationContext) = listOf<ViewManager<*, *>>(
4145
RNGestureHandlerRootViewManager(),
4246
RNGestureHandlerButtonViewManager(),
4347
RNGestureHandlerDetectorViewManager(),
48+
RNGestureHandlerButtonWrapperViewManager(),
4449
)
4550

4651
override fun getViewManagerNames(reactContext: ReactApplicationContext) = viewManagers.keys.toList()
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.swmansion.gesturehandler.react
2+
3+
import android.content.Context
4+
import com.facebook.react.views.view.ReactViewGroup
5+
6+
class RNGestureHandlerButtonWrapperView(context: Context) : ReactViewGroup(context)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.swmansion.gesturehandler.react
2+
3+
import com.facebook.react.module.annotations.ReactModule
4+
import com.facebook.react.uimanager.ThemedReactContext
5+
import com.facebook.react.uimanager.ViewGroupManager
6+
import com.facebook.react.uimanager.ViewManagerDelegate
7+
import com.facebook.react.viewmanagers.RNGestureHandlerButtonWrapperManagerDelegate
8+
import com.facebook.react.viewmanagers.RNGestureHandlerButtonWrapperManagerInterface
9+
10+
@ReactModule(name = RNGestureHandlerButtonWrapperViewManager.REACT_CLASS)
11+
class RNGestureHandlerButtonWrapperViewManager :
12+
ViewGroupManager<RNGestureHandlerButtonWrapperView>(),
13+
RNGestureHandlerButtonWrapperManagerInterface<RNGestureHandlerButtonWrapperView> {
14+
private val mDelegate: ViewManagerDelegate<RNGestureHandlerButtonWrapperView>
15+
16+
init {
17+
mDelegate =
18+
RNGestureHandlerButtonWrapperManagerDelegate<
19+
RNGestureHandlerButtonWrapperView,
20+
RNGestureHandlerButtonWrapperViewManager,
21+
>(this)
22+
}
23+
24+
override fun getDelegate(): ViewManagerDelegate<RNGestureHandlerButtonWrapperView> = mDelegate
25+
26+
override fun getName() = REACT_CLASS
27+
28+
override fun createViewInstance(reactContext: ThemedReactContext) = RNGestureHandlerButtonWrapperView(reactContext)
29+
30+
companion object {
31+
const val REACT_CLASS = "RNGestureHandlerButtonWrapper"
32+
}
33+
}

packages/react-native-gesture-handler/react-native.config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ module.exports = {
22
dependency: {
33
platforms: {
44
android: {
5-
componentDescriptors: ['RNGestureHandlerDetectorComponentDescriptor'],
5+
componentDescriptors: [
6+
'RNGestureHandlerDetectorComponentDescriptor',
7+
'RNGestureHandlerButtonWrapperComponentDescriptor',
8+
],
69
cmakeListsPath: './CMakeLists.txt',
710
},
811
},

0 commit comments

Comments
 (0)