From 01ab8dad176d58712dd8cca3cbee988fe3e10524 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:44:08 +0800 Subject: [PATCH] Optimize and improve removeWhiteSpace --- .../main/java/com/v2ray/ang/extension/_Ext.kt | 2 +- .../java/com/v2ray/ang/fmt/WireguardFmt.kt | 7 ++++--- .../com/v2ray/ang/handler/MigrateManager.kt | 10 +++++----- .../src/main/java/com/v2ray/ang/util/Utils.kt | 20 ------------------- 4 files changed, 10 insertions(+), 29 deletions(-) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/extension/_Ext.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/extension/_Ext.kt index 824b1be8..266be605 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/extension/_Ext.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/extension/_Ext.kt @@ -94,7 +94,7 @@ val URI.idnHost: String * * @return The string without whitespace. */ -fun String.removeWhiteSpace(): String = replace("\\s+".toRegex(), "") +fun String?.removeWhiteSpace(): String? = this?.replace(" ", "") /** * Converts the string to a Long value, or returns 0 if the conversion fails. diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/fmt/WireguardFmt.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/fmt/WireguardFmt.kt index 2e6b0df8..90736c06 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/fmt/WireguardFmt.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/fmt/WireguardFmt.kt @@ -6,6 +6,7 @@ import com.v2ray.ang.dto.EConfigType import com.v2ray.ang.dto.ProfileItem import com.v2ray.ang.dto.V2rayConfig.OutboundBean import com.v2ray.ang.extension.idnHost +import com.v2ray.ang.extension.removeWhiteSpace import com.v2ray.ang.util.Utils import java.net.URI @@ -132,14 +133,14 @@ object WireguardFmt : FmtBase() { dicQuery["publickey"] = config.publicKey.orEmpty() if (config.reserved != null) { - dicQuery["reserved"] = Utils.removeWhiteSpace(config.reserved).orEmpty() + dicQuery["reserved"] = config.reserved.removeWhiteSpace().orEmpty() } - dicQuery["address"] = Utils.removeWhiteSpace(config.localAddress).orEmpty() + dicQuery["address"] = config.localAddress.removeWhiteSpace().orEmpty() if (config.mtu != null) { dicQuery["mtu"] = config.mtu.toString() } if (config.preSharedKey != null) { - dicQuery["presharedkey"] = Utils.removeWhiteSpace(config.preSharedKey).orEmpty() + dicQuery["presharedkey"] = config.preSharedKey.removeWhiteSpace().orEmpty() } return toUri(config, config.secretKey, dicQuery) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/handler/MigrateManager.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/handler/MigrateManager.kt index 952d0a0b..851aa56f 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/handler/MigrateManager.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/handler/MigrateManager.kt @@ -8,9 +8,9 @@ import com.v2ray.ang.dto.EConfigType import com.v2ray.ang.dto.NetworkType import com.v2ray.ang.dto.ProfileItem import com.v2ray.ang.dto.ServerConfig +import com.v2ray.ang.extension.removeWhiteSpace import com.v2ray.ang.handler.MmkvManager.decodeServerConfig import com.v2ray.ang.util.JsonUtil -import com.v2ray.ang.util.Utils object MigrateManager { private const val ID_SERVER_CONFIG = "SERVER_CONFIG" @@ -109,7 +109,7 @@ object MigrateManager { config.insecure = tlsSettings?.allowInsecure config.sni = tlsSettings?.serverName config.fingerPrint = tlsSettings?.fingerprint - config.alpn = Utils.removeWhiteSpace(tlsSettings?.alpn?.joinToString(",")).toString() + config.alpn = tlsSettings?.alpn?.joinToString(",").removeWhiteSpace().toString() config.publicKey = tlsSettings?.publicKey config.shortId = tlsSettings?.shortId @@ -172,10 +172,10 @@ object MigrateManager { outbound.settings?.let { wireguard -> config.secretKey = wireguard.secretKey - config.localAddress = Utils.removeWhiteSpace((wireguard.address as List<*>).joinToString(",")).toString() + config.localAddress = (wireguard.address as List<*>).joinToString(",").removeWhiteSpace().toString() config.publicKey = wireguard.peers?.getOrNull(0)?.publicKey config.mtu = wireguard.mtu - config.reserved = Utils.removeWhiteSpace(wireguard.reserved?.joinToString(",")).toString() + config.reserved = wireguard.reserved?.joinToString(",").removeWhiteSpace().toString() } return config } @@ -199,7 +199,7 @@ object MigrateManager { outbound.streamSettings?.tlsSettings?.let { tlsSetting -> config.insecure = tlsSetting.allowInsecure config.sni = tlsSetting.serverName - config.alpn = Utils.removeWhiteSpace(tlsSetting.alpn?.joinToString(",")).orEmpty() + config.alpn = tlsSetting.alpn?.joinToString(",").removeWhiteSpace().orEmpty() } config.obfsPassword = outbound.settings?.obfsPassword diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt index ba3f64ff..655ed2c2 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt @@ -4,7 +4,6 @@ import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.content.Intent -import android.content.pm.PackageManager import android.content.res.Configuration.UI_MODE_NIGHT_MASK import android.content.res.Configuration.UI_MODE_NIGHT_NO import android.os.Build @@ -437,25 +436,6 @@ object Utils { .replace("|", "%7C") } - /** - * Remove white space from a string. - * - * @param str The string to process. - * @return The string without white space. - */ - fun removeWhiteSpace(str: String?): String? { - return str?.replace(" ", "") - } - - /** - * Check if the device is a TV. - * - * @param context The context to use. - * @return True if the device is a TV, false otherwise. - */ - fun isTv(context: Context): Boolean = - context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK) - /** * Find a free port from a list of ports. *