Use isComplexType() to simplify config checks
This commit is contained in:
1 parent
b2e10fc60b
commit
0f7cee0613
4 files changed
+9
-16
No files matched your search
@@ -6,6 +6,7 @@ import com.v2ray.ang.dto.CoreConfigContext
|
|||||||
import com.v2ray.ang.dto.entities.ProfileItem
|
import com.v2ray.ang.dto.entities.ProfileItem
|
||||||
import com.v2ray.ang.enums.CoreResolvedType
|
import com.v2ray.ang.enums.CoreResolvedType
|
||||||
import com.v2ray.ang.enums.EConfigType
|
import com.v2ray.ang.enums.EConfigType
|
||||||
|
import com.v2ray.ang.extension.isComplexType
|
||||||
import com.v2ray.ang.extension.isNotNullEmpty
|
import com.v2ray.ang.extension.isNotNullEmpty
|
||||||
import com.v2ray.ang.handler.MmkvManager
|
import com.v2ray.ang.handler.MmkvManager
|
||||||
import com.v2ray.ang.handler.SettingsManager
|
import com.v2ray.ang.handler.SettingsManager
|
||||||
@@ -163,9 +164,7 @@ object CoreConfigContextBuilder {
|
|||||||
}
|
}
|
||||||
.filter { it.server.isNotNullEmpty() }
|
.filter { it.server.isNotNullEmpty() }
|
||||||
.filter { !Utils.isPureIpAddress(it.server!!) || Utils.isValidUrl(it.server!!) }
|
.filter { !Utils.isPureIpAddress(it.server!!) || Utils.isValidUrl(it.server!!) }
|
||||||
.filter { it.configType != EConfigType.CUSTOM }
|
.filter { !it.configType.isComplexType() }
|
||||||
.filter { it.configType != EConfigType.POLICYGROUP }
|
|
||||||
.filter { it.configType != EConfigType.PROXYCHAIN }
|
|
||||||
.toList()
|
.toList()
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
LogUtil.e(AppConfig.TAG, "Failed to resolve policy group profiles for '${config.remarks}'", e)
|
LogUtil.e(AppConfig.TAG, "Failed to resolve policy group profiles for '${config.remarks}'", e)
|
||||||
@@ -184,9 +183,7 @@ object CoreConfigContextBuilder {
|
|||||||
.mapNotNull { remark -> SettingsManager.getServerViaRemarks(remark) }
|
.mapNotNull { remark -> SettingsManager.getServerViaRemarks(remark) }
|
||||||
.filter { it.server.isNotNullEmpty() }
|
.filter { it.server.isNotNullEmpty() }
|
||||||
.filter { !Utils.isPureIpAddress(it.server!!) || Utils.isValidUrl(it.server!!) }
|
.filter { !Utils.isPureIpAddress(it.server!!) || Utils.isValidUrl(it.server!!) }
|
||||||
.filter { it.configType != EConfigType.CUSTOM }
|
.filter { !it.configType.isComplexType() }
|
||||||
.filter { it.configType != EConfigType.POLICYGROUP }
|
|
||||||
.filter { it.configType != EConfigType.PROXYCHAIN }
|
|
||||||
.toList()
|
.toList()
|
||||||
.reversed()
|
.reversed()
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import com.v2ray.ang.contracts.ServiceControl
|
|||||||
import com.v2ray.ang.dto.OutboundTrafficStat
|
import com.v2ray.ang.dto.OutboundTrafficStat
|
||||||
import com.v2ray.ang.dto.entities.ProfileItem
|
import com.v2ray.ang.dto.entities.ProfileItem
|
||||||
import com.v2ray.ang.enums.EConfigType
|
import com.v2ray.ang.enums.EConfigType
|
||||||
|
import com.v2ray.ang.extension.isComplexType
|
||||||
import com.v2ray.ang.extension.toast
|
import com.v2ray.ang.extension.toast
|
||||||
import com.v2ray.ang.handler.MmkvManager
|
import com.v2ray.ang.handler.MmkvManager
|
||||||
import com.v2ray.ang.handler.NotificationManager
|
import com.v2ray.ang.handler.NotificationManager
|
||||||
@@ -145,9 +146,7 @@ object CoreServiceManager {
|
|||||||
error(context.getString(R.string.toast_config_file_invalid))
|
error(context.getString(R.string.toast_config_file_invalid))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.configType != EConfigType.CUSTOM
|
if (!config.configType.isComplexType()
|
||||||
&& config.configType != EConfigType.POLICYGROUP
|
|
||||||
&& config.configType != EConfigType.PROXYCHAIN
|
|
||||||
&& !Utils.isValidUrl(config.server)
|
&& !Utils.isValidUrl(config.server)
|
||||||
&& !Utils.isPureIpAddress(config.server.orEmpty())
|
&& !Utils.isPureIpAddress(config.server.orEmpty())
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import com.v2ray.ang.databinding.FragmentGroupServerBinding
|
|||||||
import com.v2ray.ang.databinding.ItemQrcodeBinding
|
import com.v2ray.ang.databinding.ItemQrcodeBinding
|
||||||
import com.v2ray.ang.dto.entities.ProfileItem
|
import com.v2ray.ang.dto.entities.ProfileItem
|
||||||
import com.v2ray.ang.enums.EConfigType
|
import com.v2ray.ang.enums.EConfigType
|
||||||
|
import com.v2ray.ang.extension.isComplexType
|
||||||
import com.v2ray.ang.extension.toast
|
import com.v2ray.ang.extension.toast
|
||||||
import com.v2ray.ang.extension.toastError
|
import com.v2ray.ang.extension.toastError
|
||||||
import com.v2ray.ang.extension.toastSuccess
|
import com.v2ray.ang.extension.toastSuccess
|
||||||
@@ -269,9 +270,7 @@ class GroupServerFragment : BaseFragment<FragmentGroupServerBinding>(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onShare(guid: String, profile: ProfileItem, position: Int, more: Boolean) {
|
override fun onShare(guid: String, profile: ProfileItem, position: Int, more: Boolean) {
|
||||||
val isCustom = profile.configType == EConfigType.CUSTOM
|
val isCustom = profile.configType.isComplexType()
|
||||||
|| profile.configType == EConfigType.POLICYGROUP
|
|
||||||
|| profile.configType == EConfigType.PROXYCHAIN
|
|
||||||
|
|
||||||
val (shareOptions, skip) = if (more) {
|
val (shareOptions, skip) = if (more) {
|
||||||
val options = if (isCustom) share_method_more.asList().takeLast(3) else share_method_more.asList()
|
val options = if (isCustom) share_method_more.asList().takeLast(3) else share_method_more.asList()
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.v2ray.ang.contracts.BaseAdapterListener
|
|||||||
import com.v2ray.ang.databinding.ActivityServerProxyChainBinding
|
import com.v2ray.ang.databinding.ActivityServerProxyChainBinding
|
||||||
import com.v2ray.ang.dto.entities.ProfileItem
|
import com.v2ray.ang.dto.entities.ProfileItem
|
||||||
import com.v2ray.ang.enums.EConfigType
|
import com.v2ray.ang.enums.EConfigType
|
||||||
|
import com.v2ray.ang.extension.isComplexType
|
||||||
import com.v2ray.ang.extension.toast
|
import com.v2ray.ang.extension.toast
|
||||||
import com.v2ray.ang.extension.toastSuccess
|
import com.v2ray.ang.extension.toastSuccess
|
||||||
import com.v2ray.ang.handler.MmkvManager
|
import com.v2ray.ang.handler.MmkvManager
|
||||||
@@ -109,10 +110,7 @@ class ServerProxyChainActivity : BaseActivity() {
|
|||||||
|
|
||||||
val invalidMembers = chainMembers.filter { member ->
|
val invalidMembers = chainMembers.filter { member ->
|
||||||
val profile = SettingsManager.getServerViaRemarks(member)
|
val profile = SettingsManager.getServerViaRemarks(member)
|
||||||
profile == null
|
profile == null || profile.configType.isComplexType()
|
||||||
|| profile.configType == EConfigType.CUSTOM
|
|
||||||
|| profile.configType == EConfigType.POLICYGROUP
|
|
||||||
|| profile.configType == EConfigType.PROXYCHAIN
|
|
||||||
}
|
}
|
||||||
if (invalidMembers.isNotEmpty()) {
|
if (invalidMembers.isNotEmpty()) {
|
||||||
toast(getString(R.string.server_proxy_chain_members_invalid, invalidMembers.joinToString(", ")))
|
toast(getString(R.string.server_proxy_chain_members_invalid, invalidMembers.joinToString(", ")))
|
||||||
|
|||||||
Reference in new issue
Block a user