Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
fc8e50d
Move config files
m-bert Apr 11, 2025
1de55d5
Test
m-bert Apr 14, 2025
baca7e6
Test2
m-bert Apr 14, 2025
cedad03
Update package.json
m-bert Apr 14, 2025
d7c340a
Fix husky path
m-bert Apr 14, 2025
ea00daa
Fix one CI
m-bert Apr 14, 2025
2c176ce
Bring back old versions
m-bert Apr 14, 2025
a49ffca
update lockfile
m-bert Apr 14, 2025
4ec5f5f
Add working dir to circular dependency check
m-bert Apr 14, 2025
c66dd04
Add BasicExample app
m-bert Apr 18, 2025
47f671e
Add husky to root package.json
m-bert Apr 18, 2025
0b0c540
Merge branch '@mbert/monorepo-move-config-files' into @mbert/monorepo…
m-bert Apr 18, 2025
697ed7d
Remove unused variable
m-bert Apr 18, 2025
6b92cb5
It works :o
m-bert Apr 18, 2025
cf20fc5
Add web
m-bert Apr 22, 2025
646409b
Add basic MacOSExample
m-bert Apr 24, 2025
ab7afd4
Change tsconfig
m-bert Apr 24, 2025
89a7544
Remove android and ios dirs
m-bert Apr 24, 2025
a6711c8
Add basic examples
m-bert Apr 24, 2025
958de88
Add CommonApp
m-bert Apr 24, 2025
f905eab
Use CommonApp in ExpoExample
m-bert Apr 24, 2025
3fbed8b
Update package.json and yarn.lock
m-bert Apr 24, 2025
f6f6dd4
Add CommonApp to macos
m-bert Apr 24, 2025
ac136e8
Update yarn.lock
m-bert Apr 25, 2025
7da0eb6
Android build CI
m-bert Apr 25, 2025
852a242
Docs CI
m-bert Apr 25, 2025
77d865b
iOS build
m-bert Apr 25, 2025
f6426b6
Kotlin lint CI
m-bert Apr 25, 2025
558e380
macos CI
m-bert Apr 25, 2025
b399724
main CI
m-bert Apr 25, 2025
e787855
static-examples
m-bert Apr 25, 2025
feac1df
static root
m-bert Apr 25, 2025
69f8b28
Fix workspace script
m-bert Apr 29, 2025
d130de3
Update yarn.lock
m-bert Apr 30, 2025
9512329
Bump reanimated
m-bert Apr 30, 2025
63c41a9
Bump safe-area-context
m-bert Apr 30, 2025
ee61690
Merge @mbert/monorepo-add-expo-example
m-bert Apr 30, 2025
54f70ea
Bump reanimated
m-bert Apr 30, 2025
b78aa63
Merge branch '@mbert/monorepo-add-macos-example' into @mbert/monorepo…
m-bert Apr 30, 2025
d35fd12
update locks
m-bert Apr 30, 2025
705d634
Merge branch '@mbert/monorepo-add-common-app' into @mbert/monorepo-fi…
m-bert Apr 30, 2025
ade521b
Update eslint
m-bert Apr 30, 2025
83fb405
BasicExample
m-bert Apr 30, 2025
8e0e4ce
CommonApp
m-bert Apr 30, 2025
8c3aa12
Package
m-bert Apr 30, 2025
41cca92
Add eslint scripts
m-bert Apr 30, 2025
cb70d7a
Update typescript
m-bert Apr 30, 2025
16c2bad
Fix ts-checks
m-bert Apr 30, 2025
0ade444
Update workflows
m-bert Apr 30, 2025
352828c
Fix faulty script in CIs
m-bert Apr 30, 2025
9b845bd
Disable promise rule
m-bert Apr 30, 2025
499d751
Add format-js
m-bert May 5, 2025
57c7109
Add global scripts for lint and format js
m-bert May 5, 2025
96de4ea
Fix android formatter paths
m-bert May 5, 2025
1708929
Add lint-staged config
m-bert May 5, 2025
af1663e
Remove unnecessary eslint comment
m-bert May 5, 2025
6b3c8af
Remove another comment
m-bert May 5, 2025
fed3ee5
Mergele @mbert/monorepo
m-bert May 7, 2025
8ce355c
Take out the trash
m-bert May 7, 2025
7b585ac
Extract gesture handler path to env
m-bert May 7, 2025
d6fdb27
Add expo app to CI
m-bert May 7, 2025
e87d619
Add empty postinstall
m-bert May 7, 2025
d7fb585
Mergele @mbert/monorepo-fix-CI-paths
m-bert May 7, 2025
ae4cfd9
Install pods conditionally
m-bert May 7, 2025
82ef8e4
Merge branch '@mbert/monorepo-fix-CI-paths' into @mbert/monorepo-unif…
m-bert May 7, 2025
61d78c9
Mergele @mbert/monorepo
m-bert May 8, 2025
ca5aba3
Remove postinstall script
m-bert May 8, 2025
18ce1a6
Use - scripts in : scripts :)
m-bert May 8, 2025
29ef89b
Update spotless to 7.0.3
m-bert May 8, 2025
6756afa
Merge branch '@mbert/monorepo' into @mbert/monorepo-update-spotless
m-bert May 9, 2025
17c84f1
Enforce max line width to 120
m-bert May 9, 2025
dff404d
Bring change backgroundColor to buttonBackgroundColor
m-bert May 12, 2025
585ac44
Change _enabled to rootViewEnabled
m-bert May 12, 2025
9cf0cb9
Fix strange formatting
m-bert May 12, 2025
6cce96c
Merge branch '@mbert/monorepo' into @mbert/monorepo-update-spotless
m-bert May 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/react-native-gesture-handler/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
classpath("com.android.tools.build:gradle:7.2.1")
classpath("com.diffplug.spotless:spotless-plugin-gradle:6.7.2")
classpath("com.diffplug.spotless:spotless-plugin-gradle:7.0.3")
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import com.facebook.react.bridge.ReactContext
import com.facebook.react.uimanager.events.Event

