There is no license, someone decided to pretty much republish Cabinet with no credit so I?m taking away the license altogether.
If you think the Android project MaterialManager listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code
package com.afollestad.cabinet.utils;
//www.java2s.comimport android.support.v7.widget.RecyclerView;
import android.widget.AbsListView;
import com.nostra13.universalimageloader.core.ImageLoader;
publicclass PauseOnScrollListener extends RecyclerView.OnScrollListener {
private ImageLoader imageLoader;
privatefinalboolean pauseOnScroll;
privatefinalboolean pauseOnFling;
privatefinal RecyclerView.OnScrollListener externalListener;
/**
* Constructor
*
* @param imageLoader {@linkplain ImageLoader} instance for controlling
* @param pauseOnScroll Whether {@linkplain ImageLoader#pause() pause ImageLoader} during touch scrolling
* @param pauseOnFling Whether {@linkplain ImageLoader#pause() pause ImageLoader} during fling
*/public PauseOnScrollListener(ImageLoader imageLoader, boolean pauseOnScroll, boolean pauseOnFling) {
this(imageLoader, pauseOnScroll, pauseOnFling, null);
}
/**
* Constructor
*
* @param imageLoader {@linkplain ImageLoader} instance for controlling
* @param pauseOnScroll Whether {@linkplain ImageLoader#pause() pause ImageLoader} during touch scrolling
* @param pauseOnFling Whether {@linkplain ImageLoader#pause() pause ImageLoader} during fling
* @param customListener Your custom {@link android.widget.AbsListView.OnScrollListener} for {@linkplain AbsListView list view} which also
* will be get scroll events
*/public PauseOnScrollListener(ImageLoader imageLoader, boolean pauseOnScroll, boolean pauseOnFling,
RecyclerView.OnScrollListener customListener) {
this.imageLoader = imageLoader;
this.pauseOnScroll = pauseOnScroll;
this.pauseOnFling = pauseOnFling;
externalListener = customListener;
}
@Override
publicvoid onScrollStateChanged(RecyclerView view, int scrollState) {
switch (scrollState) {
default:
thrownew RuntimeException("Unknown scroll state: " + scrollState);
case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
imageLoader.resume();
break;
case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
if (pauseOnScroll) {
imageLoader.pause();
}
break;
case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
if (pauseOnFling) {
imageLoader.pause();
}
break;
}
if (externalListener != null) {
externalListener.onScrollStateChanged(view, scrollState);
}
}
@Override
publicvoid onScrolled(RecyclerView view, int dx, int dy) {
if (externalListener != null) {
externalListener.onScrolled(view, dx, dy);
}
}
}