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