class ReanimatedEventDispatcher {
@Suppress("UNUSED_PARAMETER", "COMMENT_IN_SUPPRESSION")
// This is necessary on new architecture
fun <T : Event<T>>sendEvent(event: T, reactApplicationContext: ReactContext) {
@Suppress("UNUSED_PARAMETER", "COMMENT_IN_SUPPRESSION")
fun <T : Event<T>> sendEvent(event: T, reactApplicationContext: ReactContext) {
// no-op
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,45 +16,40 @@ import com.swmansion.gesturehandler.react.RNGestureHandlerRootViewManager

@ReactModuleList(
nativeModules = [
RNGestureHandlerModule::class
]
RNGestureHandlerModule::class,
],
)
class RNGestureHandlerPackage : BaseReactPackage(), ViewManagerOnDemandReactPackage {
class RNGestureHandlerPackage :
BaseReactPackage(),
ViewManagerOnDemandReactPackage {
private val viewManagers: Map<String, ModuleSpec> by lazy {
mapOf(
RNGestureHandlerRootViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec {
RNGestureHandlerRootViewManager()
},
RNGestureHandlerButtonViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec {
RNGestureHandlerButtonViewManager()
}
},
)
}

override fun createViewManagers(reactContext: ReactApplicationContext) =
listOf<ViewManager<*, *>>(
RNGestureHandlerRootViewManager(),
RNGestureHandlerButtonViewManager()
)
listOf<ViewManager<*, *>>(RNGestureHandlerRootViewManager(), RNGestureHandlerButtonViewManager())

override fun getViewManagerNames(reactContext: ReactApplicationContext) =
viewManagers.keys.toList()
override fun getViewManagerNames(reactContext: ReactApplicationContext) = viewManagers.keys.toList()

override fun getViewManagers(reactContext: ReactApplicationContext): MutableList<ModuleSpec> =
viewManagers.values.toMutableList()

override fun createViewManager(
reactContext: ReactApplicationContext,
viewManagerName: String
) = viewManagers[viewManagerName]?.provider?.get() as? ViewManager<*, *>
override fun createViewManager(reactContext: ReactApplicationContext, viewManagerName: String) =
viewManagers[viewManagerName]?.provider?.get() as? ViewManager<*, *>

override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
return if (name == RNGestureHandlerModule.NAME) {
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? =
if (name == RNGestureHandlerModule.NAME) {
RNGestureHandlerModule(reactContext)
} else {
null
}
}

override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
try {
Expand All @@ -72,8 +67,8 @@ class RNGestureHandlerPackage : BaseReactPackage(), ViewManagerOnDemandReactPack
reactModule.canOverrideExistingModule,
reactModule.needsEagerInit,
reactModule.isCxxModule,
true
)
true,
),
)
}
} catch (e: InstantiationException) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,45 +16,40 @@ import com.swmansion.gesturehandler.react.RNGestureHandlerRootViewManager

