@@ -174,17 +174,16 @@ void ScrollView::CheckFireBeginDragEvent() {
174174 isDragging_ = true ;
175175 std::string eventName = HREventUtils::EVENT_SCROLLER_BEGIN_DRAG;
176176 EmitScrollEvent (eventName);
177- EmitScrollEvent (HREventUtils::EVENT_SCROLLER_ON_SCROLL);
178177 }
179178}
180179
181180void ScrollView::CheckFireEndDragEvent () {
182181 if (isDragging_) {
183182 isDragging_ = false ;
184- EmitScrollEvent (HREventUtils::EVENT_SCROLLER_ON_SCROLL);
185183 std::string endDragEventName = HREventUtils::EVENT_SCROLLER_END_DRAG;
186184 EmitScrollEvent (endDragEventName);
187185 if (isScrollStarted_) {
186+ isMomentumStarted_ = true ;
188187 std::string momentumBeginEventName = HREventUtils::EVENT_SCROLLER_MOMENTUM_BEGIN;
189188 EmitScrollEvent (momentumBeginEventName);
190189 }
@@ -252,15 +251,19 @@ void ScrollView::OnScroll(float xOffset, float yOffset) {
252251
253252void ScrollView::OnScrollStart () {
254253 isScrollStarted_ = true ;
254+ EmitScrollEvent (HREventUtils::EVENT_SCROLLER_ON_SCROLL);
255255}
256256
257257void ScrollView::OnScrollStop () {
258258 isScrollStarted_ = false ;
259259 lastScrollTime_ = 0 ;
260260 lastScrollOffset_ = 0 ;
261261 EmitScrollEvent (HREventUtils::EVENT_SCROLLER_ON_SCROLL);
262- std::string eventName = std::string (HREventUtils::EVENT_SCROLLER_MOMENTUM_END);
263- EmitScrollEvent (eventName);
262+ if (isMomentumStarted_) {
263+ isMomentumStarted_ = false ;
264+ std::string eventName = std::string (HREventUtils::EVENT_SCROLLER_MOMENTUM_END);
265+ EmitScrollEvent (eventName);
266+ }
264267}
265268
266269void ScrollView::OnReachStart () {
0 commit comments