diff --git a/build.gradle b/build.gradle index fccf00d579..afe51cc734 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ plugins { // ktlint Plugin id "org.jlleitschuh.gradle.ktlint" version "10.3.0" // Detekt - id "io.gitlab.arturbosch.detekt" version "1.20.0" + id "io.gitlab.arturbosch.detekt" version "1.21.0" // Dependency Analysis id 'com.autonomousapps.dependency-analysis' version "1.11.2" diff --git a/dependencies_groups.gradle b/dependencies_groups.gradle index e89c69a594..f60a77a92d 100644 --- a/dependencies_groups.gradle +++ b/dependencies_groups.gradle @@ -125,6 +125,7 @@ ext.groups = [ 'info.picocli', 'io.arrow-kt', 'io.element.android', + 'io.github.davidburstrom.contester', 'io.github.detekt.sarif4k', 'io.github.microutils', 'io.github.reactivecircus.flowbinding', diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/StringOrderUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/StringOrderUtils.kt index 83c8585941..1de0a36034 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/StringOrderUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/StringOrderUtils.kt @@ -76,7 +76,7 @@ object StringOrderUtils { } fun stringToBase(x: String, alphabet: CharArray): BigInteger { - if (x.isEmpty()) throw IllegalArgumentException() + require(x.isNotEmpty()) val len = alphabet.size.toBigInteger() var result = BigInteger("0") x.reversed().forEachIndexed { index, c -> diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt index 96d97a41d7..771b5f9a62 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt @@ -535,7 +535,7 @@ internal class MXMegolmEncryption( @Throws override suspend fun shareHistoryKeysWithDevice(inboundSessionWrapper: InboundGroupSessionHolder, deviceInfo: CryptoDeviceInfo) { - if (!inboundSessionWrapper.wrapper.sessionData.sharedHistory) throw IllegalArgumentException("This key can't be shared") + require(inboundSessionWrapper.wrapper.sessionData.sharedHistory) { "This key can't be shared" } Timber.tag(loggerTag.value).i("process shareHistoryKeys for ${inboundSessionWrapper.wrapper.safeSessionId} to ${deviceInfo.shortDebugString()}") val userId = deviceInfo.userId val deviceId = deviceInfo.deviceId diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/queue/EventSenderProcessorThread.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/queue/EventSenderProcessorThread.kt index c5b13043d7..51107c9655 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/queue/EventSenderProcessorThread.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/queue/EventSenderProcessorThread.kt @@ -119,7 +119,7 @@ internal class EventSenderProcessorThread @Inject constructor( override fun cancel(eventId: String, roomId: String) { (currentTask as? SendEventQueuedTask) - ?.takeIf { it -> it.event.eventId == eventId && it.event.roomId == roomId } + ?.takeIf { it.event.eventId == eventId && it.event.roomId == roomId } ?.cancel() } diff --git a/tools/detekt/detekt.yml b/tools/detekt/detekt.yml index a836edc47a..96adb3d117 100644 --- a/tools/detekt/detekt.yml +++ b/tools/detekt/detekt.yml @@ -23,6 +23,8 @@ style: active: false ProtectedMemberInFinalClass: active: false + UseCheckOrError: + active: false empty-blocks: EmptyFunctionBlock: @@ -43,6 +45,8 @@ exceptions: active: false TooGenericExceptionThrown: active: false + InstanceOfCheckForException: + active: false complexity: TooManyFunctions: diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt index 2c30555696..d38b2a0a69 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt @@ -117,7 +117,7 @@ class RoomMemberProfileViewModel @AssistedInject constructor( it.fold(true) { prev, dev -> prev && (dev.trustLevel?.crossSigningVerified == true) } ) } - .execute { it -> + .execute { copy( allDevicesAreTrusted = it()?.first == true, allDevicesAreCrossSignedTrusted = it()?.second == true