invoked by a task when its state changes so that we can update the view statistics and persist . concode_field_sep ListDataProvider<ToDoItem> filteredTodos concode_elem_sep ViewEventHandler viewHandler concode_elem_sep View view concode_elem_sep EventBus eventBus concode_elem_sep ToDoRouting routing concode_elem_sep List<ToDoItem> todos concode_elem_sep String STORAGE_KEY concode_field_sep void loadState concode_elem_sep void taskStateChanged concode_elem_sep void saveState concode_elem_sep void setDataProvider concode_elem_sep ToDoRouting parseRoutingToken concode_elem_sep String getTaskText concode_elem_sep void setTaskStatistics concode_elem_sep void addTask concode_elem_sep void addTask concode_elem_sep void addTask concode_elem_sep void setRouting concode_elem_sep void clearTaskText concode_elem_sep void updateTaskStatistics concode_elem_sep void clearCompletedTasks concode_elem_sep void clearCompletedTasks concode_elem_sep void clearCompletedTasks concode_elem_sep void updateFilteredList concode_elem_sep void addhandler concode_elem_sep void setupHistoryHandler concode_elem_sep void markAllCompleted concode_elem_sep void markAllCompleted concode_elem_sep void markAllCompleted concode_elem_sep void deleteTask
void function ( ToDoItem arg0 ) { arg0 . setTitle ( arg0 . getTitle ( ) . trim ( ) ) ; if ( arg0 . getTitle ( ) . isEmpty ( ) ) { todos . remove ( arg0 ) ; } taskStateChanged ( ) ; }