mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 17:58:34 +00:00
Reduce Recipient refreshes.
This commit is contained in:
parent
82b5d58d04
commit
acea24c19c
@ -71,8 +71,10 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
|
||||
@Override
|
||||
public void onRun() throws IOException {
|
||||
if (recipient.isGroup()) handleGroupRecipient(recipient);
|
||||
else handleIndividualRecipient(recipient);
|
||||
Recipient resolved = recipient.resolve();
|
||||
|
||||
if (resolved.isGroup()) handleGroupRecipient(resolved);
|
||||
else handleIndividualRecipient(resolved);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -166,11 +168,15 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
byte[] profileKey = recipient.getProfileKey();
|
||||
|
||||
if (unrestrictedUnidentifiedAccess && unidentifiedAccessVerifier != null) {
|
||||
if (recipient.getUnidentifiedAccessMode() != UnidentifiedAccessMode.UNRESTRICTED) {
|
||||
Log.i(TAG, "Marking recipient UD status as unrestricted.");
|
||||
recipientDatabase.setUnidentifiedAccessMode(recipient.getId(), UnidentifiedAccessMode.UNRESTRICTED);
|
||||
}
|
||||
} else if (profileKey == null || unidentifiedAccessVerifier == null) {
|
||||
if (recipient.getUnidentifiedAccessMode() != UnidentifiedAccessMode.DISABLED) {
|
||||
Log.i(TAG, "Marking recipient UD status as disabled.");
|
||||
recipientDatabase.setUnidentifiedAccessMode(recipient.getId(), UnidentifiedAccessMode.DISABLED);
|
||||
}
|
||||
} else {
|
||||
ProfileCipher profileCipher = new ProfileCipher(profileKey);
|
||||
boolean verifiedUnidentifiedAccess;
|
||||
@ -183,10 +189,13 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
}
|
||||
|
||||
UnidentifiedAccessMode mode = verifiedUnidentifiedAccess ? UnidentifiedAccessMode.ENABLED : UnidentifiedAccessMode.DISABLED;
|
||||
|
||||
if (recipient.getUnidentifiedAccessMode() != mode) {
|
||||
Log.i(TAG, "Marking recipient UD status as " + mode.name() + " after verification.");
|
||||
recipientDatabase.setUnidentifiedAccessMode(recipient.getId(), mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setProfileName(Recipient recipient, String profileName) {
|
||||
try {
|
||||
|
@ -116,7 +116,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 current = recipient.get();
|
||||
|
||||
if (!current.isResolving()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user