From b4d2f322adead16d58048fe8f2c32aa517e41e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Tue, 16 Dec 2025 16:50:11 +0100 Subject: [PATCH] Rename `ByteSize.to` to `ByteSize.into` This method could clash the the `a to b` operator. --- .../android/libraries/core/data/ByteSize.kt | 8 +++- .../libraries/core/data/ByteSizeTest.kt | 38 +++++++++---------- .../matrix/impl/RustMatrixClientFactory.kt | 4 +- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/libraries/core/src/main/kotlin/io/element/android/libraries/core/data/ByteSize.kt b/libraries/core/src/main/kotlin/io/element/android/libraries/core/data/ByteSize.kt index fe72866d7e..c91dc96a4a 100644 --- a/libraries/core/src/main/kotlin/io/element/android/libraries/core/data/ByteSize.kt +++ b/libraries/core/src/main/kotlin/io/element/android/libraries/core/data/ByteSize.kt @@ -15,7 +15,7 @@ enum class ByteUnit(val bitShift: Int) { } class ByteSize internal constructor(val value: Long, val unit: ByteUnit) { - fun to(dest: ByteUnit): Long { + fun into(dest: ByteUnit): Long { if (unit == dest) return value return value shl unit.bitShift shr dest.bitShift } @@ -25,3 +25,9 @@ val Number.gigaBytes get() = ByteSize(toLong(), ByteUnit.GB) val Number.megaBytes get() = ByteSize(toLong(), ByteUnit.MB) val Number.kiloBytes get() = ByteSize(toLong(), ByteUnit.KB) val Number.bytes get() = ByteSize(toLong(), ByteUnit.BYTES) + +// For the SDK values +val ULong.gigaBytes get() = ByteSize(toLong(), ByteUnit.GB) +val ULong.megaBytes get() = ByteSize(toLong(), ByteUnit.MB) +val ULong.kiloBytes get() = ByteSize(toLong(), ByteUnit.KB) +val ULong.bytes get() = ByteSize(toLong(), ByteUnit.BYTES) diff --git a/libraries/core/src/test/kotlin/io/element/android/libraries/core/data/ByteSizeTest.kt b/libraries/core/src/test/kotlin/io/element/android/libraries/core/data/ByteSizeTest.kt index 0d1ec87b63..ad0191da0c 100644 --- a/libraries/core/src/test/kotlin/io/element/android/libraries/core/data/ByteSizeTest.kt +++ b/libraries/core/src/test/kotlin/io/element/android/libraries/core/data/ByteSizeTest.kt @@ -15,35 +15,35 @@ class ByteSizeTest { fun testSizeConversions() { // Check bytes to other units val bytes = 10_000_000.bytes - assertThat(bytes.to(ByteUnit.BYTES)).isEqualTo(bytes.value) - assertThat(bytes.to(ByteUnit.KB)).isEqualTo(bytes.value / 1024L) - assertThat(bytes.to(ByteUnit.MB)).isEqualTo(bytes.value / 1024L / 1024L) - assertThat(bytes.to(ByteUnit.GB)).isEqualTo(bytes.value / 1024L / 1024L / 1024L) + assertThat(bytes.into(ByteUnit.BYTES)).isEqualTo(bytes.value) + assertThat(bytes.into(ByteUnit.KB)).isEqualTo(bytes.value / 1024L) + assertThat(bytes.into(ByteUnit.MB)).isEqualTo(bytes.value / 1024L / 1024L) + assertThat(bytes.into(ByteUnit.GB)).isEqualTo(bytes.value / 1024L / 1024L / 1024L) // Now check for values too small to be converted - assertThat(100.bytes.to(ByteUnit.KB)).isEqualTo(0) - assertThat(100.bytes.to(ByteUnit.MB)).isEqualTo(0) - assertThat(100.bytes.to(ByteUnit.GB)).isEqualTo(0) + assertThat(100.bytes.into(ByteUnit.KB)).isEqualTo(0) + assertThat(100.bytes.into(ByteUnit.MB)).isEqualTo(0) + assertThat(100.bytes.into(ByteUnit.GB)).isEqualTo(0) // Check for KBs val kiloBytes = 10_000.kiloBytes - assertThat(kiloBytes.to(ByteUnit.BYTES)).isEqualTo(kiloBytes.value * 1024L) - assertThat(kiloBytes.to(ByteUnit.KB)).isEqualTo(kiloBytes.value) - assertThat(kiloBytes.to(ByteUnit.MB)).isEqualTo(kiloBytes.value / 1024L) - assertThat(kiloBytes.to(ByteUnit.GB)).isEqualTo(kiloBytes.value / 1024L / 1024L) + assertThat(kiloBytes.into(ByteUnit.BYTES)).isEqualTo(kiloBytes.value * 1024L) + assertThat(kiloBytes.into(ByteUnit.KB)).isEqualTo(kiloBytes.value) + assertThat(kiloBytes.into(ByteUnit.MB)).isEqualTo(kiloBytes.value / 1024L) + assertThat(kiloBytes.into(ByteUnit.GB)).isEqualTo(kiloBytes.value / 1024L / 1024L) // Check for MBs val megaBytes = 10_000.megaBytes - assertThat(megaBytes.to(ByteUnit.BYTES)).isEqualTo(megaBytes.value * 1024L * 1024L) - assertThat(megaBytes.to(ByteUnit.KB)).isEqualTo(megaBytes.value * 1024L) - assertThat(megaBytes.to(ByteUnit.MB)).isEqualTo(megaBytes.value) - assertThat(megaBytes.to(ByteUnit.GB)).isEqualTo(megaBytes.value / 1024L) + assertThat(megaBytes.into(ByteUnit.BYTES)).isEqualTo(megaBytes.value * 1024L * 1024L) + assertThat(megaBytes.into(ByteUnit.KB)).isEqualTo(megaBytes.value * 1024L) + assertThat(megaBytes.into(ByteUnit.MB)).isEqualTo(megaBytes.value) + assertThat(megaBytes.into(ByteUnit.GB)).isEqualTo(megaBytes.value / 1024L) // Check for GBs val gigaBytes = 10.gigaBytes - assertThat(gigaBytes.to(ByteUnit.BYTES)).isEqualTo(gigaBytes.value * 1024L * 1024L * 1024L) - assertThat(gigaBytes.to(ByteUnit.KB)).isEqualTo(gigaBytes.value * 1024L * 1024L) - assertThat(gigaBytes.to(ByteUnit.MB)).isEqualTo(gigaBytes.value * 1024L) - assertThat(gigaBytes.to(ByteUnit.GB)).isEqualTo(gigaBytes.value) + assertThat(gigaBytes.into(ByteUnit.BYTES)).isEqualTo(gigaBytes.value * 1024L * 1024L * 1024L) + assertThat(gigaBytes.into(ByteUnit.KB)).isEqualTo(gigaBytes.value * 1024L * 1024L) + assertThat(gigaBytes.into(ByteUnit.MB)).isEqualTo(gigaBytes.value * 1024L) + assertThat(gigaBytes.into(ByteUnit.GB)).isEqualTo(gigaBytes.value) } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index 3d94f7554d..88207049d2 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -81,9 +81,9 @@ class RustMatrixClientFactory( client.setMediaRetentionPolicy( MediaRetentionPolicy( // Make this 500MB instead of 400MB - maxCacheSize = 500.megaBytes.to(ByteUnit.BYTES).toULong(), + maxCacheSize = 500.megaBytes.into(ByteUnit.BYTES).toULong(), // This is the default value, but let's make it explicit - maxFileSize = 20.megaBytes.to(ByteUnit.BYTES).toULong(), + maxFileSize = 20.megaBytes.into(ByteUnit.BYTES).toULong(), // Use 30 days instead of 60 lastAccessExpiry = 30.days.toJavaDuration(), // This is the default value, but let's make it explicit