public void authenticateWithDetails (AccountDetails details) { if(authenticating) { return; } authenticating = true; showProgressDialog(getString(R.string.connecting)); ChatSDK.auth().authenticate(details) .observeOn(AndroidSchedulers.mainThread()) .doFinally(() -> { authenticating = false; dismissProgressDialog(); }) .subscribe(this::afterLogin, e -> { toastErrorMessage(e, false); ChatSDK.logError(e); }); }