Skip to content

Instantly share code, notes, and snippets.

@Zhuinden
Last active March 4, 2018 15:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zhuinden/7785509b6b858ed81663d79e09e9ce40 to your computer and use it in GitHub Desktop.
Save Zhuinden/7785509b6b858ed81663d79e09e9ce40 to your computer and use it in GitHub Desktop.
MVVM sample: TaskDetailViewModel
// UNSCOPED
public class TaskDetailViewModel
extends SingleTaskViewModel {
private final Backstack backstack;
private final MessageQueue messageQueue;
@Inject
TaskDetailViewModel(Context context, TasksRepository tasksRepository,
Backstack backstack, MessageQueue messageQueue) {
super(context, tasksRepository);
this.backstack = backstack;
this.messageQueue = messageQueue;
}
public void startEditTask() {
backstack.goTo(AddEditTaskKey.create(getTaskId())); // navigate to
}
public void deleteTask() {
super.deleteTask();
messageQueue.pushMessageTo(TasksKey.create(), new TasksViewModel.DeletedTaskMessage());
backstack.setHistory(History.single(TasksKey.create()), StateChange.BACKWARD); // navigate back
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment