package cz.destil.wearsquare.activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import butterknife.ButterKnife;
import butterknife.Bind;
import cz.destil.wearsquare.R;
import cz.destil.wearsquare.core.BaseActivity;
/**
* Base activity which handles displaying progress and errors in generic way.
*
* @author David Vávra (david@vavra.me)
*/
public abstract class ProgressActivity extends BaseActivity {
@Bind(R.id.progress)
ProgressBar vProgress;
@Bind(R.id.error)
TextView vError;
@Bind(R.id.main)
FrameLayout vMainContainer;
@Bind(R.id.small_progress)
ProgressBar vSmallProgress;
private View vMainView;
abstract int getMainViewResourceId();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progress);
ButterKnife.bind(this);
vMainView = ((FrameLayout) LayoutInflater.from(this).inflate(getMainViewResourceId(), vMainContainer)).getChildAt(0);
}
@Override
public void startDisconnected() {
super.startDisconnected();
showError(getString(R.string.please_connect));
}
public void showProgress() {
vProgress.setVisibility(View.VISIBLE);
vError.setVisibility(View.GONE);
}
public void hideProgress() {
vProgress.setVisibility(View.GONE);
}
public void hideSmallProgress() {
vSmallProgress.setVisibility(View.GONE);
}
public void showSmallProgress() {
vSmallProgress.setVisibility(View.VISIBLE);
}
public void showError(String message) {
vProgress.setVisibility(View.GONE);
vError.setVisibility(View.VISIBLE);
vError.setText(message);
}
public View getMainView() {
return vMainView;
}
}