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