Skip to content

V3.0.0

Choose a tag to compare

@maycon1038 maycon1038 released this 16 Aug 14:59
· 10 commits to master since this release
[REFACTOR] - Refatora WebService e atualiza interface iLotacao

- Modifica `updateUnidadesPMAM.java`:
    - Remove importações não utilizadas (`android.os.Handler`, `android.os.Looper`, `android.os.Message`, `android.util.Log`, `android.widget.Toast`, `com.google.gson.Gson`, `com.google.gson.JsonArray`, `com.google.gson.JsonObject`, `com.google.gson.reflect.TypeToken`, `com.koushikdutta.async.future.FutureCallback`, `com.koushikdutta.ion.Ion`, `java.text.NumberFormat`, `java.util.List`, `br.com.msm.librarydatabaseunidadepmam.classes_vo.dados`, `br.com.msm.librarydatabaseunidadepmam.classes_vo.lotacoesVO`).
    - Adiciona campo `ilotacao` do tipo `iLotacao`.
    - Altera o método `start` para chamar `ws.updateOPms(iOpms)` em vez de `startVerificarQuantidadeLotacoes`.
    - Remove o método `startVerificarQuantidadeLotacoes`.
    - Adiciona novo método `startList` que inicializa `ws` e chama `ws.getAndUpdate(ilotacao)`.
- Modifica `app/src/main/res/values/strings.xml`:
    - Altera o texto da string `aguarde_sync` para "As atualizações e o processo levarão apenas alguns segundos.\n Quer fazer isso agora?".
    - Remove a string `aguarde_sync2`.
- Modifica `librarydatabaseunidadepmam/src/main/java/br/com/msm/librarydatabaseunidadepmam/interfaces/iLotacao.java`:
    - Renomeia o método `setLotacoes` para `setResult` e altera sua assinatura para `void setResult(List<lotacoesVO> opms, String erro)`.
- Modifica `app/src/main/java/br/com/msm/libraryslitedatabaseunidadepmam/MainActivity.java`:
    - Adiciona importação `static com.msm.themes.util.Util.isOnlineV1`.
    - Adiciona importação `android.app.ProgressDialog`.
    - Adiciona importação `static br.com.msm.librarydatabaseunidadepmam.util.Util.Progress`.
    - Adiciona campo `pg` do tipo `MaterialDialog`.
    - Inicializa `pg` no método `onCreate`.
    - Modifica os listeners dos botões `button` e `button2` para usar lambdas.
    - Modifica o listener do botão `btn_start` para usar lambda.
    - No método `starAlertInforAtualizar`:
        - Adiciona verificação `if (isOnlineV1(this))`.
        - Mostra e esconde o `MaterialDialog` `pg` durante a chamada ao `updateUnidadesPMAM.with(MainActivity.this).start`.
- Modifica `librarydatabaseunidadepmam/src/main/java/br/com/msm/librarydatabaseunidadepmam/WebServiceApp.java`:
    - Remove importações não utilizadas (`com.afollestad.materialdialogs.MaterialDialog`, `java.text.NumberFormat`).
    - Adiciona importação `br.com.msm.librarydatabaseunidadepmam.interfaces.iLotacao`.
    - Renomeia o método `getAllOpms` para `updateOPms`.
    - No método `updateOPms` (anteriormente `getAllOpms`):
        - Altera o tipo do `CompletableFuture` para `CompletableFuture<List<lotacoesVO>>`.
        - Modifica a lógica de processamento para tratar uma lista de `lotacoesVO` em vez de objetos `lotacoesVO` individuais.
        - Passa `r.getItem_count()` como parâmetro para `getAllOpms` em vez de `r.getTotalPager()`.
    - Adiciona novo método `getAndUpdate` que possui lógica similar ao `updateOPms`, mas utiliza a interface `iLotacao` para retornar o resultado.
    - Modifica o método `getAllOpms` (privado):
        - Altera o tipo de retorno para `CompletableFuture<List<lotacoesVO>>`.
        - Altera o tipo do parâmetro `itemCount` para `String`.
        - Modifica o `setBodyParameter("listPerPage", ...)` para usar o `itemCount` (String).
        - No callback do Ion, chama `processaDados(result)` e completa o `singlePageFuture` com a lista retornada.
    - Modifica o método `processaDados`:
        - Altera o tipo de retorno para `List<lotacoesVO>`.
        - Inicializa uma `ArrayList<lotacoesVO>` chamada `opms`.
        - Itera sobre o `JsonArray jsa1` e para cada elemento:
            - Processa os dados e cria um objeto `lotacoesVO`.
            - Adiciona o objeto `lotacao` à lista `opms`.
        - Retorna a lista `opms`.