123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- package com.sunil.mvp.ui.kiskstarterdetail;
- import android.app.Fragment;
- import android.os.Bundle;
- import android.support.annotation.Nullable;
- import android.support.design.widget.AppBarLayout;
- import android.support.design.widget.CollapsingToolbarLayout;
- import android.support.design.widget.CoordinatorLayout;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageView;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.squareup.picasso.Picasso;
- import com.sunil.mvp.MainApplication;
- import com.sunil.mvp.R;
- import com.sunil.mvp.db.model.KickStarter;
- import com.sunil.mvp.db.source.KickStarterLocalSource;
- import com.sunil.mvp.di.component.ApplicationComponent;
- import com.sunil.mvp.di.component.DaggerKickStarterDetailComponent;
- import com.sunil.mvp.di.component.DaggerKickStarterListComponent;
- import com.sunil.mvp.di.component.KickStarterDetailComponent;
- import com.sunil.mvp.di.component.KickStarterListComponent;
- import com.sunil.mvp.di.module.KickStarterDetailModule;
- import com.sunil.mvp.di.module.KickStarterListModule;
- import javax.inject.Inject;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- /**
- * Created by sunil on 19-08-2017.
- */
- public class KickStarterDetailFragment extends Fragment implements KickStarterDetailContract.View {
- public static final String Tag = KickStarterDetailFragment.class.getSimpleName();
- @BindView(R.id.appbar)
- AppBarLayout appbar;
- @BindView(R.id.pledgedvalue)
- TextView pledgedvalue;
- @BindView(R.id.backers_value)
- TextView backersValue;
- @BindView(R.id.relative)
- RelativeLayout relative;
- @BindView(R.id.main_content)
- CoordinatorLayout mainContent;
- @BindView(R.id.title)
- TextView titleText;
- @BindView(R.id.backers)
- TextView backers;
- @BindView(R.id.backdrop)
- ImageView backdrop;
- @BindView(R.id.toolbar)
- Toolbar toolbar;
- @BindView(R.id.collapsing_toolbar)
- CollapsingToolbarLayout collapsingToolbar;
- private String url;
- private String title;
- @Inject
- KickStarterDetailContract.Presenter mPresenter;
- public static KickStarterDetailFragment newInstance(int s_no) {
- KickStarterDetailFragment kickStarterDetailFragment = new KickStarterDetailFragment();
- Bundle bundle = new Bundle();
- bundle.putInt("s_no", s_no);
- kickStarterDetailFragment.setArguments(bundle);
- return kickStarterDetailFragment;
- }
- @Override
- public void onResume() {
- super.onResume();
- mPresenter.subscribe();
- }
- @Override
- public void onPause() {
- super.onPause();
- mPresenter.unSubscribe();
- }
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- // do things if you want to create only first time when activity created.
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- injectDependency();
- mPresenter.attachView(this);
- }
- private void injectDependency() {
- ApplicationComponent applicationComponent = ((MainApplication) getActivity().getApplication()).getApplicationComponent();
- KickStarterDetailComponent kickStarterDetailComponent = DaggerKickStarterDetailComponent.builder()
- .applicationComponent(applicationComponent)
- .kickStarterDetailModule(new KickStarterDetailModule())
- .build();
- kickStarterDetailComponent.inject(this);
- }
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View root = inflater.inflate(R.layout.fragment_kickstarter_detail, container, false);
- ButterKnife.bind(this, root);
- ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);
- ((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- collapsingToolbar.setTitle(title);
- Bundle bundle = this.getArguments();
- if (bundle != null) {
- int s_n0 = bundle.getInt("s_no");
- mPresenter.loadDetailKickStarter(s_n0);
- }
- return root;
- }
- @Override
- public void onKickStartersOk(KickStarter kickStarter) {
- url = kickStarter.getUrl();
- title = kickStarter.getTitle();
- pledgedvalue.setText(kickStarter.getAmt_pledged());
- backersValue.setText(kickStarter.getNum_backers());
- titleText.setText(title);
- loadBackdrop();
- }
- @Override
- public void showLoadErrorMessage(String errorMsg) {
- Toast.makeText(getActivity(), "Error "+ errorMsg, Toast.LENGTH_LONG).show();
- }
- @Override
- public void showEmptyView(boolean isShow) {
- }
- private void loadBackdrop() {
- if (url != null && !url.isEmpty()) {
- Picasso.with(getActivity())
- .load("https://www.kickstarter.com/" + url)
- .placeholder(R.drawable.code)
- .error(R.drawable.code)
- .into(backdrop);
- //Glide.with(this).load("https://www.kickstarter.com/" + url).into(imageView).onLoadFailed(getDrawable(R.drawable.code));
- }
- }
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- }
- }
|