package Ġcom . om ens . weather . db Ċ Ċ import Ġcom . couch base . lite . C ouch base Lite Exception Ċ import Ġcom . couch base . lite . Mutable Document Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . om ens . weather . db . Data Interface . User Actions Listener Ċ import Ġcom . om ens . weather . model . List Weather City Response Ċ import Ġjava . util . HashMap Ċ Ċ class ĠData Setter And Getter ( private Ġval Ġdata From DB : ĠData Interface . View ) Ġ: ĊĠĠĠ ĠUser Actions Listener Ġ{ ĊĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠ Ġvar Ġoutput List Ġ: ĠList Weather City Response ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun Ġfetch Data Form DB () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= ĠDatabase Manager . database ĊĠĠĠĠĠĠĠ Ġval Ġdoc Id Ġ= ĠDatabase Manager . shared Instance !!. current Doc Id ĊĠĠĠĠĠĠĠ Ġif Ġ( database Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata : ĠMutable Map < String , ĠAny ?> Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata [" document "] Ġ= ĠDatabase Manager . shared Instance !!. current Doc ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġdatabase . getDocument ( doc Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( document Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput List Ġ= Ġgson . fromJson ( document . getString (" weather List "), ĠList Weather City Response :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata From DB . setData ( output List ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun Ġsave DataTo Db ( data : ĠMutable Map < String , ĠAny >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= ĠDatabase Manager . database ĊĠĠĠĠĠĠĠ Ġval Ġdoc Id Ġ= ĠDatabase Manager . shared Instance !!. current Doc Id ĊĠĠĠĠĠĠĠ Ġval Ġmutable Document Ġ= ĠMutable Document ( doc Id , Ġdata ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase !!. save ( mutable Document ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠCouch base Lite Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }