mirror of
https://github.com/recloudstream/cloudstream.git
synced 2026-07-13 00:13:17 +00:00
Compare commits
1 commit
master
...
fix-repo-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9290cec8ea |
2 changed files with 37 additions and 35 deletions
|
|
@ -141,14 +141,12 @@ object RepositoryManager {
|
||||||
}
|
}
|
||||||
} else if (fixedUrl.matches("^[a-zA-Z0-9!_-]+$".toRegex())) {
|
} else if (fixedUrl.matches("^[a-zA-Z0-9!_-]+$".toRegex())) {
|
||||||
safeAsync {
|
safeAsync {
|
||||||
app.get("https://cutt.ly/${fixedUrl}", allowRedirects = false).let { it2 ->
|
val response = app.get("https://cutt.ly/${fixedUrl}", allowRedirects = false)
|
||||||
it2.headers["Location"]?.let { url ->
|
val url = response.headers["Location"] ?: return@safeAsync null
|
||||||
if (url.startsWith("https://cutt.ly/404")) return@safeAsync null
|
if (url.startsWith("https://cutt.ly/404")) return@safeAsync null
|
||||||
if (url.removeSuffix("/") == "https://cutt.ly") return@safeAsync null
|
if (url.removeSuffix("/") == "https://cutt.ly") return@safeAsync null
|
||||||
return@safeAsync url
|
return@safeAsync url
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
} else null
|
} else null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -278,13 +278,16 @@ class ExtensionsFragment : BaseFragment<FragmentExtensionsBinding>(
|
||||||
binding.applyBtt.setOnClickListener secondListener@{
|
binding.applyBtt.setOnClickListener secondListener@{
|
||||||
val name = binding.repoNameInput.text?.toString()
|
val name = binding.repoNameInput.text?.toString()
|
||||||
val urlInput = binding.repoUrlInput.text?.toString()
|
val urlInput = binding.repoUrlInput.text?.toString()
|
||||||
ioSafe {
|
if (urlInput.isNullOrEmpty()) {
|
||||||
val url = urlInput?.let { it1 -> RepositoryManager.parseRepoUrl(it1) }
|
showToast(R.string.error_invalid_url, Toast.LENGTH_SHORT)
|
||||||
if (url.isNullOrBlank()) {
|
return@secondListener
|
||||||
main {
|
}
|
||||||
showToast(R.string.error_invalid_data, Toast.LENGTH_SHORT)
|
ioSafe {
|
||||||
|
val url = RepositoryManager.parseRepoUrl(urlInput)
|
||||||
|
if (url.isNullOrBlank()) {
|
||||||
|
showToast(R.string.error_invalid_data, Toast.LENGTH_SHORT)
|
||||||
|
return@ioSafe
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
val repository = RepositoryManager.parseRepository(url)
|
val repository = RepositoryManager.parseRepository(url)
|
||||||
|
|
||||||
// Exit if wrong repository
|
// Exit if wrong repository
|
||||||
|
|
@ -300,18 +303,19 @@ class ExtensionsFragment : BaseFragment<FragmentExtensionsBinding>(
|
||||||
extensionViewModel.loadStats()
|
extensionViewModel.loadStats()
|
||||||
extensionViewModel.loadRepositories()
|
extensionViewModel.loadRepositories()
|
||||||
|
|
||||||
|
dialog.dismissSafe(activity) // Only dismiss if the repo was added
|
||||||
|
|
||||||
val plugins = RepositoryManager.getRepoPlugins(newRepo)
|
val plugins = RepositoryManager.getRepoPlugins(newRepo)
|
||||||
if (plugins.isNullOrEmpty()) {
|
if (plugins.isNullOrEmpty()) {
|
||||||
showToast(R.string.no_plugins_found_error, Toast.LENGTH_LONG)
|
showToast(R.string.no_plugins_found_error, Toast.LENGTH_LONG)
|
||||||
} else {
|
return@ioSafe
|
||||||
|
}
|
||||||
|
|
||||||
this@ExtensionsFragment.activity?.addRepositoryDialog(
|
this@ExtensionsFragment.activity?.addRepositoryDialog(
|
||||||
newRepo
|
newRepo
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dialog.dismissSafe(activity)
|
|
||||||
}
|
|
||||||
binding.cancelBtt.setOnClickListener {
|
binding.cancelBtt.setOnClickListener {
|
||||||
dialog.dismissSafe(activity)
|
dialog.dismissSafe(activity)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue