-
Notifications
You must be signed in to change notification settings - Fork 114
998288 - Expand collapse of groups fails intermittently when listview is nested inside PullToRefresh on certain Android #318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… is nested inside PullToRefresh on certain Android
RasikaPalanisamy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes are fine.
FarjanaParveen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fine
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes an intermittent issue on certain Android devices (particularly Samsung S22 with Android 14) where group expand/collapse fails when an SfListView is nested inside SfPullToRefresh. The root cause is that small downward movements during tap gestures were being incorrectly interpreted as pull-to-refresh gestures.
- Added a 10-unit vertical threshold before treating touch movement as a pull gesture
- Fixed whitespace formatting (tab to space conversion) for consistency
Comments suppressed due to low confidence (1)
maui/src/PullToRefresh/SfPullToRefresh.Android.cs:78
- Both branches of this 'if' statement return - consider using '?' to express intent better.
if ((currenTouchPoint.Y - this._downY) >= 10 && _downY < currenTouchPoint.Y && !_isChildScrolledVertically)
{
return true;
}
else
{
return base.OnInterceptTouchEvent(ev);
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
RasikaPalanisamy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes are fine.
Bug Description
When using SfListView with grouping enabled inside an SfPullToRefresh container, the expand/collapse functionality of group headers intermittently fails on certain Android devices. This issue is more prominent on Samsung S22 (Android 14), where approximately 50% of tap interactions on group headers do not trigger expand/collapse actions.
Root Cause
A slight downward movement during a tap is treated as a pull gesture, so the header tap(listViewGroupheaderItem) doesn’t invoked.
Ticket ID
https://support.syncfusion.com/agent/tickets/778316
Task ID
https://dev.azure.com/EssentialStudio/Mobile%20and%20Desktop/_workitems/edit/998288
Is Breaking issue?
No
Solution description
When a ListView is inside PullToRefresh, rapid expand/collapse of groups sometimes fails. This happens because PullToRefresh intercepts the touch during a tap on the group header if currentdownY > downY.Add a threshold to avoid interception on tiny movements.
Output screenshots
Before changes:
Issue.mp4
After changes:
Fix.mp4
Areas affected and ensured
No areas were affected
Test cases
Tested the ListView with PullToRefresh, DataGrid with PullToRefresh and CollectionView with PullToRefresh tested the events,scrolling behavior of it.
Does it have any known issues?
No
MR CheckList