mirror of
https://github.com/bitwarden/android.git
synced 2026-03-11 12:44:17 -05:00
Move extensions to common module (#6276)
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
package com.x8bit.bitwarden.data.platform.util
|
||||
|
||||
import com.bitwarden.annotation.OmitFromCoverage
|
||||
import java.io.File
|
||||
|
||||
/**
|
||||
* A helper function for creating a file from a path.
|
||||
*/
|
||||
@OmitFromCoverage
|
||||
fun fileOf(path: String): File = File(path)
|
||||
@@ -3,13 +3,13 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recorded
|
||||
import com.bitwarden.core.data.util.toFormattedDateStyle
|
||||
import com.bitwarden.core.data.util.toFormattedPattern
|
||||
import com.bitwarden.core.data.util.toFormattedTimeStyle
|
||||
import com.bitwarden.core.util.fileOf
|
||||
import com.bitwarden.data.datasource.disk.model.FlightRecorderDataSet
|
||||
import com.bitwarden.ui.platform.resource.BitwardenString
|
||||
import com.bitwarden.ui.platform.util.formatBytes
|
||||
import com.bitwarden.ui.util.Text
|
||||
import com.bitwarden.ui.util.asText
|
||||
import com.x8bit.bitwarden.data.platform.util.fileOf
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedLogs.RecordedLogsState
|
||||
import com.x8bit.bitwarden.ui.platform.util.formatBytes
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
import java.time.Clock
|
||||
import java.time.Instant
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
package com.x8bit.bitwarden.ui.platform.util
|
||||
|
||||
private const val BASE_DATA_SIZE: Long = 1024L
|
||||
private val DATA_SIZE_UNITS = arrayOf("B", "KB", "MB", "GB", "TB")
|
||||
|
||||
/**
|
||||
* Formats the a long, representing size in bytes, into a human readable string.
|
||||
*
|
||||
* Note: This uses base-2 to determine the size of the file but uses base-10 units.
|
||||
*/
|
||||
fun Long.formatBytes(): String {
|
||||
if (this < BASE_DATA_SIZE) return "$this ${DATA_SIZE_UNITS[0]}"
|
||||
|
||||
var value = this.toDouble()
|
||||
var unitIndex = 0
|
||||
while (value >= BASE_DATA_SIZE && unitIndex < DATA_SIZE_UNITS.lastIndex) {
|
||||
value /= BASE_DATA_SIZE
|
||||
unitIndex++
|
||||
}
|
||||
|
||||
return String.format(locale = null, format = "%.2f ${DATA_SIZE_UNITS[unitIndex]}", value)
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedlogs.util
|
||||
|
||||
import com.bitwarden.core.util.fileOf
|
||||
import com.bitwarden.data.datasource.disk.model.FlightRecorderDataSet
|
||||
import com.bitwarden.ui.platform.resource.BitwardenString
|
||||
import com.bitwarden.ui.platform.util.formatBytes
|
||||
import com.bitwarden.ui.util.asText
|
||||
import com.x8bit.bitwarden.data.platform.util.fileOf
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedLogs.RecordedLogsState
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedLogs.util.toViewState
|
||||
import com.x8bit.bitwarden.ui.platform.util.formatBytes
|
||||
import io.mockk.every
|
||||
import io.mockk.mockkStatic
|
||||
import io.mockk.unmockkStatic
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
package com.x8bit.bitwarden.ui.platform.util
|
||||
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
class LongExtensionsTest {
|
||||
@Test
|
||||
fun `formatBytes should return string in appropriate format`() {
|
||||
// Bytes
|
||||
assertEquals("0 B", 0L.formatBytes())
|
||||
assertEquals("500 B", 500L.formatBytes())
|
||||
assertEquals("1023 B", 1_023L.formatBytes())
|
||||
// Kibibytes
|
||||
assertEquals("1.00 KB", 1_024L.formatBytes())
|
||||
assertEquals("21.51 KB", 22_024L.formatBytes())
|
||||
assertEquals("591.82 KB", 606_024L.formatBytes())
|
||||
// Mebibytes
|
||||
assertEquals("1.00 MB", 1_048_576L.formatBytes())
|
||||
assertEquals("3.27 MB", 3_425_346L.formatBytes())
|
||||
assertEquals("477.24 MB", 500_425_346L.formatBytes())
|
||||
// Gibibytes
|
||||
assertEquals("1.00 GB", 1_073_741_824L.formatBytes())
|
||||
assertEquals("1.07 GB", 1_151_461_496L.formatBytes())
|
||||
assertEquals("52.08 GB", 55_917_186_986L.formatBytes())
|
||||
// Tebibytes
|
||||
assertEquals("1.00 TB", 1_099_511_627_776L.formatBytes())
|
||||
assertEquals("12.49 TB", 13_732_900_230_922L.formatBytes())
|
||||
assertEquals("2000.00 TB", 2_199_023_255_552_000L.formatBytes())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user