From 031e9105e269001023f158683a0f184c16861381 Mon Sep 17 00:00:00 2001 From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> Date: Sun, 6 Jun 2021 11:12:06 -0400 Subject: [PATCH] Fix a null pointer when subscribe link doesn't have sni field --- .../app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 f5279f44..9ef5d801 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 @@ -192,6 +192,7 @@ object AngConfigManager { return R.string.toast_decoding_failed } val vmessQRCode = Gson().fromJson(result, VmessQRCode::class.java) + // Although VmessQRCode fields are non null, looks like Gson may still create null fields if (TextUtils.isEmpty(vmessQRCode.add) || TextUtils.isEmpty(vmessQRCode.port) || TextUtils.isEmpty(vmessQRCode.id) @@ -212,7 +213,7 @@ object AngConfigManager { val sni = streamSetting.populateTransportSettings(vmessQRCode.net, vmessQRCode.type, vmessQRCode.host, vmessQRCode.path, vmessQRCode.path, vmessQRCode.host, vmessQRCode.path, vmessQRCode.type, vmessQRCode.path) streamSetting.populateTlsSettings(vmessQRCode.tls, allowInsecure, - if (vmessQRCode.sni.isNotBlank()) vmessQRCode.sni else sni) + if (TextUtils.isEmpty(vmessQRCode.sni)) sni else vmessQRCode.sni) } } } else if (str.startsWith(EConfigType.SHADOWSOCKS.protocolScheme)) {