Update AngConfigManager.kt
This commit is contained in:
1 parent
51b32a030a
commit
cc7bdefe54
1 file changed
+15
-7
@@ -990,12 +990,20 @@ object AngConfigManager {
|
|||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
//val gson = GsonBuilder().setPrettyPrinting().create()
|
//val gson = GsonBuilder().setPrettyPrinting().create()
|
||||||
//val serverList: Array<V2rayConfig> =
|
val gson = GsonBuilder()
|
||||||
//Gson().fromJson(server, Array<V2rayConfig>::class.java)
|
.setPrettyPrinting()
|
||||||
val gson = Gson()
|
.disableHtmlEscaping()
|
||||||
|
.registerTypeAdapter( // custom serialiser is needed here since JSON by default parse number as Double, core will fail to start
|
||||||
|
object : TypeToken<Double>() {}.type,
|
||||||
|
JsonSerializer { src: Double?, _: Type?, _: JsonSerializationContext? -> JsonPrimitive(src?.toInt()) }
|
||||||
|
)
|
||||||
|
.create()
|
||||||
|
val serverList: Array<V2rayConfig> =
|
||||||
|
Gson().fromJson(server, Array<V2rayConfig>::class.java)
|
||||||
|
//val gson = Gson()
|
||||||
// Assuming your JSON is an array of V2rayConfig objects
|
// Assuming your JSON is an array of V2rayConfig objects
|
||||||
val typeToken: Type = object : TypeToken<List<V2rayConfig>>() {}.type
|
//val typeToken: Type = object : TypeToken<List<V2rayConfig>>() {}.type
|
||||||
val serverList: List<V2rayConfig> = gson.fromJson<List<V2rayConfig>>(server, typeToken) // Use generics for clarity
|
//val serverList: List<V2rayConfig> = gson.fromJson<List<V2rayConfig>>(server, typeToken) // Use generics for clarity
|
||||||
|
|
||||||
if (serverList.isNotEmpty()) {
|
if (serverList.isNotEmpty()) {
|
||||||
var count = 0
|
var count = 0
|
||||||
@@ -1022,8 +1030,8 @@ object AngConfigManager {
|
|||||||
val config = ServerConfig.create(EConfigType.CUSTOM)
|
val config = ServerConfig.create(EConfigType.CUSTOM)
|
||||||
config.subscriptionId = subid
|
config.subscriptionId = subid
|
||||||
config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java)
|
config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java)
|
||||||
config.remarks = System.currentTimeMillis().toString()
|
//config.remarks = System.currentTimeMillis().toString()
|
||||||
// config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
|
config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
|
||||||
val key = MmkvManager.encodeServerConfig("", config)
|
val key = MmkvManager.encodeServerConfig("", config)
|
||||||
serverRawStorage?.encode(key, server)
|
serverRawStorage?.encode(key, server)
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
Reference in new issue
Block a user