package Ġth om cz . kot lint odo . view model Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . arch . lifecycle . Android ViewModel Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġandroid . os . AsyncTask Ċ import Ġth om cz . kot lint odo . data . App Database Ċ import Ġth om cz . kot lint odo . data . Item Ċ Ċ /** Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 Ċ Ġ* ĠCreated Ġby ĠThomas ĠC z og al ik Ġon Ġ 0 5 . 1 0 . 2 0 1 7 Ċ Ġ*/ Ċ Ċ class ĠTodo Add ViewModel ( application : ĠApplication ?) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġapp Database Ġ: ĠApp Database ? Ġ= ĠApp Database . get Database ( getApplication ()) ĊĠĠĠ Ġprivate Ġvar Ġitems Ġ: ĠLive Data < List < Item >> ? ĊĊĠĠĠ Ġfun Ġadd Item ( item Ġ: ĠItem ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAdd AsyncTask ( app Database ). execute ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠAdd AsyncTask Ġ( private Ġval Ġapp Database : ĠApp Database ?) Ġ: ĠAsync Task < Item , ĠVoid , ĠVoid >() Ġ Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġp 0 : ĠItem ?): ĠVoid ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Model Ġ= Ġapp Database ?. item Model () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Model ?. addItem ( p 0 [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġitems Ġ= Ġapp Database ?. item Model ()?. getAll Items () ĊĠĠĠ Ġ} Ċ }