public static User currentUser () { return ChatSDK.core().currentUserModel(); }
@OnLifecycleEvent(Lifecycle.Event.ON_STOP) public void onAppBackground () { inBackground = true; if (ChatSDK.config().disconnectFromFirebaseWhenInBackground) { ChatSDK.core().goOffline(); } }
private Completable contactsMetaOn () { return Completable.create(e -> { ArrayList<Completable> completables = new ArrayList<>(); for (User contact : ChatSDK.contact().contacts()) { completables.add(ChatSDK.core().userOn(contact)); } Completable.merge(completables).subscribe(e::onComplete, throwable -> e.onError(throwable)); }).subscribeOn(Schedulers.single()); }
e.onComplete(); }).concatWith(ChatSDK.core().pushUser());
@OnLifecycleEvent(Lifecycle.Event.ON_START) public void onAppForeground () { inBackground = false; if(ChatSDK.auth().userAuthenticated() && ChatSDK.config().disconnectFromFirebaseWhenInBackground) { ChatSDK.core().goOnline(); } }
@Override public void deleteContactLocal(User user, ConnectionType type) { if (ChatSDK.currentUser() != null && !user.isMe()) { ChatSDK.currentUser().deleteContact(user, type); ChatSDK.core().userOff(user); } }
public void goOffline() { ChatSDK.core().save(); disposableList.add(setUserOffline().subscribe(() -> DatabaseReference.goOffline())); }
ChatSDK.core().setUserOnline().subscribe(new CrashReportingCompletableObserver());
ChatSDK.core().setUserOffline().subscribe(()->{
@Override public void addContactLocal(User user, ConnectionType type) { if (ChatSDK.currentUser() != null && !user.isMe()) { ChatSDK.currentUser().addContact(user, type); ChatSDK.core().userOn(user); } }
if (ChatSDK.profilePictures().fromUser(getUser()).size() == 1) { disposableList.add(ChatSDK.core().pushUser() .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> {
/** * Start listening to users added to this thread. **/ public Observable<User> usersOn() { return Observable.create((ObservableOnSubscribe<User>) e -> { final DatabaseReference ref = FirebasePaths.threadUsersRef(model.getEntityID()); if(FirebaseReferenceManager.shared().isOn(ref)) { e.onComplete(); return; } ChildEventListener listener = ref.addChildEventListener(new FirebaseEventListener() .onChildAdded((snapshot, s, hasValue) -> { final UserWrapper user = new UserWrapper(snapshot); model.addUser(user.getModel()); ChatSDK.core().userOn(user.getModel()).subscribe(() -> e.onNext(user.getModel()), e::onError); }).onChildRemoved((snapshot, hasValue) -> { UserWrapper user = new UserWrapper(snapshot); // We don't call meta off because we may have other therads // with this user model.removeUser(user.getModel()); e.onNext(user.getModel()); })); FirebaseReferenceManager.shared().addRef(ref, listener); }).subscribeOn(Schedulers.single()); }
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();
public static User currentUser () { return ChatSDK.core().currentUserModel(); }