1111import org .wordpress .android .util .R ;
1212
1313import uk .co .senab .actionbarpulltorefresh .library .DefaultHeaderTransformer ;
14+ import uk .co .senab .actionbarpulltorefresh .library .PullToRefreshAttacher ;
1415import uk .co .senab .actionbarpulltorefresh .library .sdk .Compat ;
1516
1617public class PullToRefreshHeaderTransformer extends DefaultHeaderTransformer {
@@ -21,6 +22,7 @@ public class PullToRefreshHeaderTransformer extends DefaultHeaderTransformer {
2122 private OnTopScrollChangedListener mOnTopScrollChangedListener ;
2223 private boolean mIsNetworkRefreshMode ;
2324 private Context mContext ;
25+ private PullToRefreshAttacher mPullToRefreshAttacher ;
2426
2527 public interface OnTopScrollChangedListener {
2628 public void onTopScrollChanged (boolean scrolledOnTop );
@@ -53,10 +55,21 @@ public boolean hideHeaderView() {
5355 return super .hideHeaderView ();
5456 }
5557
58+ public void setPullToRefreshAttacher (PullToRefreshAttacher pullToRefreshAttacher ) {
59+ mPullToRefreshAttacher = pullToRefreshAttacher ;
60+ }
61+
62+ private void setRefreshDisabled (boolean disabled ) {
63+ if (mPullToRefreshAttacher != null ) {
64+ mPullToRefreshAttacher .setRefreshDisabled (disabled );
65+ }
66+ }
67+
5668 @ Override
5769 public boolean showHeaderView () {
5870 // Workaround to avoid this bug https://github.com/chrisbanes/ActionBar-PullToRefresh/issues/265
5971 // Note, that also remove the alpha animation
72+ setRefreshDisabled (false );
6073 resetContentLayoutAlpha ();
6174
6275 boolean changeVis = mHeaderView .getVisibility () != View .VISIBLE ;
@@ -67,6 +80,7 @@ public boolean showHeaderView() {
6780 } else {
6881 // Network mode enabled and network not available: show a different PTR label
6982 setPullText (mContext .getText (R .string .pull_to_refresh_pull_no_network_label ));
83+ setRefreshDisabled (true );
7084 }
7185 mHeaderView .setVisibility (View .VISIBLE );
7286 AnimatorSet animSet = new AnimatorSet ();
0 commit comments