package com.distantfuture.videos.misc;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.distantfuture.videos.R;
public class EmptyListHelper {
View mEmptyView;
TextView mTextView;
ProgressBar mProgress;
Handler mDelayedOperation;
String mMessage = ""; // set so we don't have to check for null in update
boolean mHideProgress = true;
public EmptyListHelper(View emptyView) {
super();
mEmptyView = emptyView;
mTextView = (TextView) emptyView.findViewById(R.id.message);
mProgress = (ProgressBar) emptyView.findViewById(R.id.progress);
}
public View view() {
return mEmptyView;
}
public void updateEmptyListView(String message, boolean hideProgress) {
// no change, return
if (mHideProgress == hideProgress && mMessage.equals(message))
return;
mMessage = message;
mHideProgress = hideProgress;
// updating with a bit of a delay so we don't see it quickly change before the new list data loads
if (mDelayedOperation == null) {
mDelayedOperation = new Handler(Looper.getMainLooper());
mDelayedOperation.postDelayed(new Runnable() {
@Override
public void run() {
mTextView.setText(mMessage);
mTextView.setVisibility(View.VISIBLE);
if (mHideProgress) {
mProgress.setVisibility(View.GONE);
} else {
mProgress.setVisibility(View.VISIBLE);
}
mDelayedOperation = null;
}
}, 500);
}
}
}