From 2ae75e876d2251e7d7c62061aa14ca81fb1e3d65 Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Thu, 27 Feb 2020 16:03:28 +0800 Subject: [PATCH] fix uri case --- .../main/java/com/github/kr328/clash/ProfileEditActivity.kt | 5 ++++- .../java/com/github/kr328/clash/service/ProfileProcessor.kt | 3 ++- .../java/com/github/kr328/clash/service/ProfileService.kt | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt b/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt index 3b46eb0..481b685 100644 --- a/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt @@ -149,7 +149,10 @@ class ProfileEditActivity : BaseActivity() { } if (url == null || url == Uri.EMPTY || - (url.scheme != "http" && url.scheme != "https" && url.scheme != "content") + (!url.scheme.equals("http", ignoreCase = true) + && !url.scheme.equals("https", ignoreCase = true) + && !url.scheme.equals("content", ignoreCase = true) + && !url.scheme.equals("file", ignoreCase = true)) ) { Snackbar.make(rootView, R.string.invalid_url, Snackbar.LENGTH_LONG).show() return@setOnClickListener diff --git a/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt b/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt index aea11c1..9257f69 100644 --- a/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt +++ b/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt @@ -64,7 +64,8 @@ class ProfileProcessor(private val context: Context) { target.parentFile?.mkdirs() baseDir.mkdirs() - if (source.scheme == "content" || source.scheme == "file") { + if (source.scheme.equals("content", ignoreCase = true) + || source.scheme.equals("file", ignoreCase = true)) { val parcelFileDescriptor = context.contentResolver.openFileDescriptor(source, "r") ?: throw FileNotFoundException("Unable to open file $source") diff --git a/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt b/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt index 6421dc8..21a63ca 100644 --- a/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt +++ b/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt @@ -186,7 +186,7 @@ class ProfileService : BaseService() { ClashProfileEntity( requireNotNull(request.name), requireNotNull(request.type), - requireNotNull(request.url).toString().toLowerCase(Locale.getDefault()), + requireNotNull(request.url).toString(), request.source?.toString(), false, 0,