diff --git a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java index 99dd9c186f13aae11417401ab57453be6108c3aa..e03bac3b6c8a4e35abbf6b9caa97fb9a5f1cd109 100644 --- a/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java +++ b/app/src/main/java/com/mindorks/framework/mvvm/ui/base/BaseViewModel.java @@ -22,6 +22,8 @@ import android.databinding.ObservableBoolean; import com.mindorks.framework.mvvm.data.DataManager; import com.mindorks.framework.mvvm.utils.rx.SchedulerProvider; +import java.lang.ref.WeakReference; + import io.reactivex.disposables.CompositeDisposable; /** @@ -38,7 +40,7 @@ public abstract class BaseViewModel extends ViewModel { private CompositeDisposable mCompositeDisposable; - private N mNavigator; + private WeakReference mNavigator; public BaseViewModel(DataManager dataManager, SchedulerProvider schedulerProvider) { @@ -70,11 +72,11 @@ public abstract class BaseViewModel extends ViewModel { } public N getNavigator() { - return mNavigator; + return mNavigator.get(); } public void setNavigator(N navigator) { - this.mNavigator = navigator; + this.mNavigator = new WeakReference<>(navigator); } public SchedulerProvider getSchedulerProvider() {