diff --git a/app/src/main/java/corewala/buran/OmniTerm.kt b/app/src/main/java/corewala/buran/OmniTerm.kt index 5202603..2069b28 100644 --- a/app/src/main/java/corewala/buran/OmniTerm.kt +++ b/app/src/main/java/corewala/buran/OmniTerm.kt @@ -58,7 +58,6 @@ class OmniTerm(private val listener: Listener) { link.startsWith("//") -> uri.set("gemini:$link") link.startsWith("http://") or link.startsWith("https://") -> { uri.set(link) - println("MALD?") } link.contains(":") -> listener.openExternal(link) else -> uri.resolve(link) @@ -70,6 +69,14 @@ class OmniTerm(private val listener: Listener) { println("OmniTerm resolved address: $address") } + fun getGlobalUri(reference: String): String { + when { + reference.contains(":") -> return reference + reference.startsWith("//") -> return "gemini:$reference" + else -> return uri.resolve(reference) + } + } + fun reset(){ uri = penultimate.copy() } diff --git a/app/src/main/java/corewala/buran/OppenURI.kt b/app/src/main/java/corewala/buran/OppenURI.kt index 6fc5028..5eb204f 100644 --- a/app/src/main/java/corewala/buran/OppenURI.kt +++ b/app/src/main/java/corewala/buran/OppenURI.kt @@ -36,7 +36,6 @@ class OppenURI constructor(private var ouri: String) { fun resolve(reference: String): String{ if(ouri == "$GEMSCHEME$host") ouri = "$ouri/" - println(host) when { reference.startsWith(GEMSCHEME) -> set(reference) reference.startsWith(SOLIDUS) -> ouri = "$scheme://$host$reference" diff --git a/app/src/main/java/corewala/buran/ui/GemActivity.kt b/app/src/main/java/corewala/buran/ui/GemActivity.kt index bee2662..aaaa7f0 100644 --- a/app/src/main/java/corewala/buran/ui/GemActivity.kt +++ b/app/src/main/java/corewala/buran/ui/GemActivity.kt @@ -97,11 +97,7 @@ class GemActivity : AppCompatActivity() { private val onLink: (link: URI, longTap: Boolean, adapterPosition: Int) -> Unit = { uri, longTap, _: Int -> if(longTap){ - val globalURI = if(!uri.toString().contains("//") and !uri.toString().contains(":")){ - (omniTerm.getCurrent() + uri.toString()).replace("//", "/").replace(":/", "://") - } else { - uri.toString() - } + val globalURI = omniTerm.getGlobalUri(uri.toString()) Intent().apply { action = Intent.ACTION_SEND putExtra(Intent.EXTRA_TEXT, globalURI)