Skip to content

Instantly share code, notes, and snippets.

public interface MvpView {
}
public class BaseActivity extends AppCompatActivity implements MvpView {
}
public interface MvpPresenter<V extends MvpView> {
void onAttach(V mvpView);
}
public class BasePresenter<V extends MvpView> implements MvpPresenter<V> {
private V mMvpView;
DataManager mDataManager;
public BasePresenter(DataManager dataManager){
mDataManager = dataManager;
}
public class DataManager {
SharedPrefsHelper mSharedPrefsHelper;
public DataManager(SharedPrefsHelper sharedPrefsHelper) {
mSharedPrefsHelper = sharedPrefsHelper;
}
public void clear() {
mSharedPrefsHelper.clear();
public class SharedPrefsHelper {
public static final String MY_PREFS = "MY_PREFS";
public static final String EMAIL = "EMAIL";
SharedPreferences mSharedPreferences;
public SharedPrefsHelper(Context context) {
mSharedPreferences = context.getSharedPreferences(MY_PREFS, MODE_PRIVATE);
public interface SplashMvpView extends MvpView {
void openMainActivity();
void openLoginActivity();
}
public class SplashActivity extends BaseActivity implements SplashMvpView {
SplashPresenter mSplashPresenter;
public static Intent getStartIntent(Context context) {
Intent intent = new Intent(context, SplashActivity.class);
return intent;
}
@Override
public interface SplashMvpPresenter<V extends SplashMvpView> extends MvpPresenter<V> {
void decideNextActivity();
}
public class SplashPresenter<V extends SplashMvpView> extends BasePresenter<V> implements SplashMvpPresenter<V> {
public SplashPresenter(DataManager dataManager) {
super(dataManager);
}
@Override
public void decideNextActivity() {
if (getDataManager().getLoggedInMode()) {
getMvpView().openMainActivity();