Ensure inbound messages mark recipients as registered.
This commit is contained in:
parent
2d2de1a652
commit
a94d77d81e
2 changed files with 8 additions and 44 deletions
|
@ -2084,49 +2084,6 @@ public class RecipientDatabase extends Database {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public void setRegistered(@NonNull RecipientId id, RegisteredState registeredState) {
|
|
||||||
ContentValues contentValues = new ContentValues(1);
|
|
||||||
contentValues.put(REGISTERED, registeredState.getId());
|
|
||||||
|
|
||||||
if (registeredState == RegisteredState.NOT_REGISTERED) {
|
|
||||||
contentValues.putNull(STORAGE_SERVICE_ID);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (update(id, contentValues)) {
|
|
||||||
if (registeredState == RegisteredState.REGISTERED) {
|
|
||||||
setStorageIdIfNotSet(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
Recipient.live(id).refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public void setRegistered(@NonNull Collection<RecipientId> activeIds,
|
|
||||||
@NonNull Collection<RecipientId> inactiveIds)
|
|
||||||
{
|
|
||||||
for (RecipientId activeId : activeIds) {
|
|
||||||
ContentValues registeredValues = new ContentValues(1);
|
|
||||||
registeredValues.put(REGISTERED, RegisteredState.REGISTERED.getId());
|
|
||||||
|
|
||||||
if (update(activeId, registeredValues)) {
|
|
||||||
setStorageIdIfNotSet(activeId);
|
|
||||||
Recipient.live(activeId).refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (RecipientId inactiveId : inactiveIds) {
|
|
||||||
ContentValues contentValues = new ContentValues(1);
|
|
||||||
contentValues.put(REGISTERED, RegisteredState.NOT_REGISTERED.getId());
|
|
||||||
contentValues.putNull(STORAGE_SERVICE_ID);
|
|
||||||
|
|
||||||
if (update(inactiveId, contentValues)) {
|
|
||||||
Recipient.live(inactiveId).refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles inserts the (e164, UUID) pairs, which could result in merges. Does not mark users as
|
* Handles inserts the (e164, UUID) pairs, which could result in merges. Does not mark users as
|
||||||
* registered.
|
* registered.
|
||||||
|
|
|
@ -216,7 +216,14 @@ public class Recipient {
|
||||||
RecipientDatabase db = DatabaseFactory.getRecipientDatabase(context);
|
RecipientDatabase db = DatabaseFactory.getRecipientDatabase(context);
|
||||||
RecipientId recipientId = db.getAndPossiblyMerge(uuid, e164, highTrust);
|
RecipientId recipientId = db.getAndPossiblyMerge(uuid, e164, highTrust);
|
||||||
|
|
||||||
return resolved(recipientId);
|
Recipient resolved = resolved(recipientId);
|
||||||
|
|
||||||
|
if (highTrust && !resolved.isRegistered()) {
|
||||||
|
Log.w(TAG, "External high-trust push was locally marked unregistered. Marking as registered.");
|
||||||
|
db.markRegistered(recipientId);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resolved;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue