The Broad Way

[ Sharp Mind · Sharp Blade · Sharp Spirit ]

root@construct:~
/kotlin-no-sunmi-pos-o-android-que-voce-nunca-quis-escrever
$_
<-- back to /logs
2026-01-24//LOG

Kotlin no Sunmi POS: O Android Que Voce Nunca Quis Escrever

Escrever Kotlin pra terminal POS Sunmi eh tipo dev Android so que tudo ta querendo te matar. O Sunmi V2 Pro roda Android 7.1. SETE PONTO UM. Bicho, isso eh de 2017. Metade das libs Jetpack nao suporta. Tu ta escrevendo Kotlin com uma mao amarrada nas costas porque o API level alvo eh da epoca que o povo ainda achava que Android Wear ia dar certo. A impressora termica eh a estrela do show. Ela roda num servico de sistema que trava a main thread por 200-400ms TODA VEZ que imprime cupom. Tu VAI pegar dialog de ANR se nao tomar cuidado. Nossa solucao: fila de impressao baseada em coroutine que joga tudo pra dispatcher background. Parece simples ne? Levou duas semanas pra ficar certo porque a doc do SDK da Sunmi eh escrita num idioma que tecnicamente eh ingles mas espiritualmente eh mandarim. Integracao de pagamento eh onde a coisa fica PICANTE. Stone, Rede, Cielo -- cada maquininha tem seu SDK com seu lifecycle, seus padroes de callback, e sua interpretacao CRIATIVA do que "sucesso" significa. A gente buildou uma camada de abstracao que normaliza todas num unico PaymentResult sealed class. Cada nova operadora eh so um adapter novo. Clean Architecture salva vida aqui. A tela de 5.5 polegadas eh a restricao que molda tudo. Sem espaco pra layout chique. Cada pixel importa. Aprendemos a desenhar pro terminal primeiro e adaptar pra tablet depois, nao o contrario. O garcom usa isso no meio do rush de sabado a noite com a mao suja de gordura. Botao grande. Feedback claro. Zero ambiguidade. Testar em hardware real eh INEGOCIAVEL. O emulador mente. Nao tem impressora termica. Nao tem leitor NFC. Nao tem os quirk de timing especificos do fork Android da Sunmi. A gente mantem quatro terminais fisicos nas mesas do time e todo PR eh testado no ferro antes de mergear. Nao eh trabalho glamoroso. Ninguem escreve artigo no Medium sobre Kotlin num POS de restaurante. Mas esse codigo processa dinheiro de verdade pra restaurante de verdade todo santo dia, e quando quebra, alguem nao recebe. Isso muda como tu escreve cada linha.
The Broad Way | Kinho.dev