You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[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`.