@ReactModuleList(
nativeModules = [
RNGestureHandlerModule::class
]
RNGestureHandlerModule::class,
],
)
class RNGestureHandlerPackage : BaseReactPackage(), ViewManagerOnDemandReactPackage {
class RNGestureHandlerPackage :
BaseReactPackage(),
ViewManagerOnDemandReactPackage {
private val viewManagers: Map<String, ModuleSpec> by lazy {
mapOf(
RNGestureHandlerRootViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec {
RNGestureHandlerRootViewManager()
},
RNGestureHandlerButtonViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec {
RNGestureHandlerButtonViewManager()
}
},
)
}

override fun createViewManagers(reactContext: ReactApplicationContext) =
listOf<ViewManager<*, *>>(
RNGestureHandlerRootViewManager(),
RNGestureHandlerButtonViewManager()
)
listOf<ViewManager<*, *>>(RNGestureHandlerRootViewManager(), RNGestureHandlerButtonViewManager())

override fun getViewManagerNames(reactContext: ReactApplicationContext?) =
viewManagers.keys.toList()
override fun getViewManagerNames(reactContext: ReactApplicationContext?) = viewManagers.keys.toList()

override fun getViewManagers(reactContext: ReactApplicationContext?): MutableList<ModuleSpec> =
viewManagers.values.toMutableList()

override fun createViewManager(
reactContext: ReactApplicationContext?,
viewManagerName: String?
) = viewManagers[viewManagerName]?.provider?.get() as? ViewManager<*, *>
override fun createViewManager(reactContext: ReactApplicationContext?, viewManagerName: String?) =
viewManagers[viewManagerName]?.provider?.get() as? ViewManager<*, *>

override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
return if (name == RNGestureHandlerModule.NAME) {
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? =
if (name == RNGestureHandlerModule.NAME) {
RNGestureHandlerModule(reactContext)
} else {
null
}
}

override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
try {
Expand All @@ -72,8 +67,8 @@ class RNGestureHandlerPackage : BaseReactPackage(), ViewManagerOnDemandReactPack
reactModule.canOverrideExistingModule,
reactModule.needsEagerInit,
reactModule.isCxxModule,
true
)
true,
),
)
}
} catch (e: InstantiationException) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ fun ReactContext.dispatchEvent(event: Event<*>) {
try {
this.getNativeModule(UIManagerModule::class.java)!!.eventDispatcher.dispatchEvent(event)
} catch (e: NullPointerException) {
throw Exception("Couldn't get an instance of UIManagerModule. Gesture Handler is unable to send an event.", e)
throw Exception(
"Couldn't get an instance of UIManagerModule. Gesture Handler is unable to send an event.",
e,
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ fun ReactContext.dispatchEvent(event: Event<*>) {
try {
this.getNativeModule(UIManagerModule::class.java)!!.eventDispatcher.dispatchEvent(event)
} catch (e: NullPointerException) {
throw Exception("Couldn't get an instance of UIManagerModule. Gesture Handler is unable to send an event.", e)
throw Exception(
"Couldn't get an instance of UIManagerModule. Gesture Handler is unable to send an event.",
e,
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.swmansion.reanimated.ReanimatedModule
class ReanimatedEventDispatcher {
private var reanimatedModule: ReanimatedModule? = null

fun <T : Event<T>>sendEvent(event: T, reactApplicationContext: ReactContext) {
fun <T : Event<T>> sendEvent(event: T, reactApplicationContext: ReactContext) {
if (reanimatedModule == null) {
reanimatedModule = reactApplicationContext.getNativeModule(ReanimatedModule::class.java)
}
Expand Down
4 changes: 2 additions & 2 deletions packages/react-native-gesture-handler/android/spotless.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ apply plugin: "com.diffplug.spotless"
spotless {
kotlin {
target "**/*.kt"
ktlint().editorConfigOverride([indent_size: 2])
ktlint().editorConfigOverride([indent_size: 2, max_line_length: 120])
trimTrailingWhitespace()
indentWithSpaces()
leadingTabsToSpaces()
endWithNewline()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,7 @@ class FlingGestureHandler : GestureHandler<FlingGestureHandler>() {

val velocityVector = Vector.fromVelocity(velocityTracker!!)

fun getVelocityAlignment(
direction: Int,
maxDeviationCosine: Double,
): Boolean = (
fun getVelocityAlignment(direction: Int, maxDeviationCosine: Double): Boolean = (
(this.direction and direction) == direction &&
velocityVector.isSimilar(Vector.fromDirection(direction), maxDeviationCosine)
)
Expand Down
Loading