From 9dbe9c728682564f8ce81bc3e1b70ec85e4fa369 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 27 Aug 2020 22:44:55 +0200 Subject: [PATCH 1/3] Typo in comment --- vector/src/main/res/layout/item_device.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vector/src/main/res/layout/item_device.xml b/vector/src/main/res/layout/item_device.xml index 9917cc0e94..6d63b1c3a7 100644 --- a/vector/src/main/res/layout/item_device.xml +++ b/vector/src/main/res/layout/item_device.xml @@ -27,7 +27,7 @@ tools:text="Riot X" /> Date: Thu, 27 Aug 2020 22:46:30 +0200 Subject: [PATCH 2/3] Fix a crash that would occur if it was not dead code --- .../org/matrix/android/sdk/internal/session/room/RoomAPI.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt index d8df86be8f..7eab3041af 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt @@ -220,9 +220,9 @@ internal interface RoomAPI { */ @POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "rooms/{roomId}/send_relation/{parent_id}/{relation_type}/{event_type}") fun sendRelation(@Path("roomId") roomId: String, - @Path("parentId") parent_id: String, + @Path("parent_id") parent_id: String, @Path("relation_type") relationType: String, - @Path("eventType") eventType: String, + @Path("event_type") eventType: String, @Body content: Content? ): Call From ee9c73fde165c1690878df6b06af9903fcc74ee8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 28 Aug 2020 08:58:52 +0200 Subject: [PATCH 3/3] Sonar: rename variables and parameter to follow naming convention --- .../crypto/AttachmentEncryptionTest.kt | 24 ++++++++--------- .../AddThreePidRegistrationParams.kt | 2 +- .../auth/registration/RegistrationParams.kt | 3 ++- .../crypto/MXMegolmExportEncryption.kt | 26 +++++++++---------- .../crypto/algorithms/olm/MXOlmDecryption.kt | 8 +++--- .../attachments/MXEncryptedAttachments.kt | 2 +- .../crypto/model/event/OlmPayloadContent.kt | 16 ++++++++---- .../internal/crypto/model/rest/DeviceInfo.kt | 2 +- .../crypto/model/rest/EncryptedFileKey.kt | 4 +-- .../crypto/store/db/SafeObjectInputStream.kt | 2 +- .../SASDefaultVerificationTransaction.kt | 4 +-- .../sdk/internal/session/room/RoomAPI.kt | 10 +++---- .../room/create/CreateRoomBodyBuilder.kt | 4 +-- .../membership/threepid/InviteThreePidTask.kt | 6 ++--- .../membership/threepid/ThreePidInviteBody.kt | 12 ++++++--- .../room/relation/SendRelationWorker.kt | 4 +-- .../internal/session/sync/model/DeviceInfo.kt | 17 +++++++----- .../android/sdk/internal/util/CompatUtil.kt | 21 +++++++-------- .../vector/app/core/utils/PermissionsTools.kt | 18 ++++++------- .../VerificationChooseMethodController.kt | 2 +- .../VerificationChooseMethodViewModel.kt | 6 ++--- .../app/features/html/FontTagHandler.kt | 6 ++--- .../features/reactions/widget/CircleView.kt | 16 ++++++------ .../app/features/reactions/widget/DotsView.kt | 8 +++--- .../VectorSettingsSecurityPrivacyFragment.kt | 2 +- .../devices/VectorSettingsDevicesFragment.kt | 4 +-- 26 files changed, 122 insertions(+), 107 deletions(-) diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt index cb24cbb242..80e7b6dbbb 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt @@ -19,9 +19,6 @@ package org.matrix.android.sdk.internal.crypto import android.os.MemoryFile import android.util.Base64 import androidx.test.ext.junit.runners.AndroidJUnit4 -import org.matrix.android.sdk.internal.crypto.attachments.MXEncryptedAttachments -import org.matrix.android.sdk.internal.crypto.model.rest.EncryptedFileInfo -import org.matrix.android.sdk.internal.crypto.model.rest.EncryptedFileKey import org.junit.Assert.assertEquals import org.junit.Assert.assertNotEquals import org.junit.Assert.assertNotNull @@ -29,6 +26,9 @@ import org.junit.FixMethodOrder import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters +import org.matrix.android.sdk.internal.crypto.attachments.MXEncryptedAttachments +import org.matrix.android.sdk.internal.crypto.model.rest.EncryptedFileInfo +import org.matrix.android.sdk.internal.crypto.model.rest.EncryptedFileKey import java.io.InputStream /** @@ -40,15 +40,15 @@ import java.io.InputStream class AttachmentEncryptionTest { private fun checkDecryption(input: String, encryptedFileInfo: EncryptedFileInfo): String { - val `in` = Base64.decode(input, Base64.DEFAULT) + val inputAsByteArray = Base64.decode(input, Base64.DEFAULT) val inputStream: InputStream - inputStream = if (`in`.isEmpty()) { - `in`.inputStream() + inputStream = if (inputAsByteArray.isEmpty()) { + inputAsByteArray.inputStream() } else { - val memoryFile = MemoryFile("file" + System.currentTimeMillis(), `in`.size) - memoryFile.outputStream.write(`in`) + val memoryFile = MemoryFile("file" + System.currentTimeMillis(), inputAsByteArray.size) + memoryFile.outputStream.write(inputAsByteArray) memoryFile.inputStream } @@ -73,7 +73,7 @@ class AttachmentEncryptionTest { key = EncryptedFileKey( alg = "A256CTR", k = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - key_ops = listOf("encrypt", "decrypt"), + keyOps = listOf("encrypt", "decrypt"), kty = "oct", ext = true ), @@ -92,7 +92,7 @@ class AttachmentEncryptionTest { key = EncryptedFileKey( alg = "A256CTR", k = "__________________________________________8", - key_ops = listOf("encrypt", "decrypt"), + keyOps = listOf("encrypt", "decrypt"), kty = "oct", ext = true ), @@ -111,7 +111,7 @@ class AttachmentEncryptionTest { key = EncryptedFileKey( alg = "A256CTR", k = "__________________________________________8", - key_ops = listOf("encrypt", "decrypt"), + keyOps = listOf("encrypt", "decrypt"), kty = "oct", ext = true ), @@ -132,7 +132,7 @@ class AttachmentEncryptionTest { key = EncryptedFileKey( alg = "A256CTR", k = "__________________________________________8", - key_ops = listOf("encrypt", "decrypt"), + keyOps = listOf("encrypt", "decrypt"), kty = "oct", ext = true ), diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt index 7fbdaacb81..3e6e3054b5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt @@ -54,7 +54,7 @@ internal data class AddThreePidRegistrationParams( * This parameter is ignored when the homeserver handles 3PID verification. */ @Json(name = "id_server") - val id_server: String? = null, + val idServer: String? = null, /* ========================================================================================== * For emails diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt index 4089e280d7..ca475566f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt @@ -44,5 +44,6 @@ internal data class RegistrationParams( // Temporary flag to notify the server that we support msisdn flow. Used to prevent old app // versions to end up in fallback because the HS returns the msisdn flow which they don't support - val x_show_msisdn: Boolean? = null + @Json(name = "x_show_msisdn") + val xShowMsisdn: Boolean? = null ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt index 4526ba8a51..85ecc540cd 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt @@ -145,7 +145,7 @@ object MXMegolmExportEncryption { */ @Throws(Exception::class) @JvmOverloads - fun encryptMegolmKeyFile(data: String, password: String, kdf_rounds: Int = DEFAULT_ITERATION_COUNT): ByteArray { + fun encryptMegolmKeyFile(data: String, password: String, kdfRounds: Int = DEFAULT_ITERATION_COUNT): ByteArray { if (password.isEmpty()) { throw Exception("Empty password is not supported") } @@ -163,7 +163,7 @@ object MXMegolmExportEncryption { // of a single bit of salt is a price we have to pay. iv[9] = iv[9] and 0x7f - val deriveKey = deriveKeys(salt, kdf_rounds, password) + val deriveKey = deriveKeys(salt, kdfRounds, password) val decryptCipher = Cipher.getInstance("AES/CTR/NoPadding") @@ -188,10 +188,10 @@ object MXMegolmExportEncryption { System.arraycopy(iv, 0, resultBuffer, idx, iv.size) idx += iv.size - resultBuffer[idx++] = (kdf_rounds shr 24 and 0xff).toByte() - resultBuffer[idx++] = (kdf_rounds shr 16 and 0xff).toByte() - resultBuffer[idx++] = (kdf_rounds shr 8 and 0xff).toByte() - resultBuffer[idx++] = (kdf_rounds and 0xff).toByte() + resultBuffer[idx++] = (kdfRounds shr 24 and 0xff).toByte() + resultBuffer[idx++] = (kdfRounds shr 16 and 0xff).toByte() + resultBuffer[idx++] = (kdfRounds shr 8 and 0xff).toByte() + resultBuffer[idx++] = (kdfRounds and 0xff).toByte() System.arraycopy(cipherArray, 0, resultBuffer, idx, cipherArray.size) idx += cipherArray.size @@ -320,26 +320,26 @@ object MXMegolmExportEncryption { // 512 bits key length val key = ByteArray(64) - val Uc = ByteArray(64) + val uc = ByteArray(64) // U1 = PRF(Password, Salt || INT_32_BE(i)) prf.update(salt) val int32BE = ByteArray(4) { 0.toByte() } int32BE[3] = 1.toByte() prf.update(int32BE) - prf.doFinal(Uc, 0) + prf.doFinal(uc, 0) // copy to the key - System.arraycopy(Uc, 0, key, 0, Uc.size) + System.arraycopy(uc, 0, key, 0, uc.size) for (index in 2..iterations) { // Uc = PRF(Password, Uc-1) - prf.update(Uc) - prf.doFinal(Uc, 0) + prf.update(uc) + prf.doFinal(uc, 0) // F(Password, Salt, c, i) = U1 ^ U2 ^ ... ^ Uc - for (byteIndex in Uc.indices) { - key[byteIndex] = key[byteIndex] xor Uc[byteIndex] + for (byteIndex in uc.indices) { + key[byteIndex] = key[byteIndex] xor uc[byteIndex] } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt index d4295e2cec..a4e3ee950d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt @@ -102,7 +102,7 @@ internal class MXOlmDecryption( String.format(MXCryptoError.BAD_RECIPIENT_REASON, olmPayloadContent.recipient)) } - val recipientKeys = olmPayloadContent.recipient_keys ?: run { + val recipientKeys = olmPayloadContent.recipientKeys ?: run { Timber.e("## decryptEvent() : Olm event (id=${event.eventId}) contains no 'recipient_keys'" + " property; cannot prevent unknown-key attack") throw MXCryptoError.Base(MXCryptoError.ErrorType.MISSING_PROPERTY, @@ -129,10 +129,10 @@ internal class MXOlmDecryption( String.format(MXCryptoError.FORWARDED_MESSAGE_REASON, olmPayloadContent.sender)) } - if (olmPayloadContent.room_id != event.roomId) { - Timber.e("## decryptEvent() : Event ${event.eventId}: original room ${olmPayloadContent.room_id} does not match reported room ${event.roomId}") + if (olmPayloadContent.roomId != event.roomId) { + Timber.e("## decryptEvent() : Event ${event.eventId}: original room ${olmPayloadContent.roomId} does not match reported room ${event.roomId}") throw MXCryptoError.Base(MXCryptoError.ErrorType.BAD_ROOM, - String.format(MXCryptoError.BAD_ROOM_REASON, olmPayloadContent.room_id)) + String.format(MXCryptoError.BAD_ROOM_REASON, olmPayloadContent.roomId)) } val keys = olmPayloadContent.keys ?: run { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt index a6d95cc87a..9e1ef19b3a 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt @@ -93,7 +93,7 @@ internal object MXEncryptedAttachments { key = EncryptedFileKey( alg = "A256CTR", ext = true, - key_ops = listOf("encrypt", "decrypt"), + keyOps = listOf("encrypt", "decrypt"), kty = "oct", k = base64ToBase64Url(Base64.encodeToString(key, Base64.DEFAULT)) ), diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt index a3a9ee2e51..bf18cad0f4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt @@ -16,6 +16,7 @@ */ package org.matrix.android.sdk.internal.crypto.model.event +import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import org.matrix.android.sdk.internal.di.MoshiProvider @@ -27,27 +28,32 @@ data class OlmPayloadContent( /** * The room id */ - var room_id: String? = null, + @Json(name = "room_id") + val roomId: String? = null, /** * The sender */ - var sender: String? = null, + @Json(name = "sender") + val sender: String? = null, /** * The recipient */ - var recipient: String? = null, + @Json(name = "recipient") + val recipient: String? = null, /** * the recipient keys */ - var recipient_keys: Map? = null, + @Json(name = "recipient_keys") + val recipientKeys: Map? = null, /** * The keys */ - var keys: Map? = null + @Json(name = "keys") + val keys: Map? = null ) { fun toJsonString(): String { return MoshiProvider.providesMoshi().adapter(OlmPayloadContent::class.java).toJson(this) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt index 97c7c59b50..0c6d03613a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt @@ -31,7 +31,7 @@ data class DeviceInfo( * The owner user id (not documented and useless but the homeserver sent it. You should not need it) */ @Json(name = "user_id") - val user_id: String? = null, + val userId: String? = null, /** * The device id diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt index f0a680cfd3..077fd4451f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt @@ -37,7 +37,7 @@ data class EncryptedFileKey( * Required. Key operations. Must at least contain "encrypt" and "decrypt". */ @Json(name = "key_ops") - val key_ops: List? = null, + val keyOps: List? = null, /** * Required. Key type. Must be "oct". @@ -63,7 +63,7 @@ data class EncryptedFileKey( return false } - if (key_ops?.contains("encrypt") != true || !key_ops.contains("decrypt")) { + if (keyOps?.contains("encrypt") != true || !keyOps.contains("decrypt")) { return false } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt index 17538c7cbe..3f811ed7d2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt @@ -28,7 +28,7 @@ import java.io.ObjectStreamClass * * Ref: https://stackoverflow.com/questions/3884492/how-can-i-change-package-for-a-bunch-of-java-serializable-classes */ -internal class SafeObjectInputStream(`in`: InputStream) : ObjectInputStream(`in`) { +internal class SafeObjectInputStream(inputStream: InputStream) : ObjectInputStream(inputStream) { init { enableResolveObject(true) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt index 7ebd3b51b0..17eb33c886 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt @@ -175,8 +175,8 @@ internal abstract class SASDefaultVerificationTransaction( ?.unpaddedBase64PublicKey ?.let { masterPublicKey -> val crossSigningKeyId = "ed25519:$masterPublicKey" - macUsingAgreedMethod(masterPublicKey, baseInfo + crossSigningKeyId)?.let { MSKMacString -> - keyMap[crossSigningKeyId] = MSKMacString + macUsingAgreedMethod(masterPublicKey, baseInfo + crossSigningKeyId)?.let { mskMacString -> + keyMap[crossSigningKeyId] = mskMacString } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt index 7eab3041af..35c20cf5cb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt @@ -220,7 +220,7 @@ internal interface RoomAPI { */ @POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "rooms/{roomId}/send_relation/{parent_id}/{relation_type}/{event_type}") fun sendRelation(@Path("roomId") roomId: String, - @Path("parent_id") parent_id: String, + @Path("parent_id") parentId: String, @Path("relation_type") relationType: String, @Path("event_type") eventType: String, @Body content: Content? @@ -296,16 +296,16 @@ internal interface RoomAPI { * This cannot be undone. * Users may redact their own events, and any user with a power level greater than or equal to the redact power level of the room may redact events there. * - * @param txId the transaction Id - * @param roomId the room id - * @param eventId the event to delete + * @param txId the transaction Id + * @param roomId the room id + * @param eventId the event to delete * @param reason json containing reason key {"reason": "Indecent material"} */ @PUT(NetworkConstants.URI_API_PREFIX_PATH_R0 + "rooms/{roomId}/redact/{eventId}/{txnId}") fun redactEvent( @Path("txnId") txId: String, @Path("roomId") roomId: String, - @Path("eventId") parent_id: String, + @Path("eventId") eventId: String, @Body reason: Map ): Call diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt index 6e450e5428..0a814a4c93 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt @@ -57,8 +57,8 @@ internal class CreateRoomBodyBuilder @Inject constructor( invites.map { ThreePidInviteBody( - id_server = identityServerUrlWithoutProtocol, - id_access_token = identityServerAccessToken, + idServer = identityServerUrlWithoutProtocol, + idAccessToken = identityServerAccessToken, medium = it.toMedium(), address = it.value ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt index b18e44360d..88809fec13 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt @@ -17,6 +17,7 @@ package org.matrix.android.sdk.internal.session.room.membership.threepid +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.session.identity.IdentityServiceError import org.matrix.android.sdk.api.session.identity.ThreePid import org.matrix.android.sdk.api.session.identity.toMedium @@ -28,7 +29,6 @@ import org.matrix.android.sdk.internal.session.identity.data.IdentityStore import org.matrix.android.sdk.internal.session.identity.data.getIdentityServerUrlWithoutProtocol import org.matrix.android.sdk.internal.session.room.RoomAPI import org.matrix.android.sdk.internal.task.Task -import org.greenrobot.eventbus.EventBus import javax.inject.Inject internal interface InviteThreePidTask : Task { @@ -55,8 +55,8 @@ internal class DefaultInviteThreePidTask @Inject constructor( return executeRequest(eventBus) { val body = ThreePidInviteBody( - id_server = identityServerUrlWithoutProtocol, - id_access_token = identityServerAccessToken, + idServer = identityServerUrlWithoutProtocol, + idAccessToken = identityServerAccessToken, medium = params.threePid.toMedium(), address = params.threePid.value ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt index 93b5c577fc..5b0098dc9b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt @@ -25,18 +25,22 @@ internal data class ThreePidInviteBody( /** * Required. The hostname+port of the identity server which should be used for third party identifier lookups. */ - @Json(name = "id_server") val id_server: String, + @Json(name = "id_server") + val idServer: String, /** * Required. An access token previously registered with the identity server. Servers can treat this as optional * to distinguish between r0.5-compatible clients and this specification version. */ - @Json(name = "id_access_token") val id_access_token: String, + @Json(name = "id_access_token") + val idAccessToken: String, /** * Required. The kind of address being passed in the address field, for example email. */ - @Json(name = "medium") val medium: String, + @Json(name = "medium") + val medium: String, /** * Required. The invitee's third party identifier. */ - @Json(name = "address") val address: String + @Json(name = "address") + val address: String ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt index dc72c3b96b..fc7f712629 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt @@ -20,6 +20,7 @@ import android.content.Context import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.events.model.toModel @@ -31,7 +32,6 @@ import org.matrix.android.sdk.internal.session.room.send.SendResponse import org.matrix.android.sdk.internal.worker.SessionWorkerParams import org.matrix.android.sdk.internal.worker.WorkerParamsFactory import org.matrix.android.sdk.internal.worker.getSessionComponent -import org.greenrobot.eventbus.EventBus import timber.log.Timber import javax.inject.Inject @@ -92,7 +92,7 @@ internal class SendRelationWorker(context: Context, params: WorkerParameters) : executeRequest(eventBus) { apiCall = roomAPI.sendRelation( roomId = roomId, - parent_id = relatedEventId, + parentId = relatedEventId, relationType = relationType, eventType = localEvent.type, content = localEvent.content diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt index 226486596e..0e7fbf492f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt @@ -16,6 +16,7 @@ */ package org.matrix.android.sdk.internal.session.sync.model +import com.squareup.moshi.Json import com.squareup.moshi.JsonClass /** @@ -26,26 +27,30 @@ internal data class DeviceInfo( /** * The owner user id */ - val user_id: String? = null, + @Json(name = "user_id") + val userId: String? = null, /** * The device id */ - val device_id: String? = null, + @Json(name = "device_id") + val deviceId: String? = null, /** * The device display name */ - val display_name: String? = null, + @Json(name = "display_name") + val displayName: String? = null, /** * The last time this device has been seen. */ - val last_seen_ts: Long = 0, + @Json(name = "last_seen_ts") + val lastSeenTs: Long = 0, /** * The last ip address */ - val last_seen_ip: String? = null - + @Json(name = "last_seen_ip") + val lastSeenIp: String? = null ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt index 6583dc89ea..6a5cfec095 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt @@ -257,12 +257,11 @@ object CompatUtil { /** * Create a CipherInputStream instance. - * Before Kitkat, this method will return `in` because local storage encryption is not implemented for devices before KitKat. - * Warning, if `in` is not an encrypted stream, it's up to the caller to close and reopen `in`, because the stream has been read. + * Warning, if inputStream is not an encrypted stream, it's up to the caller to close and reopen inputStream, because the stream has been read. * - * @param in the input stream - * @param context the context holding the application shared preferences - * @return in, or the created InputStream, or null if the InputStream `in` does not contain encrypted data + * @param inputStream the input stream + * @param context the context holding the application shared preferences + * @return inputStream, or the created InputStream, or null if the InputStream inputStream does not contain encrypted data */ @Throws(NoSuchPaddingException::class, NoSuchAlgorithmException::class, @@ -274,15 +273,15 @@ object CompatUtil { NoSuchProviderException::class, InvalidAlgorithmParameterException::class, IOException::class) - fun createCipherInputStream(`in`: InputStream, context: Context): InputStream? { - val iv_len = `in`.read() - if (iv_len != AES_GCM_IV_LENGTH) { - Timber.e(TAG, "Invalid IV length $iv_len") + fun createCipherInputStream(inputStream: InputStream, context: Context): InputStream? { + val ivLen = inputStream.read() + if (ivLen != AES_GCM_IV_LENGTH) { + Timber.e(TAG, "Invalid IV length $ivLen") return null } val iv = ByteArray(AES_GCM_IV_LENGTH) - `in`.read(iv) + inputStream.read(iv) val cipher = Cipher.getInstance(AES_GCM_CIPHER_TYPE) @@ -296,6 +295,6 @@ object CompatUtil { cipher.init(Cipher.DECRYPT_MODE, keyAndVersion.secretKey, spec) - return CipherInputStream(`in`, cipher) + return CipherInputStream(inputStream, cipher) } } diff --git a/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt b/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt index 38c97830ca..7bb060f075 100644 --- a/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt +++ b/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt @@ -272,29 +272,29 @@ private fun checkPermissions(permissionsToBeGrantedBitMap: Int, /** * Helper method used in [.checkPermissions] to populate the list of the - * permissions to be granted (permissionsListToBeGranted_out) and the list of the permissions already denied (permissionAlreadyDeniedList_out). + * permissions to be granted (permissionsListToBeGrantedOut) and the list of the permissions already denied (permissionAlreadyDeniedListOut). * - * @param activity calling activity - * @param permissionAlreadyDeniedList_out list to be updated with the permissions already denied by the user - * @param permissionsListToBeGranted_out list to be updated with the permissions to be granted - * @param permissionType the permission to be checked + * @param activity calling activity + * @param permissionAlreadyDeniedListOut list to be updated with the permissions already denied by the user + * @param permissionsListToBeGrantedOut list to be updated with the permissions to be granted + * @param permissionType the permission to be checked * @return true if the permission requires to be granted, false otherwise */ private fun updatePermissionsToBeGranted(activity: Activity, - permissionAlreadyDeniedList_out: MutableList, - permissionsListToBeGranted_out: MutableList, + permissionAlreadyDeniedListOut: MutableList, + permissionsListToBeGrantedOut: MutableList, permissionType: String): Boolean { var isRequestPermissionRequested = false // add permission to be granted - permissionsListToBeGranted_out.add(permissionType) + permissionsListToBeGrantedOut.add(permissionType) if (PackageManager.PERMISSION_GRANTED != ContextCompat.checkSelfPermission(activity.applicationContext, permissionType)) { isRequestPermissionRequested = true // add permission to the ones that were already asked to the user if (ActivityCompat.shouldShowRequestPermissionRationale(activity, permissionType)) { - permissionAlreadyDeniedList_out.add(permissionType) + permissionAlreadyDeniedListOut.add(permissionType) } } return isRequestPermissionRequested diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt index 0406a63bc6..ed3bdc5825 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt @@ -84,7 +84,7 @@ class VerificationChooseMethodController @Inject constructor( iconColor(colorProvider.getColorFromAttribute(R.attr.riotx_text_primary)) listener { listener?.doVerifyBySas() } } - } else if (state.SASModeAvailable) { + } else if (state.sasModeAvailable) { bottomSheetVerificationActionItem { id("openEmoji") title(stringProvider.getString(R.string.verification_no_scan_emoji_title)) diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodViewModel.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodViewModel.kt index c2e367d8d5..e309869479 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodViewModel.kt @@ -39,7 +39,7 @@ data class VerificationChooseMethodViewState( val otherCanShowQrCode: Boolean = false, val otherCanScanQrCode: Boolean = false, val qrCodeText: String? = null, - val SASModeAvailable: Boolean = false, + val sasModeAvailable: Boolean = false, val isMe: Boolean = false, val canCrossSign: Boolean = false ) : MvRxState @@ -74,7 +74,7 @@ class VerificationChooseMethodViewModel @AssistedInject constructor( copy( otherCanShowQrCode = pvr?.otherCanShowQrCode().orFalse(), otherCanScanQrCode = pvr?.otherCanScanQrCode().orFalse(), - SASModeAvailable = pvr?.isSasSupported().orFalse() + sasModeAvailable = pvr?.isSasSupported().orFalse() ) } } @@ -115,7 +115,7 @@ class VerificationChooseMethodViewModel @AssistedInject constructor( otherCanShowQrCode = pvr?.otherCanShowQrCode().orFalse(), otherCanScanQrCode = pvr?.otherCanScanQrCode().orFalse(), qrCodeText = (qrCodeVerificationTransaction as? QrCodeVerificationTransaction)?.qrCodeText, - SASModeAvailable = pvr?.isSasSupported().orFalse() + sasModeAvailable = pvr?.isSasSupported().orFalse() ) } } diff --git a/vector/src/main/java/im/vector/app/features/html/FontTagHandler.kt b/vector/src/main/java/im/vector/app/features/html/FontTagHandler.kt index 362c8279e1..0c5eff61ae 100644 --- a/vector/src/main/java/im/vector/app/features/html/FontTagHandler.kt +++ b/vector/src/main/java/im/vector/app/features/html/FontTagHandler.kt @@ -34,12 +34,12 @@ class FontTagHandler : SimpleTagHandler() { return ForegroundColorSpan(colorString) } - private fun parseColor(color_name: String): Int { + private fun parseColor(colorName: String): Int { try { - return Color.parseColor(color_name) + return Color.parseColor(colorName) } catch (e: Exception) { // try other w3c colors? - return when (color_name) { + return when (colorName) { "white" -> Color.WHITE "yellow" -> Color.YELLOW "fuchsia" -> Color.parseColor("#FF00FF") diff --git a/vector/src/main/java/im/vector/app/features/reactions/widget/CircleView.kt b/vector/src/main/java/im/vector/app/features/reactions/widget/CircleView.kt index e44ce8ee10..d2ada9e7cf 100644 --- a/vector/src/main/java/im/vector/app/features/reactions/widget/CircleView.kt +++ b/vector/src/main/java/im/vector/app/features/reactions/widget/CircleView.kt @@ -108,25 +108,25 @@ class CircleView @JvmOverloads constructor(context: Context, attrs: AttributeSet companion object { val INNER_CIRCLE_RADIUS_PROGRESS: Property = object : Property(Float::class.java, "innerCircleRadiusProgress") { - override operator fun get(`object`: CircleView): Float? { - return `object`.innerCircleRadiusProgress + override operator fun get(o: CircleView): Float? { + return o.innerCircleRadiusProgress } - override operator fun set(`object`: CircleView, value: Float?) { + override operator fun set(o: CircleView, value: Float?) { value?.let { - `object`.innerCircleRadiusProgress = it + o.innerCircleRadiusProgress = it } } } val OUTER_CIRCLE_RADIUS_PROGRESS: Property = object : Property(Float::class.java, "outerCircleRadiusProgress") { - override operator fun get(`object`: CircleView): Float? { - return `object`.outerCircleRadiusProgress + override operator fun get(o: CircleView): Float? { + return o.outerCircleRadiusProgress } - override operator fun set(`object`: CircleView, value: Float?) { + override operator fun set(o: CircleView, value: Float?) { value?.let { - `object`.outerCircleRadiusProgress = it + o.outerCircleRadiusProgress = it } } } diff --git a/vector/src/main/java/im/vector/app/features/reactions/widget/DotsView.kt b/vector/src/main/java/im/vector/app/features/reactions/widget/DotsView.kt index 5430bc60fd..c9283c663a 100644 --- a/vector/src/main/java/im/vector/app/features/reactions/widget/DotsView.kt +++ b/vector/src/main/java/im/vector/app/features/reactions/widget/DotsView.kt @@ -186,12 +186,12 @@ class DotsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? private const val OUTER_DOTS_POSITION_ANGLE = 360 / DOTS_COUNT val DOTS_PROGRESS: Property = object : Property(Float::class.java, "dotsProgress") { - override operator fun get(`object`: DotsView): Float? { - return `object`.currentProgress + override operator fun get(o: DotsView): Float? { + return o.currentProgress } - override operator fun set(`object`: DotsView, value: Float?) { - `object`.currentProgress = value!! + override operator fun set(o: DotsView, value: Float?) { + o.currentProgress = value!! } } } diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt index 7f6dd7b05f..2dc35fb653 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt @@ -563,7 +563,7 @@ class VectorSettingsSecurityPrivacyFragment @Inject constructor( private fun refreshMyDevice() { session.cryptoService().getUserDevices(session.myUserId).map { DeviceInfo( - user_id = session.myUserId, + userId = session.myUserId, deviceId = it.deviceId, displayName = it.displayName() ) diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt index bc72f812ff..ae45989a81 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/VectorSettingsDevicesFragment.kt @@ -25,7 +25,6 @@ import com.airbnb.mvrx.Async import com.airbnb.mvrx.Loading import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState -import org.matrix.android.sdk.internal.crypto.model.rest.DeviceInfo import im.vector.app.R import im.vector.app.core.dialogs.ManuallyVerifyDialog import im.vector.app.core.dialogs.PromptPasswordDialog @@ -37,6 +36,7 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.features.crypto.verification.VerificationBottomSheet import kotlinx.android.synthetic.main.fragment_generic_recycler.* import kotlinx.android.synthetic.main.merge_overlay_waiting_view.* +import org.matrix.android.sdk.internal.crypto.model.rest.DeviceInfo import javax.inject.Inject /** @@ -108,7 +108,7 @@ class VectorSettingsDevicesFragment @Inject constructor( } override fun onDeviceClicked(deviceInfo: DeviceInfo) { - DeviceVerificationInfoBottomSheet.newInstance(deviceInfo.user_id ?: "", deviceInfo.deviceId ?: "").show( + DeviceVerificationInfoBottomSheet.newInstance(deviceInfo.userId ?: "", deviceInfo.deviceId ?: "").show( childFragmentManager, "VERIF_INFO" )