O SDK Android foi desenvolvido utilizando Providers, um padrão de projeto que simplesmente define um contrato entre a API e camada de dados/lógica.
Todos os providers possuem o mesmo padrão e estendem de uma classe modelo que herda da classe AsyncTask do Android. Portanto, toda a comunicação com o terminal e chamadas para APIs externas são executadas em background e devem ter algum feedback para o usuário, como por exemplo, informar que o cartão precisa ser inserido no terminal.
Após a execução de um provider, ele realizará uma chamada de retorno para a sua aplicação (Callback) com o objetivo de informar o status da sua chamada: se teve sucesso, erro ou qual é o próximo passo a ser executado.
Ao chamar um provider, uma ação será executada. Aconselhamos sempre mostrar o progresso dessa ação para garantir uma melhor experiência de usuário e um feedback da operação.
Dado isso, se você não quiser implementar o seu próprio feedback de progresso, você pode usar uma interface do SDK - um dialog - a partir dos métodos listados abaixo.
Método | Tipo | Função |
---|---|---|
setActivity | Activity | Esse método deve ser chamado caso haja necessidade de mudar o contexto em que o provider foi instanciado |
setDialogMessage | String | Esse método é usado para personalizar a mensagem exibida no dialog de progresso. Caso nada seja passado, é exibido uma mensagem default |
setDialogTitle | String | Esse método é usado para definir um título para o dialog exibido pelo SDK. Caso nada seja passado, o dialog será exibido sem título |
setConnectionCallback | StoneCallbackInterface | Esse método é usado para receber a resposta do callback do provider instanciado |
getListOfErrors() | List | Esse método retornará uma lista de erros, caso algum tenha ocorrido na operação executada pelo provider |