#
Connectivity
Verifica el estado de la conexión a internet.
#
Workflow
En cuanto la aplicación se inicia, se ha de verificar en todo momento el estado de la conexión a internet, ya que la necesita para su funcionamiento.
Si el dispositivo pierde la conexión a internet, se mostrará una ventana emergente (dialog) informando de la pérdida de conexión y bloqueando el uso de la app. Dicho mensaje desaparecerá cuando la conexión a internet se recupere, además, también se mostrará un snackbar informando que la conexión ha sido recuperada.
#
Behaviour
- Se hace uso del package connectivity_plus para la verificación de conexión.
- Se reciben los eventos
Requested,LostyRetrieved.- El evento
Requestedse dispara al iniciar la aplicación, para inicializar la verificación de conexión. Al recibir este evento, el bloc hace una llamada inicial de verificación y se suscribe al stream del objetoConnectivitydel package connectivity_plus para escuchar los cambios en la conexión. - Los eventos Lost y Retrieved informan sobre el cambio de conexión, son disparados por el objeto Connectivity del package connectivity_plus cuando ocurre dicho cambio.
- El evento
- Se retornan los estados
Initial,Loading,ConnectedyDisconnected.Initiales el estado inicial del bloc al ser creado y no recibir ningún evento.Loadingse retornará luego de recibir el evento Requested y antes de recibir algún evento sobre el estado de la conexión, refleja que la verificación de conectividad está cargando.ConnectedyDisconnectedson retornados luego de los eventosLostyRetrieved, para que la interfaz sepa del estado de la conexión y cambie de acuerdo a ésta.
#
About user interface
Respecto a la interfaz, los eventos que enviará y los estados que recibirá, están los siguientes puntos a considerar:
- Al iniciar la aplicación se instancia un
ConnectivityBlocy se envía el eventoRequested. - Al recibir el estado
Disconnected, se mostrará el dialogConnectivityLostDialog, el cual informa sobre el estado de la conexión (es decir, sin conexión) y bloquea el uso de la app. - Al recibir el estado
Connectedluego de unDisconnected, el dialog anterior se cerrará y desbloqueará la app, además se mostrará un snackbar informando que la conexión ha sido recuperada. - Al recibir el estado
Connectedal principio, no habrá cambios y la app funcionará con normalidad hasta que un nuevo estado sea recibido.