// Path: pullrefresh/src/main/java/com/nicksong/refreshAndLoad/widget/support/impl/Refreshable.java
// public interface Refreshable {
// 
//     void setPullRefreshLayout(PullRefreshLayout refreshLayout);
// 
//     boolean onScroll(float y);
// 
//     void onScrollChange(int state);
// 
//     boolean onStartFling(float offsetTop);
// 
//     void startRefresh();
// 
//     void stopRefresh();
// }
// 
// Path: pullrefresh/src/main/java/com/nicksong/refreshAndLoad/widget/support/type/LayoutType.java
// public class LayoutType {
//     public final static int LAYOUT_NORMAL = 0x00;
//     public final static int LAYOUT_DRAWER = 0x01;
//     public final static int LAYOUT_SCROLLER = 0x10;
// }


import android.content.Context;
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.RelativeLayout;
import com.nicksong.refreshAndLoad.widget.support.impl.Refreshable;
import com.nicksong.refreshAndLoad.widget.support.type.LayoutType;
package com.nicksong.refreshAndLoad.widget.layout;



public abstract class BaseHeaderView extends RelativeLayout implements Refreshable {

    public final static int NONE = 0;
    public final static int PULLING = 1;
    public final static int LOOSENT_O_REFRESH = 2;
    public final static int REFRESHING = 3;
    public final static int REFRESH_CLONE = 4;
    private int stateType = NONE;

    private PullRefreshLayout pullRefreshLayout;

    private boolean isLockState = false;

    OnRefreshListener onRefreshListener;

    private int scrollState = FlingLayout.SCROLL_STATE_IDLE;

    public BaseHeaderView(Context context) {
        this(context, null);
    }

    public BaseHeaderView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public BaseHeaderView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        setFocusable(false);
// Path: pullrefresh/src/main/java/com/nicksong/refreshAndLoad/widget/support/impl/Refreshable.java
// public interface Refreshable {
// 
//     void setPullRefreshLayout(PullRefreshLayout refreshLayout);
// 
//     boolean onScroll(float y);
// 
//     void onScrollChange(int state);
// 
//     boolean onStartFling(float offsetTop);
// 
//     void startRefresh();
// 
//     void stopRefresh();
// }
// 
// Path: pullrefresh/src/main/java/com/nicksong/refreshAndLoad/widget/support/type/LayoutType.java
// public class LayoutType {
//     public final static int LAYOUT_NORMAL = 0x00;
//     public final static int LAYOUT_DRAWER = 0x01;
//     public final static int LAYOUT_SCROLLER = 0x10;
// }


// Path: pullrefresh/src/main/java/com/nicksong/refreshAndLoad/widget/layout/BaseHeaderView.java
import android.content.Context;
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.RelativeLayout;
import com.nicksong.refreshAndLoad.widget.support.impl.Refreshable;
import com.nicksong.refreshAndLoad.widget.support.type.LayoutType;

package com.nicksong.refreshAndLoad.widget.layout;



public abstract class BaseHeaderView extends RelativeLayout implements Refreshable {

    public final static int NONE = 0;
    public final static int PULLING = 1;
    public final static int LOOSENT_O_REFRESH = 2;
    public final static int REFRESHING = 3;
    public final static int REFRESH_CLONE = 4;
    private int stateType = NONE;

    private PullRefreshLayout pullRefreshLayout;

    private boolean isLockState = false;

    OnRefreshListener onRefreshListener;

    private int scrollState = FlingLayout.SCROLL_STATE_IDLE;

    public BaseHeaderView(Context context) {
        this(context, null);
    }

    public BaseHeaderView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public BaseHeaderView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        setFocusable(false);
        setFocusableInTouchMode(false);