Home - FVolodia/AndroidBest GitHub Wiki

MY LIFE WITH ANDROID

Welcome to the AndroidBest wiki!

**Need to read**
https://adityaladwa.wordpress.com/2016/10/25/offline-first-reactive-android-apps-repository-pattern-mvp-dagger-2-rxjava-contentprovider/
public abstract class BasePresenter<V extends BaseView, N extends BaseNavigator> {
    protected V view;
    protected N navigator;
    protected boolean isFragmentActive = false;
    protected boolean isMainActionFinished = false;
    private Action0 pendingAction;

    protected void setView(V view) {
        this.view = view;
    }

    protected void setNavigator(N navigator) {
        this.navigator = navigator;
    }

    public  void setMainAction(Action0 action){
        pendingAction = action;
        if (isFragmentActive){
            allowAction();
        } else {
            isMainActionFinished = true;
        }
    }

    public void allowAction(){
        new Handler().postDelayed(() ->
        pendingAction.call(),300);

    }

    public void onAttach() {
    }

    public void onStart() {
    }

    public void onResume() {
        isFragmentActive = true;
        if (isMainActionFinished){
            allowAction();
        }
        isMainActionFinished = false;
    }

    public void onPause() {
    }

    public void onStop() {
        isFragmentActive = false;
    }

    public void onDestroy() {
        view = null;
        navigator = null;
    }
}