Skip to content

Instantly share code, notes, and snippets.

@mladenrakonjac
Created September 15, 2016 07:24
Show Gist options
  • Save mladenrakonjac/e0b33a866f3871d57206b394d623b4d3 to your computer and use it in GitHub Desktop.
Save mladenrakonjac/e0b33a866f3871d57206b394d623b4d3 to your computer and use it in GitHub Desktop.
Example of fragment that implements Contract.View
package me.fleka.deltacity.presentation.shopping;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.Toast;
import butterknife.BindString;
import butterknife.BindView;
import butterknife.ButterKnife;
import java.util.List;
import me.fleka.deltacity.R;
import me.fleka.deltacity.domain.models.Category;
import me.fleka.deltacity.domain.models.Shop;
import static com.google.gson.internal.$Gson$Preconditions.checkNotNull;
/**
* Created by mladenrakonjac on 13/09/16.
*/
public class ShoppingFragment extends Fragment implements ShoppingContract.View {
@BindString(R.string.err_no_internet_connection) String errNoInternetString;
@BindView(R.id.loading_relative_layout) RelativeLayout mLoadingRelativeLayout;
@BindView(R.id.no_content_relative_layout) RelativeLayout mNoContentRelativeLayou;
@BindView(R.id.search_view) SearchView mSearchView;
@BindView(R.id.category_recycler_view) RecyclerView mCategoryRecyclerView;
private ShoppingContract.Presenter mPresenter;
public static ShoppingFragment newInstance() {
return new ShoppingFragment();
}
public ShoppingFragment() {
// Required empty public constructor
}
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setTitle(getString(R.string.shopping));
}
@Override public void onResume() {
super.onResume();
mPresenter.start();
}
@Override public void setPresenter(@NonNull ShoppingContract.Presenter presenter) {
mPresenter = checkNotNull(presenter);
}
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_shopping, container, false);
ButterKnife.bind(this, view);
return view;
}
@Override public void setLoadingIndicator(boolean active) {
if(active)
{
mLoadingRelativeLayout.setVisibility(View.VISIBLE);
} else {
mLoadingRelativeLayout.setVisibility(View.GONE);
}
}
@Override public void showCategories(List<Category> categoryList) {
Toast.makeText(getActivity(), categoryList.get(0).getName(), Toast.LENGTH_SHORT).show();
}
@Override public void showNoInternetConnection() {
Snackbar.make(mLoadingRelativeLayout, errNoInternetString, Snackbar.LENGTH_LONG).show();
}
@Override public void showLoadingCategoriesError() {
}
@Override public void showListOfFoundedShopForSearch(List<Shop> shopList) {
}
@Override public void showNoShopsFound() {
mLoadingRelativeLayout.setVisibility(View.VISIBLE);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment