public void onSubscribe(Disposable d) { if (list != null) { list.get().add(d); } }
protected void addUserMetaUpdatedEventListener() { disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.UserMetaUpdated)) .observeOn(AndroidSchedulers.mainThread()) .subscribe(networkEvent -> { if (networkEvent.user.equals(getUser())) { reloadData(); } })); }
protected void logout () { disposableList.add(ChatSDK.auth().logout() .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> ChatSDK.ui().startLoginActivity(getApplicationContext(), false), throwable -> { ChatSDK.logError(throwable); Toast.makeText(EditProfileActivity.this, throwable.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); })); }
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); disposableList.add(ChatSDK.events().sourceOnMain().filter(NetworkEvent.filterType(EventType.UserMetaUpdated, EventType.UserPresenceUpdated)) .observeOn(AndroidSchedulers.mainThread()) .subscribe(networkEvent -> { if (networkEvent.user.equals(getUser())) { reloadData(); } })); mainView = inflater.inflate(activityLayout(), null); setupTouchUIToDismissKeyboard(mainView, R.id.ivAvatar); initViews(); return mainView; }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) { loadingMode = savedInstanceState.getInt(LOADING_MODE); clickMode = savedInstanceState.getInt(CLICK_MODE); isDialog = savedInstanceState.getBoolean(IS_DIALOG); } if (!isDialog) { setHasOptionsMenu(true); setRetainInstance(true); } disposables.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterContactsChanged()) .subscribe(networkEvent -> loadData(false))); disposables.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.UserPresenceUpdated)) .subscribe(networkEvent -> loadData(true))); }
protected void add() { if (getUser().isMe()) return; disposableList.add(ChatSDK.contact().addContact(getUser(), ConnectionType.Contact) .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> { updateFriendsButton(true); ToastHelper.show(getContext(), getString(R.string.contact_added)); }, throwable -> { ChatSDK.logError(throwable); Toast.makeText(ProfileFragment.this.getContext(), throwable.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); })); }
public void goOffline() { ChatSDK.core().save(); disposableList.add(setUserOffline().subscribe(() -> DatabaseReference.goOffline())); }
disposableList.add(ChatSDK.core().pushUser() .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> {
public Completable userOn(final User user) { return Completable.create(e -> { final UserWrapper wrapper = new UserWrapper(user); disposableList.add(wrapper.onlineOn().doOnDispose(wrapper::onlineOff).subscribe(aBoolean -> { ChatSDK.events().source().onNext(NetworkEvent.userPresenceUpdated(user)); }, e::onError)); disposableList.add(wrapper.metaOn().doOnDispose(wrapper::metaOff).subscribe(user1 -> { ChatSDK.events().source().onNext(NetworkEvent.userMetaUpdated(user1)); e.onComplete(); }, e::onError)); }); }
protected void unblock() { if (getUser().isMe()) return; disposableList.add(ChatSDK.blocking().unblockUser(getUser().getEntityID()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> { updateBlockedButton(false); updateInterface(); ToastHelper.show(getContext(), R.string.user_unblocked); }, throwable12 -> { ChatSDK.logError(throwable12); Toast.makeText(ProfileFragment.this.getContext(), throwable12.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); })); }
protected void block() { if (getUser().isMe()) return; disposableList.add(ChatSDK.blocking().blockUser(getUser().getEntityID()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> { updateBlockedButton(true); updateInterface(); ToastHelper.show(getContext(), getString(R.string.user_blocked)); }, throwable1 -> { ChatSDK.logError(throwable1); Toast.makeText(ProfileFragment.this.getContext(), throwable1.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); })); }
protected void delete() { if (getUser().isMe()) return; disposableList.add(ChatSDK.contact().deleteContact(getUser(), ConnectionType.Contact) .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> { updateFriendsButton(false); ToastHelper.show(getContext(), getString(R.string.contact_deleted)); getActivity().finish(); }, throwable -> { ChatSDK.logError(throwable); Toast.makeText(ProfileFragment.this.getContext(), throwable.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); })); }
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { disposableList.add(ChatSDK.events().sourceOnMain() .filter(mainEventFilter()) .subscribe(networkEvent -> { if (tabIsVisible) { reloadData(); } })); disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.TypingStateChanged)) .subscribe(networkEvent -> { if (tabIsVisible) { adapter.setTyping(networkEvent.thread, networkEvent.text); adapter.notifyDataSetChanged(); } })); reloadData(); mainView = inflater.inflate(activityLayout(), null); initViews(); return mainView; }
@Override protected void onResume() { super.onResume(); disposableList.dispose(); disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.Logout)) .subscribe(networkEvent -> clearData())); updateLocalNotificationsForTab(); reloadData(); }
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()); })); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) { getDataFromBundle(savedInstanceState); } else { if (getIntent().getExtras() != null) { getDataFromBundle(getIntent().getExtras()); } else { finish(); } } setContentView(activityLayout()); initViews(); disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.threadUsersUpdated()) .subscribe(networkEvent -> loadData())); loadData(); }
showOrUpdateProgressDialog(getString(R.string.updating_pictures)); ChatSDK.profilePictures().setDefaultPicture(user, url); disposableList.add(ChatSDK.core().pushUser().subscribe(() -> { dismissProgressDialog(); updateGallery(); showOrUpdateProgressDialog(getString(R.string.deleting_picture)); ChatSDK.profilePictures().removePicture(user, url); disposableList.add(ChatSDK.core().pushUser().subscribe(() -> { dismissProgressDialog(); updateGallery();
disposableList.add(ChatSDK.thread().loadMoreMessagesForThread(firstMessage, thread) .observeOn(AndroidSchedulers.mainThread()) .subscribe((messages, throwable) -> {
disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.MessageAdded, EventType.ThreadReadReceiptUpdated, EventType.MessageRemoved)) .filter(NetworkEvent.filterThreadEntityID(thread.getEntityID())) disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.MessageRemoved)) .filter(NetworkEvent.filterThreadEntityID(thread.getEntityID())) })); disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType( EventType.ThreadDetailsUpdated, .subscribe(networkEvent -> messageListAdapter.notifyDataSetChanged())); disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.UserMetaUpdated)).subscribe(networkEvent -> messageListAdapter.notifyDataSetChanged())); disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.TypingStateChanged)).subscribe(networkEvent -> { if(networkEvent.thread.equals(thread)) {