Beagle v1.5 não é mais mantida ativamente. A versão documentada que você está visualizando pode conter funcionalidades depreciadas. Para obter as funcionalidades mais recentes, consulte a nossa última versão .
É possível observar o estado atual da tela durante as requisições server-driven em uma BeagleActivity, inclusive estados de erro.
Ao exibir uma tela server-driven
, é possível sobrescrever o método onServerDrivenContainerStateChange()
para implementar suas tratativas para cada estado da tela.
Abaixo segue um exemplo de uma BeagleActivity com o método onServerDrivenContainerStateChange()
sobrescrito:
@BeagleComponent
class AppBeagleActivity : BeagleActivity() {
private val progressBar: ProgressBar by lazy { findViewById<ProgressBar>(R.id.progress_bar) }
private val mToolbar: Toolbar by lazy { findViewById<Toolbar>(R.id.custom_toolbar) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_app_beagle)
}
override fun getServerDrivenContainerId(): Int = R.id.server_driven_container
override fun getToolbar(): Toolbar = mToolbar
override fun onServerDrivenContainerStateChanged(state: ServerDrivenState) {
when (state) {
is ServerDrivenState.Started -> {
progressBar.visibility = View.VISIBLE
}
is ServerDrivenState.Finished -> {
progressBar.visibility = View.GONE
}
is ServerDrivenState.Error -> {
Toast.makeText(this, "Error", Toast.LENGTH_LONG).show()
}
}
}
}
A partir destes estados, como mostra o exemplo anterior de implementação do loadView, é possível definir quando mostrar ou esconder o Load e definir também outras ações pertinentes aos estados ServerDrivenState
: Started
, Success
, Finished
e Error
.
sealed class ServerDrivenState {
object Started : ServerDrivenState()
object Finished : ServerDrivenState()
object Success : ServerDrivenState()
open class Error(
val throwable: Throwable,
val retry: BeagleRetry
) : ServerDrivenState()
}
Veja mais detalhes de cada estado:
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.