Add copy media backup id to backup playground.

This commit is contained in:
Cody Henthorne
2025-05-22 09:36:11 -04:00
parent ea0b8fc594
commit 52c7a9a214
2 changed files with 19 additions and 0 deletions

View File

@@ -77,6 +77,7 @@ import org.signal.core.ui.compose.Rows
import org.signal.core.ui.compose.SignalPreview
import org.signal.core.ui.compose.Snackbars
import org.signal.core.ui.compose.TextFields.TextField
import org.signal.core.util.Base64
import org.signal.core.util.Hex
import org.signal.core.util.getLength
import org.thoughtcrime.securesms.R
@@ -462,6 +463,15 @@ fun Screen(
}
)
Rows.TextRow(
text = "Copy Media Backup ID",
label = "Copies the Media Backup ID, Base64 encoded; it can be used to identify your media backup on the server.",
onClick = {
Util.copyToClipboard(context, Base64.encodeWithoutPadding(SignalStore.backup.mediaRootBackupKey.deriveBackupId(SignalStore.account.requireAci()).value))
Toast.makeText(context, "Copied!", Toast.LENGTH_SHORT).show()
}
)
Dividers.Default()
Text(

View File

@@ -51,6 +51,15 @@ class MediaRootBackupKey(override val value: ByteArray) : BackupKey {
)
}
/**
* Identifies a the location of a user's backup.
*/
fun deriveBackupId(aci: ACI): BackupId {
return BackupId(
LibSignalBackupKey(value).deriveBackupId(aci.libSignalAci)
)
}
class MediaKeyMaterial(
val id: MediaId,
val macKey: ByteArray,