@@ -495,7 +495,9 @@ public void setMinFlingVelocity(int val) {
495
495
* @param listener
496
496
*/
497
497
public void addPanelSlideListener (PanelSlideListener listener ) {
498
- mPanelSlideListeners .add (listener );
498
+ synchronized (mPanelSlideListeners ) {
499
+ mPanelSlideListeners .add (listener );
500
+ }
499
501
}
500
502
501
503
/**
@@ -504,7 +506,9 @@ public void addPanelSlideListener(PanelSlideListener listener) {
504
506
* @param listener
505
507
*/
506
508
public void removePanelSlideListener (PanelSlideListener listener ) {
507
- mPanelSlideListeners .remove (listener );
509
+ synchronized (mPanelSlideListeners ) {
510
+ mPanelSlideListeners .remove (listener );
511
+ }
508
512
}
509
513
510
514
/**
@@ -633,15 +637,21 @@ public boolean isClipPanel() {
633
637
return mClipPanel ;
634
638
}
635
639
640
+
636
641
void dispatchOnPanelSlide (View panel ) {
637
- for (PanelSlideListener l : mPanelSlideListeners ) {
638
- l .onPanelSlide (panel , mSlideOffset );
642
+ synchronized (mPanelSlideListeners ) {
643
+ for (PanelSlideListener l : mPanelSlideListeners ) {
644
+ l .onPanelSlide (panel , mSlideOffset );
645
+ }
639
646
}
640
647
}
641
648
649
+
642
650
void dispatchOnPanelStateChanged (View panel , PanelState previousState , PanelState newState ) {
643
- for (PanelSlideListener l : mPanelSlideListeners ) {
644
- l .onPanelStateChanged (panel , previousState , newState );
651
+ synchronized (mPanelSlideListeners ) {
652
+ for (PanelSlideListener l : mPanelSlideListeners ) {
653
+ l .onPanelStateChanged (panel , previousState , newState );
654
+ }
645
655
}
646
656
sendAccessibilityEvent (AccessibilityEvent .TYPE_WINDOW_STATE_CHANGED );
647
657
}
0 commit comments