public void onSubscribe(Disposable d) { if (list != null) { list.get().add(d); } }
@Override public void onDestroyView() { super.onDestroyView(); disposableList.dispose(); }
protected void addUserMetaUpdatedEventListener() { disposableList.add(ChatSDK.events().sourceOnMain() .filter(NetworkEvent.filterType(EventType.UserMetaUpdated)) .observeOn(AndroidSchedulers.mainThread()) .subscribe(networkEvent -> { if (networkEvent.user.equals(getUser())) { reloadData(); } })); }
@Override protected void onStop() { super.onStop(); disposableList.dispose(); }
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 void onDestroyView() { super.onDestroyView(); disposables.dispose(); }
@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 protected void onPause () { super.onPause(); disposableList.dispose(); }
@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))); }
@Override public void onDestroy () { super.onDestroy(); disposableList.dispose(); }
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(); })); }
@Override protected void onStop() { disposableList.dispose(); super.onStop(); }
disposableList.add(ChatSDK.core().pushUser() .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> {
@Override protected void onDestroy() { super.onDestroy(); disposableList.dispose(); }
public void goOffline() { ChatSDK.core().save(); disposableList.add(setUserOffline().subscribe(() -> DatabaseReference.goOffline())); }
public FirebaseCoreHandler() { // When the user logs out, turn off all the existing listeners FirebaseEventHandler.shared().source() .filter(NetworkEvent.filterType(EventType.Logout)) .subscribe(networkEvent -> disposableList.dispose()); }
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)); }); }
dialog.setOnCancelListener(dialog1 -> disposableList.dispose());
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(); })); }