Skip to content

Instantly share code, notes, and snippets.

@sashamerkulev
Created February 11, 2018 19:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sashamerkulev/00e093b064a64a447c84091e1c83b537 to your computer and use it in GitHub Desktop.
Save sashamerkulev/00e093b064a64a447c84091e1c83b537 to your computer and use it in GitHub Desktop.
package ru.merkulyevsasha.uniapp.presentation;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
import android.support.v7.widget.Toolbar;
import android.view.View;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.Unbinder;
import dagger.android.support.AndroidSupportInjection;
import ru.merkulyevsasha.uniapp.R;
/**
* Created by sasha_merkulev on 11.02.2018.
*/
public abstract class BaseFragment<T extends BaseView, P extends BasePresenter<T>> extends Fragment implements BaseView{
@Inject P pres;
@Inject FragmentRouter router;
protected @BindView(R.id.toolbar) Toolbar toolbar;
protected @BindView(R.id.appbar_layout) AppBarLayout appBarLayout;
protected Unbinder binder;
protected DrawerToolbarCombinator combinator;
protected View root;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
AndroidSupportInjection.inject(this);
if (context instanceof DrawerToolbarCombinator) {
combinator = (DrawerToolbarCombinator) context;
}
}
@Override
public void onStart() {
super.onStart();
pres.bindView((T)this);
}
@Override
public void onStop() {
pres.unbindView();
super.onStop();
}
@Override
public void onDestroy() {
pres.onDestroy();
super.onDestroy();
}
@Override
public void onDestroyView() {
binder.unbind();
super.onDestroyView();
}
@Override
public void showMessageError(String message) {
Snackbar.make(root, message, Snackbar.LENGTH_LONG).show();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment