mirror of https://github.com/Corewala/Buran
Made internet checks consistent, reduced spaghetticode
This commit is contained in:
parent
8c7546f095
commit
01df294462
|
@ -68,12 +68,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private val omniTerm = OmniTerm(object : OmniTerm.Listener {
|
private val omniTerm = OmniTerm(object : OmniTerm.Listener {
|
||||||
override fun request(address: String) {
|
override fun request(address: String) {
|
||||||
if(getInternetStatus()){
|
model.request(address)
|
||||||
loadingView(true)
|
|
||||||
model.request(address)
|
|
||||||
}else{
|
|
||||||
Snackbar.make(binding.root, getString(R.string.no_internet), Snackbar.LENGTH_LONG).show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun openBrowser(address: String) = openWebLink(address)
|
override fun openBrowser(address: String) = openWebLink(address)
|
||||||
|
@ -98,24 +93,29 @@ class GemActivity : AppCompatActivity() {
|
||||||
startActivity(Intent.createChooser(this, null))
|
startActivity(Intent.createChooser(this, null))
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
//Reset input text hint after user has been searching
|
if(getInternetStatus()){
|
||||||
if(inSearch) {
|
//Reset input text hint after user has been searching
|
||||||
binding.addressEdit.hint = getString(R.string.main_input_hint)
|
if(inSearch) {
|
||||||
inSearch = false
|
binding.addressEdit.hint = getString(R.string.main_input_hint)
|
||||||
|
inSearch = false
|
||||||
|
}
|
||||||
|
omniTerm.navigation(uri.toString())
|
||||||
|
}else{
|
||||||
|
Snackbar.make(binding.root, getString(R.string.no_internet), Snackbar.LENGTH_LONG).show()
|
||||||
}
|
}
|
||||||
omniTerm.navigation(uri.toString())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val inlineImage: (link: URI, adapterPosition: Int) -> Unit = { uri, position: Int ->
|
private val inlineImage: (link: URI, adapterPosition: Int) -> Unit = { uri, position: Int ->
|
||||||
|
if(getInternetStatus()){
|
||||||
omniTerm.imageAddress(uri.toString())
|
omniTerm.imageAddress(uri.toString())
|
||||||
omniTerm.uri.let{
|
omniTerm.uri.let{
|
||||||
model.requestInlineImage(URI.create(it.toString())){ imageUri ->
|
model.requestInlineImage(URI.create(it.toString())){ imageUri ->
|
||||||
imageUri?.let{
|
imageUri?.let{
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
loadImage(position, imageUri)
|
loadImage(position, imageUri)
|
||||||
loadingView(false)
|
loadingView(false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -248,11 +248,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
}
|
}
|
||||||
R.id.overflow_menu_bookmarks -> {
|
R.id.overflow_menu_bookmarks -> {
|
||||||
bookmarksDialog = BookmarksDialog(this, bookmarkDatasource) { bookmark ->
|
bookmarksDialog = BookmarksDialog(this, bookmarkDatasource) { bookmark ->
|
||||||
if(getInternetStatus()){
|
request(bookmark.uri.toString())
|
||||||
model.request(bookmark.uri.toString())
|
|
||||||
}else{
|
|
||||||
Snackbar.make(binding.root, getString(R.string.no_internet), Snackbar.LENGTH_LONG).show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
bookmarksDialog?.show()
|
bookmarksDialog?.show()
|
||||||
}
|
}
|
||||||
|
@ -268,11 +264,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
this,
|
this,
|
||||||
db.history()
|
db.history()
|
||||||
) { historyAddress ->
|
) { historyAddress ->
|
||||||
if(getInternetStatus()){
|
request(historyAddress)
|
||||||
model.request(historyAddress)
|
|
||||||
}else{
|
|
||||||
Snackbar.make(binding.root, getString(R.string.no_internet), Snackbar.LENGTH_LONG).show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
R.id.overflow_menu_about -> AboutDialog.show(this)
|
R.id.overflow_menu_about -> AboutDialog.show(this)
|
||||||
R.id.overflow_menu_settings -> {
|
R.id.overflow_menu_settings -> {
|
||||||
|
@ -288,7 +280,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
Buran.DEFAULT_HOME_CAPSULE
|
Buran.DEFAULT_HOME_CAPSULE
|
||||||
)
|
)
|
||||||
omniTerm.history.clear()
|
omniTerm.history.clear()
|
||||||
model.request(home!!)
|
request(home!!)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.pullToRefresh.setOnRefreshListener {
|
binding.pullToRefresh.setOnRefreshListener {
|
||||||
|
@ -307,7 +299,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
omniTerm.getCurrent().run{
|
omniTerm.getCurrent().run{
|
||||||
binding.addressEdit.setText(this)
|
binding.addressEdit.setText(this)
|
||||||
focusEnd()
|
focusEnd()
|
||||||
model.request(this)
|
request(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -384,7 +376,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
with(builder) {
|
with(builder) {
|
||||||
setTitle(state.header.meta)
|
setTitle(state.header.meta)
|
||||||
setPositiveButton("Ok"){ dialog, which ->
|
setPositiveButton("Ok"){ dialog, which ->
|
||||||
model.request("${state.uri}?${Uri.encode(editText.text.toString())}")
|
request("${state.uri}?${Uri.encode(editText.text.toString())}")
|
||||||
editText.hideKeyboard()
|
editText.hideKeyboard()
|
||||||
}
|
}
|
||||||
setNegativeButton(R.string.cancel){ dialog, which ->
|
setNegativeButton(R.string.cancel){ dialog, which ->
|
||||||
|
@ -419,15 +411,19 @@ class GemActivity : AppCompatActivity() {
|
||||||
|
|
||||||
val download = getString(R.string.download)
|
val download = getString(R.string.download)
|
||||||
|
|
||||||
AlertDialog.Builder(this, R.style.AppDialogTheme)
|
if(getInternetStatus()) {
|
||||||
.setTitle("$download: ${state.header.meta}")
|
AlertDialog.Builder(this, R.style.AppDialogTheme)
|
||||||
.setMessage("${state.uri}")
|
.setTitle("$download: ${state.header.meta}")
|
||||||
.setPositiveButton(getString(R.string.download)) { _, _ ->
|
.setMessage("${state.uri}")
|
||||||
loadingView(true)
|
.setPositiveButton(getString(R.string.download)) { _, _ ->
|
||||||
model.requestBinaryDownload(state.uri)
|
loadingView(true)
|
||||||
}
|
model.requestBinaryDownload(state.uri)
|
||||||
.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
|
}
|
||||||
.show()
|
.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
|
||||||
|
.show()
|
||||||
|
}else{
|
||||||
|
Snackbar.make(binding.root, getString(R.string.no_internet), Snackbar.LENGTH_LONG).show()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is GemState.ResponseUnknownHost -> {
|
is GemState.ResponseUnknownHost -> {
|
||||||
|
@ -470,7 +466,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
val uri = intent.data
|
val uri = intent.data
|
||||||
if(uri != null){
|
if(uri != null){
|
||||||
binding.addressEdit.setText(uri.toString())
|
binding.addressEdit.setText(uri.toString())
|
||||||
model.request(uri.toString())
|
request(uri.toString())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -658,13 +654,19 @@ class GemActivity : AppCompatActivity() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun request(address: String){
|
||||||
|
if(getInternetStatus()){
|
||||||
|
loadingView(true)
|
||||||
|
return model.request(address)
|
||||||
|
}else{
|
||||||
|
Snackbar.make(binding.root, getString(R.string.no_internet), Snackbar.LENGTH_LONG).show()
|
||||||
|
loadingView(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onBackPressed() {
|
override fun onBackPressed() {
|
||||||
if (omniTerm.canGoBack()){
|
if (omniTerm.canGoBack()){
|
||||||
if(getInternetStatus()){
|
request(omniTerm.goBack())
|
||||||
model.request(omniTerm.goBack())
|
|
||||||
}else{
|
|
||||||
Snackbar.make(binding.root, getString(R.string.no_internet), Snackbar.LENGTH_LONG).show()
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
println("Buran history is empty - exiting")
|
println("Buran history is empty - exiting")
|
||||||
super.onBackPressed()
|
super.onBackPressed()
|
||||||
|
@ -687,7 +689,7 @@ class GemActivity : AppCompatActivity() {
|
||||||
savedInstanceState.getString("uri")?.run {
|
savedInstanceState.getString("uri")?.run {
|
||||||
omniTerm.set(this)
|
omniTerm.set(this)
|
||||||
binding.addressEdit.setText(this)
|
binding.addressEdit.setText(this)
|
||||||
model.request(this)
|
request(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue