package com.fastaccess.ui.widgets; import android.app.Activity; import android.content.Context; import android.support.design.widget.AppBarLayout; import android.support.v4.widget.SwipeRefreshLayout; import android.util.AttributeSet; import com.fastaccess.R; /** * Created by kosh on 7/30/2015. CopyRights @ Innov8tif */ public class AppbarRefreshLayout extends SwipeRefreshLayout implements AppBarLayout.OnOffsetChangedListener { private AppBarLayout appBarLayout; private boolean isReallyDisabled = false; public AppbarRefreshLayout(Context context) { super(context, null); } public AppbarRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); setColorSchemeResources(R.color.primary, R.color.primary_dark, R.color.primary_light, R.color.accent); } public void setReallyDisable() { this.setEnabled(false); isReallyDisabled = true; } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (getContext() instanceof Activity) { appBarLayout = (AppBarLayout) ((Activity) getContext()).findViewById(R.id.appbar); if (appBarLayout != null) { appBarLayout.addOnOffsetChangedListener(this); } } } @Override protected void onDetachedFromWindow() { if (appBarLayout != null) { appBarLayout.removeOnOffsetChangedListener(this); appBarLayout = null; } super.onDetachedFromWindow(); } @Override public void onOffsetChanged(AppBarLayout appBarLayout, int i) { if (!isReallyDisabled) { this.setEnabled(i == 0); } } }