mirror of
https://github.com/Corewala/Buran
synced 2025-03-15 08:29:15 +00:00
Does not load a URI on first launch
And fixed bugs
This commit is contained in:
parent
0a59ac08cb
commit
2c24fa0c77
3 changed files with 32 additions and 5 deletions
|
@ -1,7 +1,6 @@
|
|||
package corewala.buran
|
||||
|
||||
import android.net.Uri
|
||||
import android.webkit.URLUtil
|
||||
import java.util.*
|
||||
|
||||
const val GEM_SCHEME = "gemini://"
|
||||
|
@ -80,7 +79,11 @@ class OmniTerm(private val listener: Listener) {
|
|||
}
|
||||
|
||||
fun getCurrent(): String {
|
||||
return history.last().toString()
|
||||
return if(history.size > 0){
|
||||
history.last().toString()
|
||||
}else{
|
||||
""
|
||||
}
|
||||
}
|
||||
|
||||
fun canGoBack(): Boolean {
|
||||
|
|
|
@ -166,9 +166,9 @@ class GemActivity : AppCompatActivity() {
|
|||
Buran.DEFAULT_HOME_CAPSULE
|
||||
)
|
||||
val title = "# ${this.getString(R.string.no_internet)}"
|
||||
val link = "=> $home ${this.getString(R.string.retry)}"
|
||||
val text = this.getString(R.string.retry)
|
||||
omniTerm.set(home!!)
|
||||
adapter.render(listOf(title, link))
|
||||
adapter.render(listOf(title, text))
|
||||
binding.addressEdit.inputType = InputType.TYPE_NULL
|
||||
}
|
||||
|
||||
|
@ -773,6 +773,19 @@ class GemActivity : AppCompatActivity() {
|
|||
bookmarkDatasource = db.bookmarks()
|
||||
|
||||
if(intent.data == null){
|
||||
var home = prefs.getString(
|
||||
"home_capsule",
|
||||
Buran.DEFAULT_HOME_CAPSULE
|
||||
) ?: Buran.DEFAULT_HOME_CAPSULE
|
||||
|
||||
if(
|
||||
home.startsWith("gemini://")
|
||||
and !home.contains(" ")
|
||||
and home.contains(".")
|
||||
){
|
||||
home = ""
|
||||
}
|
||||
|
||||
model.initialise(
|
||||
home = prefs.getString(
|
||||
"home_capsule",
|
||||
|
@ -782,6 +795,11 @@ class GemActivity : AppCompatActivity() {
|
|||
db = db,
|
||||
onState = this::handleState
|
||||
)
|
||||
|
||||
if(home.isEmpty()){
|
||||
loadingView(false)
|
||||
adapter.render(listOf("# ${getString(R.string.app_name)}"))
|
||||
}
|
||||
}else{
|
||||
model.initialise(
|
||||
home = intent.data.toString(),
|
||||
|
@ -829,6 +847,10 @@ class GemActivity : AppCompatActivity() {
|
|||
|
||||
if(getInternetStatus()){
|
||||
if(initialised){
|
||||
if(address.isEmpty()){
|
||||
loadingView(false)
|
||||
adapter.render(listOf("# ${getString(R.string.app_name)}"))
|
||||
}
|
||||
model.request(address, certPassword)
|
||||
}else{
|
||||
initialise()
|
||||
|
|
|
@ -19,7 +19,9 @@ class GemViewModel: ViewModel() {
|
|||
this.db = db
|
||||
this.onState = onState
|
||||
|
||||
request(home, null)
|
||||
if(home.startsWith("gemini://") and !home.contains(" ")){
|
||||
request(home, null)
|
||||
}
|
||||
}
|
||||
|
||||
fun request(address: String, clientCertPassword: String?) {
|
||||
|
|
Loading…
Add table
Reference in a new issue