mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Add device linking infrastructure.
This commit is contained in:
@@ -9,6 +9,7 @@ import okio.ByteString.Companion.toByteString
|
||||
import org.signal.libsignal.protocol.IdentityKeyPair
|
||||
import org.signal.libsignal.protocol.state.KyberPreKeyRecord
|
||||
import org.signal.libsignal.protocol.state.SignedPreKeyRecord
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.LinkedDeviceInfo
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.LocalRegistrationMetadata
|
||||
import org.whispersystems.signalservice.api.account.PreKeyCollection
|
||||
|
||||
@@ -17,7 +18,14 @@ import org.whispersystems.signalservice.api.account.PreKeyCollection
|
||||
* and combines them into a proto-backed class [LocalRegistrationMetadata] so they can be serialized & stored.
|
||||
*/
|
||||
object LocalRegistrationMetadataUtil {
|
||||
fun createLocalRegistrationMetadata(localAciIdentityKeyPair: IdentityKeyPair, localPniIdentityKeyPair: IdentityKeyPair, registrationData: RegistrationData, remoteResult: AccountRegistrationResult, reglockEnabled: Boolean): LocalRegistrationMetadata {
|
||||
fun createLocalRegistrationMetadata(
|
||||
localAciIdentityKeyPair: IdentityKeyPair,
|
||||
localPniIdentityKeyPair: IdentityKeyPair,
|
||||
registrationData: RegistrationData,
|
||||
remoteResult: AccountRegistrationResult,
|
||||
reglockEnabled: Boolean,
|
||||
linkedDeviceInfo: LinkedDeviceInfo? = null
|
||||
): LocalRegistrationMetadata {
|
||||
return LocalRegistrationMetadata.Builder().apply {
|
||||
aciIdentityKeyPair = localAciIdentityKeyPair.serialize().toByteString()
|
||||
aciSignedPreKey = remoteResult.aciPreKeyCollection.signedPreKey.serialize().toByteString()
|
||||
@@ -39,6 +47,7 @@ object LocalRegistrationMetadataUtil {
|
||||
profileKey = registrationData.profileKey.serialize().toByteString()
|
||||
servicePassword = registrationData.password
|
||||
this.reglockEnabled = reglockEnabled
|
||||
this.linkedDeviceInfo = linkedDeviceInfo
|
||||
}.build()
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
/*
|
||||
* Copyright 2025 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.registration.data
|
||||
|
||||
data class RegisterAsLinkedDeviceResponse(
|
||||
val deviceId: Int,
|
||||
val accountRegistrationResult: AccountRegistrationResult
|
||||
)
|
||||
Reference in New Issue
Block a user