Skip to content

Task(1046238): Fix for the ESM in the SfPullToRefresh - #421

Merged
PaulAndersonS merged 1 commit into
mainfrom
ESM_ptr
Sep 16, 2026
Merged

PaulAndersonS merged 1 commit into
mainfrom
ESM_ptr

Conversation

@Monika4841

Copy link
Copy Markdown
Collaborator

Root Cause of the Issue

 
On Android, when Energy Saving Mode is enabled, the animation path used by SfPullToRefresh is skipped. The non-animated refresh workflow did not consistently trigger the same measure and arrange updates as the animated path, causing the pullable content to be arranged using outdated bounds. As a result, content was not always remeasured and relaid out correctly after a refresh operation, leading to stale UI layouts and missing visual updates.
 

Description of Change

 

  • Added GetAndUpdateWithPreviousBounds() to retrieve the latest valid bounds of the PullToRefresh control during content arrangement.
  • Updated the content arrangement logic to use the current bounds when handling the refresh operation.
  • Introduced a canAnimate check to disable refresh animations on Android when Energy Saving Mode is enabled while still ensuring the layout update flow is executed.
  • Invoked InvalidateMeasure() after arranging the pullable content to force a measure pass and ensure the refreshed content is remeasured and rearranged correctly.
  • Updated the refresh completion logic to avoid platform-specific animation paths on Android and iOS that could interfere with layout updates when animations are disabled.
  • These changes ensure that content layout updates occur consistently after a pull-to-refresh operation, regardless of the Energy Saving Mode state on Android devices.
     

Issues Fixed

 
Fixes #https://www.syncfusion.com/feedback/75522/android-sfpulltorefresh-fails-to-refresh-and-re-layout-content-when-energy-saving
 

 

Behaviour

 

Before:

 

  • When Android Energy Saving Mode was enabled, pull-to-refresh could complete without properly refreshing and relaying out the content.
  • UI elements could remain in an outdated state after the refresh operation.
  • Layout updates depended on the animated refresh path and were not consistently applied in the non-animated path.
     

After:

 

  • Content is correctly remeasured and rearranged after a refresh operation, even when Android Energy Saving Mode is enabled.
  • UI updates are applied consistently regardless of whether refresh animations are enabled or disabled.
  • Pull-to-refresh behavior remains reliable across both animated and non-animated refresh scenarios.

@PaulAndersonS
PaulAndersonS merged commit ac7a6be into main Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants