mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 18:30:20 +01:00
Fix bug where wallpaper didn't update after changing.
This commit is contained in:
committed by
Cody Henthorne
parent
0359f27cd9
commit
604f6709db
@@ -29,6 +29,8 @@ import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
|
||||
public final class LiveRecipient {
|
||||
|
||||
private static final String TAG = Log.tag(LiveRecipient.class);
|
||||
@@ -95,6 +97,19 @@ public final class LiveRecipient {
|
||||
ThreadUtil.runOnMain(() -> observableLiveData.removeObservers(owner));
|
||||
}
|
||||
|
||||
public Observable<Recipient> asObservable() {
|
||||
return Observable.create(emitter -> {
|
||||
Recipient current = recipient.get();
|
||||
if (current != null && current.getId() != RecipientId.UNKNOWN) {
|
||||
emitter.onNext(current);
|
||||
}
|
||||
|
||||
RecipientForeverObserver foreverObserver = emitter::onNext;
|
||||
observeForever(foreverObserver);
|
||||
emitter.setCancellable(() -> removeForeverObserver(foreverObserver));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Watch the recipient for changes. The callback could be invoked at any time. You MUST call
|
||||
* {@link #removeForeverObserver(RecipientForeverObserver)} when finished. You should use
|
||||
|
||||
Reference in New Issue
Block a user