2022-04-19 18:28:49 -07:00
|
|
|
package co.electriccoin.zcash.ui.screen.support.model
|
|
|
|
|
|
|
|
import android.content.Context
|
2023-02-17 03:05:23 -08:00
|
|
|
import cash.z.ecc.android.sdk.model.MonetarySeparators
|
2022-10-06 02:40:18 -07:00
|
|
|
import co.electriccoin.zcash.global.StorageChecker
|
2022-04-19 18:28:49 -07:00
|
|
|
import java.util.Locale
|
|
|
|
|
2023-02-20 08:07:26 -08:00
|
|
|
data class EnvironmentInfo(val locale: Locale, val monetarySeparators: MonetarySeparators, val usableStorageMegabytes: Int) {
|
2022-04-19 18:28:49 -07:00
|
|
|
|
|
|
|
fun toSupportString() = buildString {
|
|
|
|
appendLine("Locale: ${locale.androidResName()}")
|
|
|
|
appendLine("Currency grouping separator: ${monetarySeparators.grouping}")
|
|
|
|
appendLine("Currency decimal separator: ${monetarySeparators.decimal}")
|
2022-10-06 02:40:18 -07:00
|
|
|
appendLine("Usable storage: $usableStorageMegabytes MB")
|
2022-04-19 18:28:49 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
companion object {
|
2022-10-06 02:40:18 -07:00
|
|
|
suspend fun new(context: Context): EnvironmentInfo {
|
|
|
|
val usableStorage = StorageChecker.checkAvailableStorageMegabytes()
|
|
|
|
|
2023-02-09 03:47:04 -08:00
|
|
|
return EnvironmentInfo(
|
|
|
|
context.resources.configuration.locales[0],
|
|
|
|
MonetarySeparators.current(),
|
|
|
|
usableStorage
|
|
|
|
)
|
2022-10-06 02:40:18 -07:00
|
|
|
}
|
2022-04-19 18:28:49 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private fun Locale.androidResName() = "$language-$country"
|