Caro professores, preciso de sua ajuda de vocês pois sou inexperiente e aqui é um lughar que tenho para solicitações. Estou construindo um app de compromisso entre profissional e usuario. Tudo corria bem com o filtro de conexão de internet. Quando esta caia não mudava na interface (profissional ativo ou não para ser chamado). Porém, após meus créditos na Claro acabarem a interface continua ativa, pois tem internet mas não comunica com o banco de dados. Dai tive que reformular o app para internet lentar ou sem internet e com conexão. Pasei a fazer um teste de internet no banco de dados para processar a ação de mudança no banco. Passei a determinar um tempo máximo de resposta (handler.postDelay) para cancelar a mudança. Corria tudo bem, mas quando a internet caia e voltava o chamado ao banco (via Firebase) era reativado após 15 a 20 s de internet normal (efeito retardado), porém já havia cancelado. Tentei várias maneiras de cancelar este retorno de chamada. Tentei este comando - scoresRef.keepSynced(false) - https://firebase.google.com/docs/database/android/offline-capabilities?hl=pt-br - e sem sucesso. Até que coloquei dentro de uma classe AsynkTask e cancelo a tarefa no tempo determinado. Mesmo assim a chamada retorna e preciso trabalhar o retorno dentro da Asynk para não completar e ocorrer a mudança no banco de forma retardada. Ou seja, a interface mudava após 15-20s de ter cancelado a chamada após a internet normalizar. Se me fiz entender, existe uma maneira mas fácil e eficiente de cancelar este retorno?
Obs.: passei 05hs para fazer isto. Por falta de experiência preciso de sua ajuda.