package com.hitherejoe.bourbon.ui.browse;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.wearable.view.DotsPageIndicator;
import android.support.wearable.view.GridViewPager;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.hitherejoe.bourbon.R;
import com.hitherejoe.bourboncorecommon.data.model.Shot;
import com.hitherejoe.bourboncorecommon.ui.browse.BrowseMvpView;
import com.hitherejoe.bourboncorecommon.ui.browse.BrowsePresenter;
import com.hitherejoe.bourbon.ui.base.BaseActivity;
import java.util.List;
import javax.inject.Inject;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class BrowseActivity extends BaseActivity implements BrowseMvpView {
@Bind(R.id.pager_shots)
GridViewPager mShotsPager;
@Bind(R.id.page_indicator)
DotsPageIndicator mPageIndicator;
@Bind(R.id.progress)
ProgressBar mProgress;
@Bind(R.id.layout_error)
View mErrorView;
@Bind(R.id.text_error)
TextView mErrorText;
@Bind(R.id.image_error)
ImageView mErrorImage;
@Inject
BrowsePresenter mBrowsePresenter;
private BrowseAdapter mBrowseAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browse);
ButterKnife.bind(this);
activityComponent().inject(this);
mBrowsePresenter.attachView(this);
mBrowseAdapter = new BrowseAdapter(this);
mShotsPager.setAdapter(mBrowseAdapter);
mPageIndicator.setPager(mShotsPager);
mPageIndicator.setDotColor(ContextCompat.getColor(this, R.color.colorPrimary));
mPageIndicator.setDotColorSelected(ContextCompat.getColor(this, R.color.colorAccent));
mPageIndicator.setDotRadius(4);
mBrowsePresenter.getShots(BrowsePresenter.SHOT_COUNT, BrowsePresenter.SHOT_PAGE);
}
@Override
public void showProgress() {
mProgress.setVisibility(View.VISIBLE);
}
@Override
public void hideProgress() {
mProgress.setVisibility(View.GONE);
}
@Override
public void showShots(List<Shot> shots) {
mBrowseAdapter.setShots(shots);
mBrowseAdapter.notifyDataSetChanged();
}
@Override
public void showError() {
mErrorImage.setImageResource(R.drawable.ic_sentiment_very_dissatisfied_gray_48dp);
mErrorText.setText(getString(R.string.text_error_loading_shots));
mErrorView.setVisibility(View.VISIBLE);
}
@Override
public void showEmpty() {
mErrorImage.setImageResource(R.drawable.ic_empty_glass_gray_48dp);
mErrorText.setText(getString(R.string.text_no_shots));
mErrorView.setVisibility(View.VISIBLE);
}
@Override
public void showMessageLayout(boolean show) {
mErrorView.setVisibility(show ? View.VISIBLE : View.GONE);
}
@OnClick(R.id.layout_error)
public void onErrorLayoutClick() {
mBrowsePresenter.getShots(BrowsePresenter.SHOT_COUNT, BrowsePresenter.SHOT_PAGE);
}
}