package br.com.mgalhardo.guidebook.presentation.ui.guidelist; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; import java.util.List; import javax.inject.Inject; import br.com.mgalhardo.guidebook.R; import br.com.mgalhardo.guidebook.domain.entity.Guide; import br.com.mgalhardo.guidebook.presentation.base.BaseActivity; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; public class GuideListActivity extends BaseActivity implements GuideListContract.View { @BindView(R.id.recyclerview) RecyclerView guideList; @BindView(R.id.successContainer) LinearLayout successContainer; @BindView(R.id.errorContainer) LinearLayout errorContainer; @BindView(R.id.loadingContainer) LinearLayout loadingContainer; @BindView(R.id.emptyContainer) LinearLayout emptyContainer; @Inject GuideListContract.Presenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); ButterKnife.bind(this); getUiComponent().inject(this); initialize(); } private void initialize() { presenter.setView(this); presenter.loadGuides(); } @OnClick(R.id.retryButton) void retryGetCompanies() { presenter.retryButtonClick(); } @Override public void setupGuideList(List<Guide> guides) { LinearLayoutManager manager = new LinearLayoutManager(this); GuideListAdapter companyListAdapter = new GuideListAdapter(this, guides); guideList.setLayoutManager(manager); guideList.setAdapter(companyListAdapter); } @Override public void showLoadingLayout() { successContainer.setVisibility(View.GONE); errorContainer.setVisibility(View.GONE); loadingContainer.setVisibility(View.VISIBLE); emptyContainer.setVisibility(View.GONE); } @Override public void showErrorLayout() { successContainer.setVisibility(View.GONE); errorContainer.setVisibility(View.VISIBLE); loadingContainer.setVisibility(View.GONE); emptyContainer.setVisibility(View.GONE); } @Override public void showSuccessLayout() { successContainer.setVisibility(View.VISIBLE); errorContainer.setVisibility(View.GONE); loadingContainer.setVisibility(View.GONE); emptyContainer.setVisibility(View.GONE); } @Override public void showEmptyLayout() { successContainer.setVisibility(View.GONE); errorContainer.setVisibility(View.GONE); loadingContainer.setVisibility(View.GONE); emptyContainer.setVisibility(View.VISIBLE); } }