secant-android-wallet/ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/support/model/EnvironmentInfo.kt

31 lines
1.1 KiB
Kotlin

package co.electriccoin.zcash.ui.screen.support.model
import android.content.Context
import cash.z.ecc.android.sdk.model.MonetarySeparators
import co.electriccoin.zcash.global.StorageChecker
import java.util.Locale
class EnvironmentInfo(val locale: Locale, val monetarySeparators: MonetarySeparators, val usableStorageMegabytes: Int) {
fun toSupportString() = buildString {
appendLine("Locale: ${locale.androidResName()}")
appendLine("Currency grouping separator: ${monetarySeparators.grouping}")
appendLine("Currency decimal separator: ${monetarySeparators.decimal}")
appendLine("Usable storage: $usableStorageMegabytes MB")
}
companion object {
suspend fun new(context: Context): EnvironmentInfo {
val usableStorage = StorageChecker.checkAvailableStorageMegabytes()
return EnvironmentInfo(
context.resources.configuration.locales[0],
MonetarySeparators.current(),
usableStorage
)
}
}
}
private fun Locale.androidResName() = "$language-$country"