View Model sigue creando instancias de Live Data

Creé la instancia de View Model enonCreate método de una actividad.

    ticketViewModel = ViewModelProviders.of(this).get(TicketViewModel.class);

Entonces tengo un método,AddTicket, que usaviewModel para acceder a un servicio y en respuesta deviewModel rechazo la carga de animación.

 public void addTicket(View view){

     ticketViewModel.AddTicket(id).observe(this, response ->{
                        dismissLoadingAnimation();
    } 

Ahora, después de agregar un ticket, el usuario puede reprimir elAdd Ticket y eladdTicket()e llamará nuevamente al método @.

Pero esta vezobserver definido en ViewModel se llama 2 veces, lo que resulta en 2 llamadas de red y 2dismissLoadingAnimation ejecución.

Y si sigo presionandoaddTicket, el número de observadores en ejecución definidos dentro deViewModel mantener aumentos.

Este es mi código de Ver modelo.

public class TicketViewModel extends AndroidViewModel implements IServiceResponse {

    MutableLiveData<String> mObservableResponse = new MutableLiveData<String>();


    public MutableLiveData AddTicket(String id){

        JsonObject jsonObject= new JsonObject();
        jsonObject.addProperty("id",  id);

        NetworkUtility networkUtility= new NetworkUtility(this, ADD_TICKET);
        networkUtility.hitService(URL, jsonObject, RequestMethods.POST);

        return mObservableResponse;
    }


     @Override
        public void onServiceResponse(String response, String callType){

        if(serviceTag.equalsIgnoreCase(ADD_TICKET)){    
             mObservableResponse.setValue("success");
        }
    }

}

Respuestas a la pregunta(5)

Su respuesta a la pregunta