Quellcode durchsuchen

fix: subscription

cubemaze vor 2 Jahren
Ursprung
Commit
07e7f0c139

+ 4 - 4
service/src/main/java/com/github/kr328/clash/service/ProfileManager.kt

@@ -159,16 +159,16 @@ class ProfileManager(private val context: Context) : IProfileManager,
                     for (flag in flags) {
                         val info = flag.split("=")
                         when {
-                            info[0].contains("upload") -> upload =
+                            info[0].contains("upload") && info[1].isNotEmpty() -> upload =
                                 BigDecimal(info[1]).longValueExact()
 
-                            info[0].contains("download") -> download =
+                            info[0].contains("download") && info[1].isNotEmpty() -> download =
                                 BigDecimal(info[1]).longValueExact()
 
-                            info[0].contains("total") ->  total =
+                            info[0].contains("total") && info[1].isNotEmpty() ->  total =
                                 BigDecimal(info[1]).longValueExact()
 
-                            info[0].contains("expire") -> {
+                            info[0].contains("expire") && info[1].isNotEmpty() -> {
                                 if (info[1].isNotEmpty()) {
                                     expire = (info[1].toDouble()*1000).toLong()
                                 }

+ 5 - 9
service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt

@@ -87,21 +87,17 @@ object ProfileProcessor {
                                         for (flag in flags) {
                                             val info = flag.split("=")
                                             when {
-                                                info[0].contains("upload") -> upload =
+                                                info[0].contains("upload") && info[1].isNotEmpty() -> upload =
                                                     info[1].toLong()
 
-                                                info[0].contains("download") -> download =
+                                                info[0].contains("download") && info[1].isNotEmpty() -> download =
                                                     info[1].toLong()
 
-                                                info[0].contains("total") -> total =
+                                                info[0].contains("total") && info[1].isNotEmpty() -> total =
                                                     info[1].toLong()
 
-                                                info[0].contains("expire") -> {
-                                                    if (info[1].isNotEmpty()) {
-                                                        expire =
-                                                            (info[1].toDouble() * 1000).toLong()
-                                                    }
-                                                }
+                                                info[0].contains("expire") && info[1].isNotEmpty() ->  expire =
+                                                    (info[1].toDouble() * 1000).toLong()
                                             }
                                         }
                                     }