From eb7ee49096f6b87443785863cd5aa396ed4243f9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 20 Nov 2020 09:04:04 +0100 Subject: [PATCH 1/3] Kotlin optimization form #1435 --- .../network/interceptors/FormattedJsonHttpLogger.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt index 5c03e8a855..630f6f1e29 100644 --- a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt +++ b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt @@ -66,9 +66,9 @@ class FormattedJsonHttpLogger : HttpLoggingInterceptor.Logger { } private fun logJson(formattedJson: String) { - val arr = formattedJson.split("\n".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() - for (s in arr) { - Timber.v(s) - } + formattedJson + .lines() + .dropLastWhile { it.isEmpty() } + .forEach { Timber.v(it) } } } From 8fb3c68573c663e314f8b88ba75271e2313bad95 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 20 Nov 2020 09:05:53 +0100 Subject: [PATCH 2/3] Kotlin optimization form #1435 --- .../android/sdk/api/session/permalinks/PermalinkParser.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt index dc47c81a5f..347a3bb531 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt @@ -44,13 +44,12 @@ object PermalinkParser { if (fragment.isNullOrEmpty()) { return PermalinkData.FallbackLink(uri) } - val indexOfQuery = fragment.indexOf("?") - val safeFragment = if (indexOfQuery != -1) fragment.substring(0, indexOfQuery) else fragment + val safeFragment = fragment.substringBefore('?') val viaQueryParameters = fragment.getViaParameters() // we are limiting to 2 params val params = safeFragment - .split(MatrixPatterns.SEP_REGEX.toRegex()) + .split(MatrixPatterns.SEP_REGEX) .filter { it.isNotEmpty() } .take(2) From 9ce1222fd0c4407c8cf7227f7288e790362d8382 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 20 Nov 2020 09:07:29 +0100 Subject: [PATCH 3/3] Kotlin optimization form #1435 --- .../crypto/crosssigning/DefaultCrossSigningService.kt | 3 +-- .../crypto/verification/SASDefaultVerificationTransaction.kt | 5 ++--- .../java/org/matrix/android/sdk/internal/util/StringUtils.kt | 2 -- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt index 1871dba0e2..bcad448eb6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt @@ -38,7 +38,6 @@ import org.matrix.android.sdk.internal.task.TaskThread import org.matrix.android.sdk.internal.task.configureWith import org.matrix.android.sdk.internal.util.JsonCanonicalizer import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers -import org.matrix.android.sdk.internal.util.withoutPrefix import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import org.matrix.android.sdk.internal.crypto.model.CryptoDeviceInfo @@ -444,7 +443,7 @@ internal class DefaultCrossSigningService @Inject constructor( } else { // Maybe it's signed by a locally trusted device? myMasterKey.signatures?.get(userId)?.forEach { (key, value) -> - val potentialDeviceId = key.withoutPrefix("ed25519:") + val potentialDeviceId = key.removePrefix("ed25519:") val potentialDevice = myDevices?.firstOrNull { it.deviceId == potentialDeviceId } // cryptoStore.getUserDevice(userId, potentialDeviceId) if (potentialDevice != null && potentialDevice.isVerified) { // Check signature validity? 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 cb254eac3c..22a190c68e 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 @@ -28,7 +28,6 @@ import org.matrix.android.sdk.internal.crypto.OutgoingGossipingRequestManager import org.matrix.android.sdk.internal.crypto.actions.SetDeviceVerificationAction import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore import org.matrix.android.sdk.internal.extensions.toUnsignedInt -import org.matrix.android.sdk.internal.util.withoutPrefix import org.matrix.olm.OlmSAS import org.matrix.olm.OlmUtility import timber.log.Timber @@ -250,7 +249,7 @@ internal abstract class SASDefaultVerificationTransaction( // cannot be empty because it has been validated theirMacSafe.mac.keys.forEach { - val keyIDNoPrefix = it.withoutPrefix("ed25519:") + val keyIDNoPrefix = it.removePrefix("ed25519:") val otherDeviceKey = otherUserKnownDevices?.get(keyIDNoPrefix)?.fingerprint() if (otherDeviceKey == null) { Timber.w("## SAS Verification: Could not find device $keyIDNoPrefix to verify") @@ -273,7 +272,7 @@ internal abstract class SASDefaultVerificationTransaction( if (otherCrossSigningMasterKeyPublic != null) { // Did the user signed his master key theirMacSafe.mac.keys.forEach { - val keyIDNoPrefix = it.withoutPrefix("ed25519:") + val keyIDNoPrefix = it.removePrefix("ed25519:") if (keyIDNoPrefix == otherCrossSigningMasterKeyPublic) { // Check the signature val mac = macUsingAgreedMethod(otherCrossSigningMasterKeyPublic, baseInfo + it) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt index 32997e2064..ecfbe311f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt @@ -50,8 +50,6 @@ fun convertFromUTF8(s: String): String { } } -fun String.withoutPrefix(prefix: String) = if (startsWith(prefix)) substringAfter(prefix) else this - /** * Returns whether a string contains an occurrence of another, as a standalone word, regardless of case. *