Index: chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java |
index 2e852f2f50c5a7d0e281be6d3f6dae4e377da819..1f030dbbf56a5030d033212164381350113d5679 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java |
@@ -97,6 +97,13 @@ public class SwipeRefreshHandler implements OverscrollRefreshHandler { |
RecordUserAction.record("MobilePullGestureReload"); |
} |
}); |
+ mSwipeRefreshLayout.setOnResetListener(new SwipeRefreshLayout.OnResetListener() { |
+ @Override |
+ public void onReset() { |
+ detachSwipeRefreshLayoutIfNecessary(); |
+ } |
+ }); |
+ |
contentViewCore.setOverscrollRefreshHandler(this); |
} |
@@ -136,7 +143,6 @@ public class SwipeRefreshHandler implements OverscrollRefreshHandler { |
public void reset() { |
cancelStopRefreshingRunnable(); |
mSwipeRefreshLayout.reset(); |
- detachSwipeRefreshLayoutIfNecessary(); |
} |
@Override |
@@ -173,7 +179,6 @@ public class SwipeRefreshHandler implements OverscrollRefreshHandler { |
} |
private void detachSwipeRefreshLayoutIfNecessary() { |
- // TODO(jdduke): Also detach the effect when its animation ends. |
if (mContentViewCore == null) return; |
if (mSwipeRefreshLayout.getParent() != null) { |
mContentViewCore.getContainerView().removeView(mSwipeRefreshLayout); |