Dados Automação e Personalização

DadosAutomacao é a classe responsável pelo armazenamento dos dados da automação comercial em si (nome automação, versão automação, se suporta troco ou desconto, etc).

A automação pode personalizar a interface do PayGo Integrado, de acordo com a identidade visual desejada. Para isso, basta preencher um objeto do tipo Personalizacao e adicioná-lo ao DadosAutomacao, conforme exemplo abaixo.

val dadosAutomacao = DadosAutomacao(
  "PDVS",
  versaoAutomacao,
  "PayGo",
  troco,
  desconto,
  suportaViasDiferenciadas,
  suportaViasReduzidas,
  this.valorDevido.value ?: false,
  personalizaApp(darkMode, context)
)

/**
* Função responsável pela personalização do PG Integrado.
* É necessário criar um Personalizacao.Builder() e enviar a cor em hex desejada para cada
* campo que queira trocar de cor.
*/
private fun personalizaApp(darkMode: Boolean, context: Context): Personalizacao? {

  val pb = Personalizacao.Builder()
  if (darkMode) {
    pb.informaCorFundoTela(
      getCor(R.color.informaCorFundoTelaDark, context)
    )
    pb.informaCorFundoToolbar(
      getCor(R.color.informaCorFundoToolbarDark, context)
    )
    pb.informaCorFundoTeclado(
      getCor(R.color.informaCorFundoTecladoDark, context)
    )
    pb.informaCorFundoCaixaEdicao(
      getCor(R.color.informaCorFundoCaixaEdicaoDark, context)
    )
    pb.informaCorSeparadorMenu(
      getCor(R.color.informaCorSeparadorMenuDark, context)
    )
    pb.informaCorFonte(
      getCor(R.color.informaCorFonteDark, context)
    )
    pb.informaCorTextoCaixaEdicao(
      getCor(R.color.informaCorTextoCaixaEdicaoDark, context)
    )
    pb.informaCorTeclaLiberadaTeclado(
      getCor(R.color.informaCorTeclaLiberadaTecladoDark, context)
    )
    pb.informaCorTeclaPressionadaTeclado(
      getCor(R.color.informaCorTeclaPressionadaTecladoDark, context)
    )
    pb.informaCorFonteTeclado(
      getCor(R.color.informaCorFonteTecladoDark, context)
    )
    pb.informaCorTextoToolbar(
      getCor(R.color.informaCorTextoToolbarDark, context)
    )
  } 
	return pb.build()
}