Classe br.com.softwareexpress.sitef.android.CliSiTef
Neste modelo, as transações utilizam o conceito de listener/eventos/call-back. Ou seja, a automação comercial registra uma função que será chamada durante o fluxo da transação.
Por se tratar de uma implementação exclusiva para ambientes Android, a integração da automação neste ambiente é muito mais simples, quando comparada com interfaces das outras plataformas.
Para acoplar a classe à sua aplicação, basta chamar o construtor, passando como parâmetro o contexto da aplicação.
Para receber eventos adicionais (como mudanças de status de conexão do PinPad), atribua um android.os.Handler apropriado.
Importante: instancie apenas uma vez a CliSiTef, para evitar problemas de concorrência com o pinpad.
Antes de iniciar uma transação, é necessário que a automação implemente a interface ICliSiTefListener:
A transação é iniciada a partir do método startTransaction, que recebe como parâmetro inicial um objeto que implementa ICliSiTefListener, e os demais parâmetros análogos aos da iniciaFuncaoSiTefInterativo.
Este método retorna imediatamente. Caso retorne zero, serão disparados os eventos em onData e onTransactionResult.
Para cada evento onData, a aplicação recebe os dados necessários para a coleta. Após este evento, pode-se optar por continuar a transação (método continueTransaction – passando os dados coletados), ou cancelar o fluxo (através do método abortTransaction).
O evento onTransactionResult é um indicativo de fim de transação, retornando o código de retorno da transação. O valor zero indica sucesso na transação.
Neste caso, a automação deve confirmar/não-confirmar a transação, através do método finishTransaction.
De forma análoga ao método startTransaction, este método volta imediatamente e, a partir daí, os eventos de coleta serão recebidos em onData e onTransactionResult.