Sync keys with linked devices.

This commit is contained in:
Cody Henthorne
2023-10-11 16:34:35 -04:00
parent 6a6b80cce2
commit 1f9320200a
7 changed files with 62 additions and 5 deletions

View File

@@ -1672,7 +1672,13 @@ public class SignalServiceMessageSender {
if (keysMessage.getStorageService().isPresent()) {
builder.storageService(ByteString.of(keysMessage.getStorageService().get().serialize()));
} else {
}
if (keysMessage.getMaster().isPresent()) {
builder.master(ByteString.of(keysMessage.getMaster().get().serialize()));
}
if (builder.storageService == null && builder.master == null) {
Log.w(TAG, "Invalid keys message!");
}

View File

@@ -1,7 +1,7 @@
package org.whispersystems.signalservice.api.messages.multidevice;
import org.whispersystems.signalservice.api.kbs.MasterKey;
import org.whispersystems.signalservice.api.storage.StorageKey;
import java.util.Optional;
@@ -9,12 +9,18 @@ import java.util.Optional;
public class KeysMessage {
private final Optional<StorageKey> storageService;
private final Optional<MasterKey> master;
public KeysMessage(Optional<StorageKey> storageService) {
public KeysMessage(Optional<StorageKey> storageService, Optional<MasterKey> master) {
this.storageService = storageService;
this.master = master;
}
public Optional<StorageKey> getStorageService() {
return storageService;
}
public Optional<MasterKey> getMaster() {
return master;
}
}