@Override public void accept(Throwable throwable) throws Exception { if (!isViewAttached()) { return; } getMvpView().hideLoading(); // handle the login error here if (throwable instanceof ANError) { ANError anError = (ANError) throwable; handleApiError(anError); } } }));
@OnClick(R.id.ib_fb_login) void onFbLoginClick(View v) { mPresenter.onFacebookLoginClick(); }
@OnClick(R.id.ib_google_login) void onGoogleLoginClick(View v) { mPresenter.onGoogleLoginClick(); }
@Override public void accept(LoginResponse response) throws Exception { getDataManager().updateUserInfo( response.getAccessToken(), response.getUserId(), DataManager.LoggedInMode.LOGGED_IN_MODE_FB, response.getUserName(), response.getUserEmail(), response.getGoogleProfilePicUrl()); if (!isViewAttached()) { return; } getMvpView().hideLoading(); getMvpView().openMainActivity(); } }, new Consumer<Throwable>() {
@Override public void onFacebookLoginClick() { getMvpView().showLoading(); getCompositeDisposable().add(getDataManager() .doFacebookLoginApiCall(new LoginRequest.FacebookLoginRequest("test3", "test4")) .subscribeOn(getSchedulerProvider().io()) .observeOn(getSchedulerProvider().ui()) .subscribe(new Consumer<LoginResponse>() { @Override
@Test public void testServerLoginSuccess() { String email = "dummy@gmail.com"; String password = "password"; LoginResponse loginResponse = new LoginResponse(); doReturn(Observable.just(loginResponse)) .when(mMockDataManager) .doServerLoginApiCall(new LoginRequest .ServerLoginRequest(email, password)); mLoginPresenter.onServerLoginClick(email, password); mTestScheduler.triggerActions(); verify(mMockLoginMvpView).showLoading(); verify(mMockLoginMvpView).hideLoading(); verify(mMockLoginMvpView).openMainActivity(); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); getActivityComponent().inject(this); setUnBinder(ButterKnife.bind(this)); mPresenter.onAttach(LoginActivity.this); }
@Override public void openLoginActivity() { startActivity(LoginActivity.getStartIntent(this)); finish(); }
@Override public void openMainActivity() { Intent intent = MainActivity.getStartIntent(LoginActivity.this); startActivity(intent); finish(); }
@Before public void setUp() throws Exception { CompositeDisposable compositeDisposable = new CompositeDisposable(); mTestScheduler = new TestScheduler(); TestSchedulerProvider testSchedulerProvider = new TestSchedulerProvider(mTestScheduler); mLoginPresenter = new LoginPresenter<>( mMockDataManager, testSchedulerProvider, compositeDisposable); mLoginPresenter.onAttach(mMockLoginMvpView); }
@Override protected void onDestroy() { mPresenter.onDetach(); super.onDestroy(); }
@OnClick(R.id.btn_server_login) void onServerLoginClick(View v) { mPresenter.onServerLoginClick(mEmailEditText.getText().toString(), mPasswordEditText.getText().toString()); }
@After public void tearDown() throws Exception { mLoginPresenter.onDetach(); }
@Override public void accept(LoginResponse response) throws Exception { getDataManager().updateUserInfo( response.getAccessToken(), response.getUserId(), DataManager.LoggedInMode.LOGGED_IN_MODE_SERVER, response.getUserName(), response.getUserEmail(), response.getGoogleProfilePicUrl()); if (!isViewAttached()) { return; } getMvpView().hideLoading(); getMvpView().openMainActivity(); } }, new Consumer<Throwable>() {
@Override public void accept(Throwable throwable) throws Exception { if (!isViewAttached()) { return; } getMvpView().hideLoading(); // handle the login error here if (throwable instanceof ANError) { ANError anError = (ANError) throwable; handleApiError(anError); } } }));
@Override public void onGoogleLoginClick() { getMvpView().showLoading(); getCompositeDisposable().add(getDataManager() .doGoogleLoginApiCall(new LoginRequest.GoogleLoginRequest("test1", "test1")) .subscribeOn(getSchedulerProvider().io()) .observeOn(getSchedulerProvider().ui()) .subscribe(new Consumer<LoginResponse>() { @Override
@Override public void openActivityOnTokenExpire() { startActivity(LoginActivity.getStartIntent(this)); finish(); }
@Override public void accept(LoginResponse response) throws Exception { getDataManager().updateUserInfo( response.getAccessToken(), response.getUserId(), DataManager.LoggedInMode.LOGGED_IN_MODE_GOOGLE, response.getUserName(), response.getUserEmail(), response.getGoogleProfilePicUrl()); if (!isViewAttached()) { return; } getMvpView().hideLoading(); getMvpView().openMainActivity(); } }, new Consumer<Throwable>() {
@Override public void accept(Throwable throwable) throws Exception { if (!isViewAttached()) { return; } getMvpView().hideLoading(); // handle the login error here if (throwable instanceof ANError) { ANError anError = (ANError) throwable; handleApiError(anError); } } }));
/** * Making the screen wait so that the branding can be shown */ @Override public void openLoginActivity() { Intent intent = LoginActivity.getStartIntent(SplashActivity.this); startActivity(intent); finish(); }