mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 11:08:33 +00:00
Fix threading issues with LiveRecipient.
This commit is contained in:
parent
d354de806e
commit
8b99af3eef
@ -118,7 +118,7 @@ public final class LiveRecipient {
|
||||
* @return A fully-resolved version of the recipient. May require reading from disk.
|
||||
*/
|
||||
@WorkerThread
|
||||
public synchronized @NonNull Recipient resolve() {
|
||||
public @NonNull Recipient resolve() {
|
||||
Recipient recipient = get();
|
||||
|
||||
if (recipient.isResolving()) {
|
||||
@ -134,7 +134,7 @@ public final class LiveRecipient {
|
||||
* Forces a reload of the underlying recipient.
|
||||
*/
|
||||
@WorkerThread
|
||||
public synchronized void refresh() {
|
||||
public void refresh() {
|
||||
Recipient recipient = fetchRecipientFromDisk(defaultRecipient.getId());
|
||||
liveData.postValue(recipient);
|
||||
Stream.of(recipient.getParticipants()).map(Recipient::live).forEach(LiveRecipient::refresh);
|
||||
|
@ -52,9 +52,11 @@ public final class LiveRecipientCache {
|
||||
return live;
|
||||
}
|
||||
|
||||
synchronized @NonNull Recipient getSelf() {
|
||||
if (localRecipientId == null) {
|
||||
localRecipientId = recipientDatabase.getOrInsertFromE164(TextSecurePreferences.getLocalNumber(context));
|
||||
@NonNull Recipient getSelf() {
|
||||
synchronized (this) {
|
||||
if (localRecipientId == null) {
|
||||
localRecipientId = recipientDatabase.getOrInsertFromE164(TextSecurePreferences.getLocalNumber(context));
|
||||
}
|
||||
}
|
||||
|
||||
return getLive(localRecipientId).resolve();
|
||||
|
Loading…
x
Reference in New Issue
Block a user