Skip to content

Commit 8dca885

Browse files
committed
fix(android): gesture not being detached correctly
1 parent 9d221a0 commit 8dca885

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/gesturehandler/gesturehandler.android.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ export class Manager extends ManagerBase {
531531
return handler as any;
532532
}
533533

534-
findRegistry(view: View) {
534+
findRegistry(view: View): com.swmansion.gesturehandler.GestureHandlerRegistryImpl {
535535
let registry: com.swmansion.gesturehandler.GestureHandlerRegistryImpl;
536536
const page = view.page as PageGestureExtended;
537537
if (page) {
@@ -548,7 +548,7 @@ export class Manager extends ManagerBase {
548548
}
549549
return registry;
550550
}
551-
attachGestureHandlerToView(handler: Handler<any, any>, view: View) {
551+
attachGestureHandlerToView<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View) {
552552
const nHandler = handler.getNative();
553553
if (nHandler) {
554554
const registry = this.findRegistry(view);
@@ -561,18 +561,18 @@ export class Manager extends ManagerBase {
561561
}
562562
}
563563

564-
detachGestureHandlerFromView(handler: Handler<any, any>, view: View) {
564+
detachGestureHandlerFromView<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View) {
565565
const nHandler = handler.getNative();
566566
if (nHandler) {
567567
const registry = this.findRegistry(view);
568568
if (registry) {
569-
registry.dropHandler(handler.getNative());
569+
registry.dropHandler(nHandler.getTag());
570570
}
571571
}
572572
}
573573

574574
viewListeners = new Map<View, Map<number, { init: () => void; dispose: () => void }>>();
575-
attachGestureHandler(handler: Handler<any, any>, view: View) {
575+
attachGestureHandler<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View) {
576576
if (view.nativeView) {
577577
this.attachGestureHandlerToView(handler, view);
578578
}
@@ -590,7 +590,7 @@ export class Manager extends ManagerBase {
590590
dispose: onDispose,
591591
});
592592
}
593-
detachGestureHandler(handler: Handler<any, any>, view: View) {
593+
detachGestureHandler<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View) {
594594
if (view) {
595595
const viewListeners = this.viewListeners.get(view);
596596
if (viewListeners) {

0 commit comments

Comments
 (0)