From bfe3bacac22d0493eeb6b667cb95bd4e77cdd075 Mon Sep 17 00:00:00 2001 From: Hixie Date: Mon, 2 Nov 2015 18:06:29 -0800 Subject: [PATCH] Merge DisposableArenaMember and GestureArenaMember Turns out there were no uses of GestureArenaMember other than those that use DisposableArenaMember. --- packages/flutter/lib/src/gestures/arena.dart | 5 +++++ packages/flutter/lib/src/gestures/recognizer.dart | 6 +----- packages/flutter/lib/src/gestures/tap.dart | 4 ++-- packages/flutter/lib/src/widgets/gesture_detector.dart | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/flutter/lib/src/gestures/arena.dart b/packages/flutter/lib/src/gestures/arena.dart index 184a314ac2a..6cfba91e718 100644 --- a/packages/flutter/lib/src/gestures/arena.dart +++ b/packages/flutter/lib/src/gestures/arena.dart @@ -21,6 +21,11 @@ abstract class GestureArenaMember { /// Called when this member loses the arena for the given key. void rejectGesture(Object key); + + /// Release any resources used by the object. Called when the object is no + /// longer needed (e.g. a gesture recogniser is being unregistered from a + /// [GestureDetector]). + void dispose() { } } /// An interface to information to an arena diff --git a/packages/flutter/lib/src/gestures/recognizer.dart b/packages/flutter/lib/src/gestures/recognizer.dart index f2a84985d39..aaa71962eed 100644 --- a/packages/flutter/lib/src/gestures/recognizer.dart +++ b/packages/flutter/lib/src/gestures/recognizer.dart @@ -12,11 +12,7 @@ import 'pointer_router.dart'; export 'pointer_router.dart' show PointerRouter; -abstract class DisposableArenaMember extends GestureArenaMember { - void dispose(); -} - -abstract class GestureRecognizer extends DisposableArenaMember { +abstract class GestureRecognizer extends GestureArenaMember { GestureRecognizer({ PointerRouter router }) : _router = router { assert(_router != null); } diff --git a/packages/flutter/lib/src/gestures/tap.dart b/packages/flutter/lib/src/gestures/tap.dart index a28155faf3a..a32884802f4 100644 --- a/packages/flutter/lib/src/gestures/tap.dart +++ b/packages/flutter/lib/src/gestures/tap.dart @@ -182,7 +182,7 @@ class _TapGesture extends _TapTracker { /// independently. That is, each pointer sequence that could resolve to a tap /// does so independently of others: down-1, down-2, up-1, up-2 produces two /// taps, on up-1 and up-2. -class MultiTapGestureRecognizer extends DisposableArenaMember { +class MultiTapGestureRecognizer extends GestureArenaMember { MultiTapGestureRecognizer({ this.router, this.onTapDown, @@ -243,7 +243,7 @@ class MultiTapGestureRecognizer extends DisposableArenaMember { } -class DoubleTapGestureRecognizer extends DisposableArenaMember { +class DoubleTapGestureRecognizer extends GestureArenaMember { DoubleTapGestureRecognizer({ this.router, this.onDoubleTap }); diff --git a/packages/flutter/lib/src/widgets/gesture_detector.dart b/packages/flutter/lib/src/widgets/gesture_detector.dart index 5ac26e579ab..e50014dbdf2 100644 --- a/packages/flutter/lib/src/widgets/gesture_detector.dart +++ b/packages/flutter/lib/src/widgets/gesture_detector.dart @@ -217,7 +217,7 @@ class _GestureDetectorState extends State { } } - DisposableArenaMember _ensureDisposed(DisposableArenaMember recognizer) { + GestureArenaMember _ensureDisposed(GestureArenaMember recognizer) { recognizer?.dispose(); return null; }