Add public device keys to rageshakes
This commit is contained in:
parent
180c300a28
commit
12fdc2b6e0
5 changed files with 142 additions and 0 deletions
|
|
@ -36,7 +36,10 @@ import io.element.android.libraries.core.mimetype.MimeTypes
|
|||
import io.element.android.libraries.di.AppScope
|
||||
import io.element.android.libraries.di.ApplicationContext
|
||||
import io.element.android.libraries.di.SingleIn
|
||||
import io.element.android.libraries.matrix.api.MatrixClientProvider
|
||||
import io.element.android.libraries.matrix.api.SdkMetadata
|
||||
import io.element.android.libraries.matrix.api.core.MatrixPatterns
|
||||
import io.element.android.libraries.matrix.api.core.SessionId
|
||||
import io.element.android.libraries.network.useragent.UserAgentProvider
|
||||
import io.element.android.libraries.sessionstorage.api.SessionStore
|
||||
import kotlinx.coroutines.CancellationException
|
||||
|
|
@ -79,6 +82,7 @@ class DefaultBugReporter @Inject constructor(
|
|||
private val buildMeta: BuildMeta,
|
||||
private val bugReporterUrlProvider: BugReporterUrlProvider,
|
||||
private val sdkMetadata: SdkMetadata,
|
||||
private val matrixClientsProvider: MatrixClientProvider,
|
||||
) : BugReporter {
|
||||
companion object {
|
||||
// filenames
|
||||
|
|
@ -156,6 +160,19 @@ class DefaultBugReporter @Inject constructor(
|
|||
.addFormDataPart("user_id", userId)
|
||||
.addFormDataPart("can_contact", canContact.toString())
|
||||
.addFormDataPart("device_id", deviceId)
|
||||
.apply {
|
||||
userId.takeIf { MatrixPatterns.isUserId(it) }?.let {
|
||||
SessionId(it)
|
||||
}?.let { sessionId ->
|
||||
matrixClientsProvider.getOrNull(sessionId)?.let { client ->
|
||||
val curveKey = client.encryptionService().deviceCurve25519()
|
||||
val edKey = client.encryptionService().deviceEd25519()
|
||||
if (curveKey != null && edKey != null) {
|
||||
addFormDataPart("device_keys", "curve25519:$curveKey, ed25519:$edKey")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.addFormDataPart("device", Build.MODEL.trim())
|
||||
.addFormDataPart("locale", Locale.getDefault().toString())
|
||||
.addFormDataPart("sdk_sha", sdkMetadata.sdkGitSha)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue