mirror of https://github.com/Corewala/Buran
Compare commits
5 Commits
0a47f391e5
...
326c20f5ff
Author | SHA1 | Date |
---|---|---|
Corewala | 326c20f5ff | |
Corewala | 867688a075 | |
Corewala | bedbc9fb98 | |
Corewala | df6c159c2c | |
Corewala | 93ef22a4f8 |
|
@ -73,7 +73,7 @@ class OmniTerm(private val listener: Listener) {
|
|||
return when {
|
||||
reference.contains(":") -> reference
|
||||
reference.startsWith("//") -> "gemini:$reference"
|
||||
else -> uri.resolve(reference)
|
||||
else -> uri.resolve(reference, false)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -35,25 +35,26 @@ class OppenURI constructor(private var ouri: String) {
|
|||
}
|
||||
}
|
||||
|
||||
fun resolve(reference: String): String{
|
||||
fun resolve(reference: String, persistent: Boolean): String{
|
||||
if(ouri == "$GEMSCHEME$host") ouri = "$ouri/"
|
||||
var resolvedUri = ""
|
||||
when {
|
||||
reference.startsWith(GEMSCHEME) -> set(reference)
|
||||
reference.startsWith(SOLIDUS) -> ouri = "$scheme://$host$reference"
|
||||
reference.startsWith(SOLIDUS) -> resolvedUri = "$scheme://$host$reference"
|
||||
reference.startsWith(TRAVERSE) -> {
|
||||
if(!ouri.endsWith(DIREND)) ouri = ouri.removeFile()
|
||||
if(!ouri.endsWith(DIREND)) resolvedUri = ouri.removeFile()
|
||||
val traversalCount = reference.split(TRAVERSE).size - 1
|
||||
ouri = traverse(traversalCount) + reference.replace(TRAVERSE, "")
|
||||
resolvedUri = traverse(traversalCount) + reference.replace(TRAVERSE, "")
|
||||
}
|
||||
reference.startsWith(QUERY) -> {
|
||||
ouri = if(reference.contains(QUERY)){
|
||||
resolvedUri = if(reference.contains(QUERY)){
|
||||
ouri.substringBefore(QUERY) + reference
|
||||
}else{
|
||||
ouri + reference
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
ouri = when {
|
||||
resolvedUri = when {
|
||||
ouri.endsWith(DIREND) -> {
|
||||
"${ouri}$reference"
|
||||
}
|
||||
|
@ -61,7 +62,14 @@ class OppenURI constructor(private var ouri: String) {
|
|||
}
|
||||
}
|
||||
}
|
||||
return ouri
|
||||
if(persistent){
|
||||
ouri = resolvedUri
|
||||
}
|
||||
return resolvedUri
|
||||
}
|
||||
|
||||
fun resolve(reference: String): String{
|
||||
return resolve(reference, true)
|
||||
}
|
||||
|
||||
private fun traverse(count: Int): String{
|
||||
|
|
|
@ -89,7 +89,7 @@ class GemActivity : AppCompatActivity() {
|
|||
|
||||
private var goingBack: Boolean = false
|
||||
|
||||
lateinit var adapter: AbstractGemtextAdapter
|
||||
private lateinit var adapter: AbstractGemtextAdapter
|
||||
|
||||
private lateinit var home: String
|
||||
|
||||
|
@ -459,7 +459,7 @@ class GemActivity : AppCompatActivity() {
|
|||
}
|
||||
|
||||
is GemState.Redirect -> {
|
||||
omniTerm.set(proxiedAddress ?: state.uri.toString())
|
||||
omniTerm.set(state.uri.toString())
|
||||
gemRequest(omniTerm.getGlobalUri(state.header.meta))
|
||||
}
|
||||
|
||||
|
|
|
@ -365,7 +365,7 @@ class SettingsFragment: PreferenceFragmentCompat(), Preference.OnPreferenceChang
|
|||
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
|
||||
addCategory(Intent.CATEGORY_OPENABLE)
|
||||
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
type = "*/*"
|
||||
type = "application/x-pkcs12"
|
||||
}
|
||||
startActivityForResult(intent, PREFS_SET_CLIENT_CERT_REQ)
|
||||
true
|
||||
|
@ -373,7 +373,6 @@ class SettingsFragment: PreferenceFragmentCompat(), Preference.OnPreferenceChang
|
|||
|
||||
certificateCategory.addPreference(clientCertPref)
|
||||
|
||||
|
||||
val clientCertPassword = EditTextPreference(context)
|
||||
clientCertPassword.key = Buran.PREF_KEY_CLIENT_CERT_PASSWORD
|
||||
clientCertPassword.title = getString(R.string.client_certificate_password)
|
||||
|
@ -399,7 +398,6 @@ class SettingsFragment: PreferenceFragmentCompat(), Preference.OnPreferenceChang
|
|||
useBiometrics.isVisible = false
|
||||
certificateCategory.addPreference(useBiometrics)
|
||||
|
||||
|
||||
val passwordCiphertext = EditTextPreference(context)
|
||||
passwordCiphertext.key = "password_ciphertext"
|
||||
passwordCiphertext.isVisible = false
|
||||
|
@ -445,6 +443,7 @@ class SettingsFragment: PreferenceFragmentCompat(), Preference.OnPreferenceChang
|
|||
clientCertPassword.summary = getDots(clientCertPassword.text)
|
||||
}
|
||||
clientCertPassword.isVisible = !(newValue as Boolean)
|
||||
clientCertPref.isEnabled = !(newValue as Boolean)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -497,7 +496,6 @@ class SettingsFragment: PreferenceFragmentCompat(), Preference.OnPreferenceChang
|
|||
persistPermissions(uri)
|
||||
findFilename(uri)
|
||||
}
|
||||
|
||||
}
|
||||
super.onActivityResult(requestCode, resultCode, data)
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<string name="main_input_hint">Entrez l\'adresse gemini://</string>
|
||||
<string name="main_input_search_hint">Entrez un terme de recherche</string>
|
||||
<string name="copy_address">Partager l\'adresse</string>
|
||||
<string name="load_image">Afficher en ligne</string>
|
||||
<string name="about">À propos</string>
|
||||
<string name="address_copied_to_clipboard">Adresse copiée dans le presse-papiers</string>
|
||||
<string name="gemini_address">Adresse Gemini</string>
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<string name="main_input_hint">Enter gemini:// address</string>
|
||||
<string name="main_input_search_hint">Enter search term</string>
|
||||
<string name="copy_address">Share address</string>
|
||||
<string name="load_image">Display inline</string>
|
||||
<string name="about">About</string>
|
||||
<string name="address_copied_to_clipboard">Address copied to clipboard</string>
|
||||
<string name="gemini_address">Gemini address</string>
|
||||
|
|
Loading…
Reference in New Issue