Skip to content

Instantly share code, notes, and snippets.

@manijshrestha
Created June 3, 2017 05:03
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 manijshrestha/c34f4dca72b8ce34d64b7c6f79ad53f3 to your computer and use it in GitHub Desktop.
Save manijshrestha/c34f4dca72b8ce34d64b7c6f79ad53f3 to your computer and use it in GitHub Desktop.
class ToDoPresenter @Inject constructor(val taskDao: TaskDao) {
var tasks = ArrayList<Task>()
var presentation: ToDoPresentation? = null
fun onCreate(toDoPresentation: ToDoPresentation) {
presentation = toDoPresentation
loadTasks()
}
fun onDestroy() {
presentation = null
}
fun loadTasks() {
tasks.clear()
tasks.addAll(taskDao.getAllTasks())
presentation?.showTasks(tasks)
}
fun addNewTask(taskDescription: String) {
val newTask = Task(description = taskDescription)
tasks.add(newTask)
taskDao.insertTask(newTask)
(tasks.size - 1).let {
presentation?.taskAddedAt(it)
presentation?.scrollTo(it)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment