@@ -214,7 +214,6 @@ - (id) initWithContentNode:(CCNode*)contentNode
214
214
_listener = [[CCGestureListener alloc ] init ];
215
215
_listener.delegate = (id <CCGestureListenerDelegate>)self;
216
216
_detector = [[AndroidGestureDetector alloc ] initWithContext: [CCActivity currentActivity ] listener: _listener];
217
- [[[CCDirector sharedDirector ] view ] addGestureDetector: _detector];
218
217
});
219
218
#elif __CC_PLATFORM_MAC
220
219
@@ -752,8 +751,11 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecogni
752
751
return (otherGestureRecognizer == _panRecognizer || otherGestureRecognizer == _tapRecognizer);
753
752
}
754
753
754
+ #elif __CC_PLATFORM_ANDROID
755
+
755
756
- (void ) onEnterTransitionDidFinish
756
757
{
758
+ #if __CC_PLATFORM_IOS
757
759
// Add recognizers to view
758
760
UIView* view = [CCDirector sharedDirector ].view ;
759
761
@@ -763,12 +765,22 @@ - (void) onEnterTransitionDidFinish
763
765
[recognizers insertObject: _tapRecognizer atIndex: 0 ];
764
766
765
767
view.gestureRecognizers = recognizers;
766
-
768
+ #elif __CC_PLATFORM_ANDROID
769
+ dispatch_async (dispatch_get_main_queue (), ^{
770
+ if (_detector)
771
+ {
772
+ [[[CCDirector sharedDirector ] view ] addGestureDetector: _detector];
773
+ }
774
+ });
775
+ #endif
767
776
[super onEnterTransitionDidFinish ];
768
777
}
769
778
779
+
780
+
770
781
- (void ) onExitTransitionDidStart
771
782
{
783
+ #if __CC_PLATFORM_IOS
772
784
// Remove recognizers from view
773
785
UIView* view = [CCDirector sharedDirector ].view ;
774
786
@@ -777,11 +789,19 @@ - (void) onExitTransitionDidStart
777
789
[recognizers removeObject: _tapRecognizer];
778
790
779
791
view.gestureRecognizers = recognizers;
792
+ #elif __CC_PLATFORM_ANDROID
793
+ dispatch_async (dispatch_get_main_queue (), ^{
794
+ if (_detector)
795
+ {
796
+ [[[CCDirector sharedDirector ] view ] removeGestureDetector: _detector];
797
+ }
798
+ });
799
+ #endif
780
800
781
801
[super onExitTransitionDidStart ];
782
802
}
783
803
784
- # elif __CC_PLATFORM_ANDROID
804
+
785
805
786
806
- (CCTouchPhase)handleGestureEvent : (AndroidMotionEvent *)start end : (AndroidMotionEvent *)end
787
807
{
@@ -930,9 +950,6 @@ - (BOOL)onFling:(AndroidMotionEvent *)start end:(AndroidMotionEvent *)end veloci
930
950
CCDirector* dir = [CCDirector sharedDirector ];
931
951
[[CCActivity currentActivity ] runOnGameThread: ^{
932
952
933
- CCResponderManager *mgr = [[CCDirector sharedDirector ] responderManager ];
934
- [mgr removeAllResponders ];
935
-
936
953
CGPoint translation = [dir convertToGL: rawTranslationFling];
937
954
translation = [self convertToNodeSpace: translation];
938
955
0 commit comments