mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2024-11-16 15:22:18 +08:00
fix: the error caused by too large value of subscription information
This commit is contained in:
parent
1d86190f8f
commit
86e94da6a6
|
@ -56,6 +56,12 @@ fun Date.format(
|
|||
|
||||
fun Long.toBytesString(): String {
|
||||
return when {
|
||||
this > 1024.0 * 1024 * 1024 * 1024 * 1024 * 1024 ->
|
||||
String.format("%.2f EiB", (this.toDouble() / 1024 / 1024 / 1024 / 1024 / 1024 / 1024))
|
||||
this > 1024.0 * 1024 * 1024 * 1024 * 1024 ->
|
||||
String.format("%.2f PiB", (this.toDouble() / 1024 / 1024 / 1024 / 1024 / 1024))
|
||||
this > 1024.0 * 1024 * 1024 * 1024 ->
|
||||
String.format("%.2f TiB", (this.toDouble() / 1024 / 1024 / 1024 / 1024))
|
||||
this > 1024 * 1024 * 1024 ->
|
||||
String.format("%.2f GiB", (this.toDouble() / 1024 / 1024 / 1024))
|
||||
this > 1024 * 1024 ->
|
||||
|
|
|
@ -22,6 +22,7 @@ import kotlinx.coroutines.withContext
|
|||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import java.io.FileNotFoundException
|
||||
import java.math.BigDecimal
|
||||
import java.util.*
|
||||
|
||||
class ProfileManager(private val context: Context) : IProfileManager,
|
||||
|
@ -159,13 +160,13 @@ class ProfileManager(private val context: Context) : IProfileManager,
|
|||
val info = flag.split("=")
|
||||
when {
|
||||
info[0].contains("upload") -> upload =
|
||||
info[1].toLong()
|
||||
BigDecimal(info[1]).longValueExact()
|
||||
|
||||
info[0].contains("download") -> download =
|
||||
info[1].toLong()
|
||||
BigDecimal(info[1]).longValueExact()
|
||||
|
||||
info[0].contains("total") -> total =
|
||||
info[1].toLong()
|
||||
BigDecimal(info[1]).longValueExact()
|
||||
|
||||
info[0].contains("expire") -> {
|
||||
if (info[1].isNotEmpty()) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user