package net.mvla.mvhs; import android.support.annotation.Nullable; import java.lang.ref.WeakReference; //Taken from Mosby public class MvpPresenter<V extends MvpView> { private WeakReference<V> mViewRef; /** * @param context If null, assumes view is Context */ public void attachView(V view) { mViewRef = new WeakReference<>(view); } @Nullable public V getView() { return mViewRef == null ? null : mViewRef.get(); } public boolean isViewAttached() { return mViewRef != null && mViewRef.get() != null; } public void detachView() { if (mViewRef != null) { mViewRef.clear(); mViewRef = null; } } }