// Path: app/src/main/java/moe/yukinoneko/gcomic/base/ToolBarActivity.java
// public abstract class ToolBarActivity<T extends BasePresenter> extends BaseActivity<T> {
//     protected ActionBar mActionBar;
// 
//     @BindView(R.id.toolbar)
//     protected Toolbar mToolbar;
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         initToolBar();
//     }
// 
//     protected void initToolBar() {
//         setSupportActionBar(mToolbar);
//         mActionBar = getSupportActionBar();
//         if (mActionBar != null) mActionBar.setDisplayHomeAsUpEnabled(true);
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         switch (item.getItemId()) {
//             case android.R.id.home:
//                 onBackPressed();
//                 break;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// }
// 
// Path: app/src/main/java/moe/yukinoneko/gcomic/data/SearchData.java
// public class SearchData {
//     public int id;
//     public String status;
//     public String title;
//     @Json(name = "last_name") public String lastName;
//     public String cover;
//     public String authors;
//     public String types;
//     @Json(name = "hot_hits") public int hotHits;
// }
// 
// Path: app/src/main/java/moe/yukinoneko/gcomic/utils/SnackbarUtils.java
// public class SnackbarUtils {
//     /**
//      * 短时间显示Snackbar
//      *
//      * @param view
//      * @param message
//      */
//     public static void showShort(View view, CharSequence message) {
//         Snackbar.make(view, message, Snackbar.LENGTH_SHORT).show();
//     }
// 
//     /**
//      * 短时间显示Snackbar
//      *
//      * @param view
//      * @param resId
//      */
//     public static void showShort(View view, @StringRes int resId) {
//         Snackbar.make(view, resId, Snackbar.LENGTH_SHORT).show();
//     }
// 
//     /**
//      * 长时间显示Snackbar
//      *
//      * @param view
//      * @param message
//      */
//     public static void showLong(View view, CharSequence message) {
//         Snackbar.make(view, message, Snackbar.LENGTH_LONG).show();
//     }
// 
//     /**
//      * 长时间显示Snackbar
//      *
//      * @param view
//      * @param resId
//      */
//     public static void showLong(View view, @StringRes int resId) {
//         Snackbar.make(view, resId, Snackbar.LENGTH_LONG).show();
//     }
// 
//     /**
//      * 长时间显示带Action的Snackbar
//      *
//      * @param view
//      * @param message
//      */
//     public static void showLongWithAction(View view, CharSequence message, CharSequence actionMessage, View.OnClickListener action) {
//         Snackbar.make(view, message, Snackbar.LENGTH_LONG).setAction(actionMessage, action).show();
//     }
// 
//     /**
//      * 长时间显示带Action的Snackbar
//      *
//      * @param view
//      * @param resId
//      */
//     public static void showLongWithAction(View view, @StringRes int resId, @StringRes int actionResId, View.OnClickListener action) {
//         Snackbar.make(view, resId, Snackbar.LENGTH_LONG).setAction(actionResId, action).show();
//     }
// 
//     /**
//      * 自定义显示Snackbar时间
//      *
//      * @param view
//      * @param message
//      * @param duration
//      */
//     public static void show(View view, CharSequence message, int duration) {
//         Snackbar.make(view, message, duration).show();
//     }
// 
//     /**
//      * 自定义显示Snackbar时间
//      *
//      * @param view
//      * @param resId
//      * @param duration
//      */
//     public static void show(View view, @StringRes int resId, int duration) {
//         Snackbar.make(view, resId, duration).show();
//     }
// }


import moe.yukinoneko.gcomic.utils.SnackbarUtils;
import android.content.Intent;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import java.util.List;
import butterknife.BindView;
import moe.yukinoneko.gcomic.R;
import moe.yukinoneko.gcomic.base.ToolBarActivity;
import moe.yukinoneko.gcomic.data.SearchData;
                super.onScrolled(recyclerView, dx, dy);
                if (dy > 0 && !mSwipeRefreshLayout.isRefreshing() && mLayoutManager.findLastCompletelyVisibleItemPosition() > mAdapter.getItemCount() - 3) {
                    setRefreshing(true);
                    isRefresh = false;
                    presenter.search(keyword, page);
                }
            }
        });

        mSwipeRefreshLayout.postDelayed(new Runnable() {
            @Override
            public void run() {
                doRefresh();
            }
        }, 358);
    }

    private void doRefresh() {
        if (mSwipeRefreshLayout == null) {
            return;
        }

        setRefreshing(true);
        mSwipeTarget.smoothScrollToPosition(0);
        isRefresh = true;
        presenter.search(keyword, 0);
    }

    @Override
    public void showMessageSnackbar(int resId) {
// Path: app/src/main/java/moe/yukinoneko/gcomic/base/ToolBarActivity.java
// public abstract class ToolBarActivity<T extends BasePresenter> extends BaseActivity<T> {
//     protected ActionBar mActionBar;
// 
//     @BindView(R.id.toolbar)
//     protected Toolbar mToolbar;
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         initToolBar();
//     }
// 
//     protected void initToolBar() {
//         setSupportActionBar(mToolbar);
//         mActionBar = getSupportActionBar();
//         if (mActionBar != null) mActionBar.setDisplayHomeAsUpEnabled(true);
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         switch (item.getItemId()) {
//             case android.R.id.home:
//                 onBackPressed();
//                 break;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// }
// 
// Path: app/src/main/java/moe/yukinoneko/gcomic/data/SearchData.java
// public class SearchData {
//     public int id;
//     public String status;
//     public String title;
//     @Json(name = "last_name") public String lastName;
//     public String cover;
//     public String authors;
//     public String types;
//     @Json(name = "hot_hits") public int hotHits;
// }
// 
// Path: app/src/main/java/moe/yukinoneko/gcomic/utils/SnackbarUtils.java
// public class SnackbarUtils {
//     /**
//      * 短时间显示Snackbar
//      *
//      * @param view
//      * @param message
//      */
//     public static void showShort(View view, CharSequence message) {
//         Snackbar.make(view, message, Snackbar.LENGTH_SHORT).show();
//     }
// 
//     /**
//      * 短时间显示Snackbar
//      *
//      * @param view
//      * @param resId
//      */
//     public static void showShort(View view, @StringRes int resId) {
//         Snackbar.make(view, resId, Snackbar.LENGTH_SHORT).show();
//     }
// 
//     /**
//      * 长时间显示Snackbar
//      *
//      * @param view
//      * @param message
//      */
//     public static void showLong(View view, CharSequence message) {
//         Snackbar.make(view, message, Snackbar.LENGTH_LONG).show();
//     }
// 
//     /**
//      * 长时间显示Snackbar
//      *
//      * @param view
//      * @param resId
//      */
//     public static void showLong(View view, @StringRes int resId) {
//         Snackbar.make(view, resId, Snackbar.LENGTH_LONG).show();
//     }
// 
//     /**
//      * 长时间显示带Action的Snackbar
//      *
//      * @param view
//      * @param message
//      */
//     public static void showLongWithAction(View view, CharSequence message, CharSequence actionMessage, View.OnClickListener action) {
//         Snackbar.make(view, message, Snackbar.LENGTH_LONG).setAction(actionMessage, action).show();
//     }
// 
//     /**
//      * 长时间显示带Action的Snackbar
//      *
//      * @param view
//      * @param resId
//      */
//     public static void showLongWithAction(View view, @StringRes int resId, @StringRes int actionResId, View.OnClickListener action) {
//         Snackbar.make(view, resId, Snackbar.LENGTH_LONG).setAction(actionResId, action).show();
//     }
// 
//     /**
//      * 自定义显示Snackbar时间
//      *
//      * @param view
//      * @param message
//      * @param duration
//      */
//     public static void show(View view, CharSequence message, int duration) {
//         Snackbar.make(view, message, duration).show();
//     }
// 
//     /**
//      * 自定义显示Snackbar时间
//      *
//      * @param view
//      * @param resId
//      * @param duration
//      */
//     public static void show(View view, @StringRes int resId, int duration) {
//         Snackbar.make(view, resId, duration).show();
//     }
// }


// Path: app/src/main/java/moe/yukinoneko/gcomic/module/search/SearchActivity.java
import moe.yukinoneko.gcomic.utils.SnackbarUtils;
import android.content.Intent;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import java.util.List;
import butterknife.BindView;
import moe.yukinoneko.gcomic.R;
import moe.yukinoneko.gcomic.base.ToolBarActivity;
import moe.yukinoneko.gcomic.data.SearchData;

                super.onScrolled(recyclerView, dx, dy);
                if (dy > 0 && !mSwipeRefreshLayout.isRefreshing() && mLayoutManager.findLastCompletelyVisibleItemPosition() > mAdapter.getItemCount() - 3) {
                    setRefreshing(true);
                    isRefresh = false;
                    presenter.search(keyword, page);
                }
            }
        });

        mSwipeRefreshLayout.postDelayed(new Runnable() {
            @Override
            public void run() {
                doRefresh();
            }
        }, 358);
    }

    private void doRefresh() {
        if (mSwipeRefreshLayout == null) {
            return;
        }

        setRefreshing(true);
        mSwipeTarget.smoothScrollToPosition(0);
        isRefresh = true;
        presenter.search(keyword, 0);
    }

    @Override
    public void showMessageSnackbar(int resId) {
        SnackbarUtils.showShort(mSwipeRefreshLayout, resId);