From f330c32cccbde2b553a62587deae90e8a465bbef Mon Sep 17 00:00:00 2001 From: Vahid Farid Date: Sat, 2 Mar 2024 18:25:01 +0330 Subject: [PATCH 1/4] Get config name from custom-config's remark during import in MainViewModel.kt --- .../src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt index 1e44ba19..a57f60d6 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt @@ -97,9 +97,9 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { fun appendCustomConfigServer(server: String) { val config = ServerConfig.create(EConfigType.CUSTOM) - config.remarks = System.currentTimeMillis().toString() config.subscriptionId = subscriptionId config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java) + config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString() val key = MmkvManager.encodeServerConfig("", config) serverRawStorage?.encode(key, server) serverList.add(0, key) From 376882d9750a92f6945d889eed2a251179c36941 Mon Sep 17 00:00:00 2001 From: Vahid Farid Date: Sat, 2 Mar 2024 18:26:00 +0330 Subject: [PATCH 2/4] Add remark to custom-config for export in ServerCustomConfigActivity.kt --- .../main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt index 4cef6eda..f76fa4ca 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt @@ -91,7 +91,7 @@ class ServerCustomConfigActivity : BaseActivity() { } val config = MmkvManager.decodeServerConfig(editGuid) ?: ServerConfig.create(EConfigType.CUSTOM) - config.remarks = binding.etRemarks.text.toString().trim() + config.remarks = v2rayConfig.remarks ?: binding.etRemarks.text.toString().trim() config.fullConfig = v2rayConfig MmkvManager.encodeServerConfig(editGuid, config) From 9142b9cfb452e1e5c1d2e09d05351a4da91e3dff Mon Sep 17 00:00:00 2001 From: Vahid Farid Date: Sat, 2 Mar 2024 18:27:59 +0330 Subject: [PATCH 3/4] Update AngConfigManager.kt Added remark for single config subscription Removed unnecessary code in multiple config subscription update --- .../com/v2ray/ang/util/AngConfigManager.kt | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt index 4fc28db9..01a78938 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt @@ -1008,17 +1008,15 @@ object AngConfigManager { if (serverList.isNotEmpty()) { var count = 0 for (srv in serverList) { - if (srv.inbounds != null && srv.outbounds != null && srv.routing != null) { - val config = ServerConfig.create(EConfigType.CUSTOM) - config.remarks = srv.remarks - ?: "%04d-".format(count + 1) + System.currentTimeMillis() - .toString() - config.subscriptionId = subid - config.fullConfig = srv - val key = MmkvManager.encodeServerConfig("", config) - serverRawStorage?.encode(key, gson.toJson(srv)) - count += 1 - } + val config = ServerConfig.create(EConfigType.CUSTOM) + config.remarks = srv.remarks + ?: ("%04d-".format(count + 1) + System.currentTimeMillis() + .toString()) + config.subscriptionId = subid + config.fullConfig = srv + val key = MmkvManager.encodeServerConfig("", config) + serverRawStorage?.encode(key, gson.toJson(srv)) + count += 1 } return count } @@ -1030,8 +1028,7 @@ 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 = config.fullConfig?.remarks ?: System.currentTimeMillis().toString() val key = MmkvManager.encodeServerConfig("", config) serverRawStorage?.encode(key, server) return 1 From 773bcc5658175bd429b3cbe0296a29d92ab4dfaf Mon Sep 17 00:00:00 2001 From: Vahid Farid Date: Sat, 2 Mar 2024 18:30:05 +0330 Subject: [PATCH 4/4] Set V2rayConfig remarks based on ServerConfig in V2rayConfigUtil.kt --- .../src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt index 2f61c2ab..32cb2fb3 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt @@ -49,7 +49,7 @@ object V2rayConfigUtil { return Result(true, customConfig) } val outbound = config.getProxyOutbound() ?: return Result(false, "") - val result = getV2rayNonCustomConfig(context, outbound) + val result = getV2rayNonCustomConfig(context, outbound, config.remarks) //Log.d(ANG_PACKAGE, result.content) return result } catch (e: Exception) { @@ -63,7 +63,8 @@ object V2rayConfigUtil { */ private fun getV2rayNonCustomConfig( context: Context, - outbound: V2rayConfig.OutboundBean + outbound: V2rayConfig.OutboundBean, + remarks: String, ): Result { val result = Result(false, "") //取得默认配置 @@ -98,6 +99,9 @@ object V2rayConfigUtil { v2rayConfig.stats = null v2rayConfig.policy = null } + + v2rayConfig.remarks = remarks + result.status = true result.content = v2rayConfig.toPrettyPrinting() return result