O DisplayMessageProvider é o provedor responsável por controlar o texto que é exibido na tela do pinpad.

Para iniciar o provider, é necessário passar o context, um PinpadObject e o texto desejado por parâmetro.

📘

DisplayMessageProvider exibe uma mensagem de até 32 caracteres na tela do Pinpad.

// Check se tem um pinpad conectado
if (Stone.getPinpadListSize() <= 0) {
    makeText(getApplicationContext(), "Conecte-se a um pinpad.", LENGTH_SHORT).show();
}
else {
    // Exibir um popup para o usuário inserir um texto
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setTitle("Digite a mensagem para mostrar no pinpad");
    final EditText editText = new EditText(MainActivity.this);
    builder.setView(editText);
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            String text = editText.getText().toString();
            // Enviar o texto para o Pinpad
            DisplayMessageProvider displayMessageProvider =
                    new DisplayMessageProvider(MainActivity.this, text, Stone.getPinpadFromListAt(0));
            displayMessageProvider.execute();
        }
    });
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
    });

    builder.show();
}