mirror of https://github.com/Corewala/Buran
parent
d504df9cd3
commit
1d2be092f1
|
@ -40,7 +40,6 @@ class BuranHistory(private val db: BuranAbstractDatabase): HistoryDatasource {
|
||||||
|
|
||||||
override fun add(uri: Uri, onAdded: () -> Unit) {
|
override fun add(uri: Uri, onAdded: () -> Unit) {
|
||||||
if(!uri.toString().startsWith("gemini://")){
|
if(!uri.toString().startsWith("gemini://")){
|
||||||
onAdded
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
GlobalScope.launch(Dispatchers.IO){
|
GlobalScope.launch(Dispatchers.IO){
|
||||||
|
|
|
@ -8,7 +8,6 @@ import corewala.buran.OppenURI
|
||||||
import corewala.buran.io.GemState
|
import corewala.buran.io.GemState
|
||||||
import corewala.buran.io.database.history.BuranHistory
|
import corewala.buran.io.database.history.BuranHistory
|
||||||
import corewala.buran.io.keymanager.BuranKeyManager
|
import corewala.buran.io.keymanager.BuranKeyManager
|
||||||
import corewala.toURI
|
|
||||||
import corewala.toUri
|
import corewala.toUri
|
||||||
import java.io.*
|
import java.io.*
|
||||||
import java.lang.IllegalStateException
|
import java.lang.IllegalStateException
|
||||||
|
@ -58,7 +57,7 @@ class GeminiDatasource(private val context: Context, val history: BuranHistory):
|
||||||
private fun geminiRequest(uri: URI, onUpdate: (state: GemState) -> Unit, clientCertPassword: String?){
|
private fun geminiRequest(uri: URI, onUpdate: (state: GemState) -> Unit, clientCertPassword: String?){
|
||||||
val protocol = "TLS"
|
val protocol = "TLS"
|
||||||
|
|
||||||
initSSLFactory(protocol!!, clientCertPassword)
|
initSSLFactory(protocol, clientCertPassword)
|
||||||
|
|
||||||
val socket: SSLSocket?
|
val socket: SSLSocket?
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -5,7 +5,6 @@ import android.content.SharedPreferences
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import corewala.buran.Buran
|
import corewala.buran.Buran
|
||||||
import corewala.buran.R
|
|
||||||
import java.io.FileNotFoundException
|
import java.io.FileNotFoundException
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.security.KeyStore
|
import java.security.KeyStore
|
||||||
|
@ -29,10 +28,10 @@ class BuranKeyManager(val context: Context, val onKeyError: (error: String) -> U
|
||||||
try {
|
try {
|
||||||
context.contentResolver?.openInputStream(uri)?.use {
|
context.contentResolver?.openInputStream(uri)?.use {
|
||||||
try {
|
try {
|
||||||
keyStore.load(it, clientCertPassword?.toCharArray())
|
keyStore.load(it, clientCertPassword.toCharArray())
|
||||||
val keyManagerFactory: KeyManagerFactory =
|
val keyManagerFactory: KeyManagerFactory =
|
||||||
KeyManagerFactory.getInstance("X509")
|
KeyManagerFactory.getInstance("X509")
|
||||||
keyManagerFactory.init(keyStore, clientCertPassword?.toCharArray())
|
keyManagerFactory.init(keyStore, clientCertPassword.toCharArray())
|
||||||
return@use keyManagerFactory
|
return@use keyManagerFactory
|
||||||
} catch (ioe: IOException) {
|
} catch (ioe: IOException) {
|
||||||
onKeyError("${ioe.message}")
|
onKeyError("${ioe.message}")
|
||||||
|
|
|
@ -85,7 +85,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
|
|
||||||
lateinit var adapter: AbstractGemtextAdapter
|
lateinit var adapter: AbstractGemtextAdapter
|
||||||
|
|
||||||
private val onLink: (link: URI, longTap: Boolean, adapterPosition: Int) -> Unit = { uri, longTap, position: Int ->
|
private val onLink: (link: URI, longTap: Boolean, adapterPosition: Int) -> Unit = { uri, longTap, _: Int ->
|
||||||
if(longTap){
|
if(longTap){
|
||||||
val globalURI = if(!uri.toString().contains("//") and !uri.toString().contains(":")){
|
val globalURI = if(!uri.toString().contains("//") and !uri.toString().contains(":")){
|
||||||
(omniTerm.getCurrent() + uri.toString()).replace("//", "/").replace("gemini:/", "gemini://")
|
(omniTerm.getCurrent() + uri.toString()).replace("//", "/").replace("gemini:/", "gemini://")
|
||||||
|
@ -232,7 +232,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
binding.addressEdit.requestFocus()
|
binding.addressEdit.requestFocus()
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.addressEdit.setOnFocusChangeListener { v, hasFocus ->
|
binding.addressEdit.setOnFocusChangeListener { _, hasFocus ->
|
||||||
|
|
||||||
val addressPaddingRight = resources.getDimensionPixelSize(R.dimen.def_address_right_margin)
|
val addressPaddingRight = resources.getDimensionPixelSize(R.dimen.def_address_right_margin)
|
||||||
|
|
||||||
|
@ -435,11 +435,11 @@ class GemActivity : AppCompatActivity() {
|
||||||
loadingView(false)
|
loadingView(false)
|
||||||
builder
|
builder
|
||||||
.setTitle(state.header.meta)
|
.setTitle(state.header.meta)
|
||||||
.setPositiveButton(getString(R.string.confirm).toUpperCase()){ dialog, which ->
|
.setPositiveButton(getString(R.string.confirm).toUpperCase()){ _, _ ->
|
||||||
gemRequest("${state.uri}?${Uri.encode(editText.text.toString())}")
|
gemRequest("${state.uri}?${Uri.encode(editText.text.toString())}")
|
||||||
editText.hideKeyboard()
|
editText.hideKeyboard()
|
||||||
}
|
}
|
||||||
.setNegativeButton(getString(R.string.cancel).toUpperCase()){ dialog, which ->
|
.setNegativeButton(getString(R.string.cancel).toUpperCase()){ _, _ ->
|
||||||
editText.hideKeyboard()
|
editText.hideKeyboard()
|
||||||
}
|
}
|
||||||
.setView(dialogLayout)
|
.setView(dialogLayout)
|
||||||
|
|
Loading…
Reference in New Issue