Update AngConfigManager.kt

This commit is contained in:
MrMalekfar
2024-03-01 01:27:59 +03:30
committed by GitHub
parent 51b32a030a
commit cc7bdefe54

View File

@@ -990,12 +990,20 @@ object AngConfigManager {
) {
try {
//val gson = GsonBuilder().setPrettyPrinting().create()
//val serverList: Array<V2rayConfig> =
//Gson().fromJson(server, Array<V2rayConfig>::class.java)
val gson = Gson()
val gson = GsonBuilder()
.setPrettyPrinting()
.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
val typeToken: Type = object : TypeToken<List<V2rayConfig>>() {}.type
val serverList: List<V2rayConfig> = gson.fromJson<List<V2rayConfig>>(server, typeToken) // Use generics for clarity
//val typeToken: Type = object : TypeToken<List<V2rayConfig>>() {}.type
//val serverList: List<V2rayConfig> = gson.fromJson<List<V2rayConfig>>(server, typeToken) // Use generics for clarity
if (serverList.isNotEmpty()) {
var count = 0
@@ -1022,8 +1030,8 @@ object AngConfigManager {
val config = ServerConfig.create(EConfigType.CUSTOM)
config.subscriptionId = subid
config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java)
config.remarks = System.currentTimeMillis().toString()
// config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
//config.remarks = System.currentTimeMillis().toString()
config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
val key = MmkvManager.encodeServerConfig("", config)
serverRawStorage?.encode(key, server)
return 1