When removing a source from MediatorLiveData, does the associated Observer get removed as well?
private final MediatorLiveData<Model> liveModel = new MediatorLiveData<>();
private LiveData<ModelEntity> liveData = repository.getModelEntity();
liveModel.addSource(liveData , new Observer<ModelEntity>() {
@Override
public void onChanged(ModelEntity modelEntity) {}
});
liveModel.removeSource(liveData);
Yes, when you call
removeSource
the Observer callback is removed.Internally it calls:
You can check the line here,
unplug()
function is called fromremoveSource