protected Single<Thread> createAndOpenThread (String name, List<User> users) { return ChatSDK.thread().createThread(name, users) .observeOn(AndroidSchedulers.mainThread()) .doOnSuccess(thread -> { if (thread != null) { ChatSDK.ui().startChatActivityForID(getApplicationContext(), thread.getEntityID()); } }).doOnError(throwable -> ToastHelper.show(getApplicationContext(), R.string.create_thread_with_users_fail_toast)); }
public void startChat () { if (startingChat) { return; } startingChat = true; showProgressDialog(getString(R.string.creating_thread)); disposableList.add(ChatSDK.thread().createThread("", user, ChatSDK.currentUser()) .observeOn(AndroidSchedulers.mainThread()) .doFinally(() -> { dismissProgressDialog(); startingChat = false; }) .subscribe(thread -> { ChatSDK.ui().startChatActivityForID(getApplicationContext(), thread.getEntityID()); }, throwable -> { ToastHelper.show(getApplicationContext(), throwable.getLocalizedMessage()); })); }