package Ġcom . over easy . simp let odo Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġio . reactivex . subjects . Publish Subject Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . over easy . simp let odo . model . ToDo Ċ import Ġcom . over easy . simp let odo . model . ToDo Dao Ċ import Ġcom . over easy . simp let odo . model . ToDo Database Ċ Ċ class ĠViewModel ( application : ĠApplication ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġvar Ġto Do List Ġ= ĠArrayList < ToDo >() ĊĠĠĠ Ġvar Ġto Do LiveData : ĠMutable LiveData < ArrayList < ToDo >> Ġ= ĠMutable LiveData < ArrayList < ToDo >>() ĊĠĠĠ Ġvar Ġpublish Subject Ġ= ĠPublish Subject . create < String >() ĊĠĠĠ Ġvar Ġto Do Dao : ĠTo Do Dao Ġ= ĠTo Do Database . getInstance ( application ) !!. to Do Dao () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠReceive Ġwhat Ġwas Ġtyped Ġin Ġthe Ġedit Text Ġof Ġthe Ġactivity ĊĠĠĠĠĠĠĠ Ġ// Ġìķ ¡ íĭ° ë¹Ħ íĭ° ìĹĲìĦľ Ġedit Text ìĹĲ Ġìŀħëł¥ ëĲľ Ġê± ¸ ĠìłĦ ëĭ ¬ Ġë°Ľ ìĿĮ ĊĠĠĠĠĠĠĠ Ġpublish Subject . subscribe Ġ{ Ġsomething Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġto Do Ġ= ĠTo Do ( something ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do . id Ġ= Ġto Do Dao . insert ( to Do ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List . add ( to Do ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠFactory ( private Ġval Ġapplication : ĠApplication ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewModel ( application ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĠDB Ġis Ġnot Ġempty ĊĠĠĠĠĠĠĠ Ġ// ĠDB ê°Ģ Ġë¹Ħ ìĸ´ ìŀ Ī ì§Ģ ĠìķĬ ìĿĦ ĠëķĮ ĊĠĠĠĠĠĠĠ Ġif Ġ( to Do Dao . getAll (). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List . addAll ( to Do Dao . getAll ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġto Do List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( to Do List [ i ]. date Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List [ i ]. day Ġ= Ġ( G regorian Calendar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . YEAR ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . MONTH ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . DAY _ OF _ MONTH )). time In Millis Ġ- Ġto Do List [ i ]. date !!. time In Millis ) Ġ/ Ġ 8 6 4 0 0 0 0 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġthe Ġtime Ġis Ġnot Ġset Ġto Ġ 0 0 : 0 0 , ĠD - Day Ġis Ġtw isted Ġdue Ġto Ġrounding Ġwhen Ġdiv iding Ġby Ġ 8 6 4 0 0 0 0 0 Ġafter Ġcalculating Ġtime In Millis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSo Ġuse ĠG regorian Calendar ( year , Ġmonth , Ġday ) Ġformat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġìĭľê°Ħ ìĿĦ Ġ 0 ìĭľ Ġ 0 ë¶Ħ ìľ¼ë¡ľ ĠìĦ¤ìłķ íķĺì§Ģ ĠìķĬ ìľ¼ ë©´ Ġtime In Millis Ġê³Ħ ìĤ° ĠíĽĦ Ġ 8 6 4 0 0 0 0 0 ìľ¼ë¡ľ ĠëĤĺ ë Ī Į ĠëķĮ Ġë°ĺ ìĺ ¬ ë¦ ¼ ĠëķĮë¬¸ìĹĲ ĠìĪ « ìŀĲ ê°Ģ ĠìĿ´ ìĥģ íķ´ ì§Ħ ëĭ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġê·¸ ëŀĺ ìĦľ ĠG regorian Calendar ( year , Ġmonth , Ġday ) Ġíĺķ ìĭĿ ìĿĦ ĠìĤ¬ìļ© ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfinish Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ(! finish ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġto Do List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( to Do List [ i ]. date Ġ!= Ġnull Ġ&& Ġto Do List [ i ]. day !! Ġ> Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Dao . delete ( to Do List [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List . remove At ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdelete Ġë Ĵ ¤ Ġbreak íķĺë©´ Ġsize ëĬĶ Ġ 1 Ġì¤ Ħ ìĸ´ ëĵł ëĭ¤ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( to Do List . size Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġloop Ġis Ġterminated Ġwhen Ġthe Ġobject Ġcreated Ġat Ġthe Ġfirst Ġrun Ġof Ġthe Ġapp Ġis Ġcleared Ġafter ĠD - Day ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġìķ ± Ġì² « Ġìĭ¤íĸī Ġìĭľ ĠìĥĿìĦ± ëĲĺëĬĶ Ġê°Ŀì²´ ê°Ģ ĠD - Day ë¥¼ ĠëĦ ĺ ê² ¨ Ġì§Ģ ìĽĮ ì§Ģ ë©´ Ġë°ĺ ë³µ ë¬¸ ìĿĦ Ġì¢ ħ ë£Į íķľëĭ¤ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWhen Ġthe Ġpreceding Ġfor Ġstatement Ġsatisfies Ġthe Ġcondition , Ġthe Ġsize Ġis Ġreduced Ġby Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìĦł íĸī Ġfor ë¬¸ ìĿ´ Ġì¡° ê± ´ ìĿĦ Ġë§Į ì ¡ ± íĸĪ ìĿĦ ĠëķĮ Ġsize ëĬĶ Ġ 1 Ġì¤ Ħ ìĸ´ ëĵł Ġìĥģíĥľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġto Do List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( to Do List [ i ]. date Ġ!= Ġnull Ġ&& Ġto Do List [ i ]. day Ġ!! Ġ> Ġ 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== Ġto Do List . size Ġ- Ġ 1 Ġ&& Ġ( to Do List [ i ]. date Ġ== Ġnull Ġ|| Ġ( to Do List [ i ]. date Ġ!= Ġnull Ġ&& Ġto Do List [ i ]. day !! Ġ<= Ġ 0 L ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġall Ġnon - null Ġdates Ġin Ġto Do List Ġare Ġ 0 L Ġor Ġless ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWhen Ġopening Ġthe Ġdialog Ġafter Ġdrag Ġand Ġdrop ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠObject Ġat Ġthe Ġlocation Ġbefore Ġmoving Ġis Ġread , Ġnot Ġthe Ġobject Ġto Ġbe Ġopened ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġto Do List ĠëĤ ´ë ¶ Ģ ìĹĲ ĠìŀĪëĬĶ Ġnull ìĿ´ ĠìķĦ ëĭ Į Ġëª¨ëĵł Ġdate ê°Ģ Ġ 0 L ĠìĿ´ íķĺ ëĿ¼ ë©´ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġëĵ ľ ëŀĺ ê·¸ Ġìķ ¤ Ġëĵ ľ ëŀ į ìľ¼ë¡ľ Ġìĺ ® ê¸° ê³ł ĠëĤĺ ìĦľ Ġëĭ¤ ìĿ´ ìĸ ¼ ë¡ľ ê·¸ ë¥¼ ĠìĹ ´ ĠëķĮ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìĹ ´ë ł ¤ ëĬĶ Ġê°Ŀì²´ ê°Ģ ĠìķĦ ëĭ Į Ġìĺ ® ê¸° ê¸° ĠìłĦ ìĿĺ ĠìľĦ ì¹ĺ ìĹĲ ĠìŀĪëĬĶ ĠTo Do ê°Ģ ĠìĿ ½ íĺ Ģ ìĺ ¨ ëĭ¤ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġfirst Ġtime Ġrun Ġthe Ġapp ĊĠĠĠĠĠĠĠ Ġ// Ġìķ ± ìĿĦ Ġì² ĺ ìĿĮ Ġìĭ¤íĸī íķł ĠëķĮ ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List . add ( ToDo (" ToDo ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List [ 0 ]. date Ġ= ĠG regorian Calendar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . YEAR ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . MONTH ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . DAY _ OF _ MONTH )) Ġ// Ġëĭ ¹ ìĿ¼ Ġ 0 0 ìĭľ Ġ 0 0 ë¶Ħ ìľ¼ë¡ľ ĠìĦ¤ìłķ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List [ 0 ]. day Ġ= Ġ 0 L ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Dao . insert ( to Do List [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Do LiveData . value Ġ= Ġto Do List ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠDelete Ġobject Ġof ĠDB Ġand ĠViewModel Ġinternal Ġlist ĊĠĠĠ Ġ// ĠDB ìĻĢ Ġë · ° ëª¨ ëį¸ ĠëĤ ´ë ¶ Ģ Ġë¦¬ ìĬ¤íĬ¸ ìĹĲìĦľ Ġê°Ŀì²´ ĠìĤ Ń ìłľ ĊĠĠĠ Ġfun Ġdelete ToDo ( to Do : ĠTo Do ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġto Do List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( to Do List [ i ]. id Ġ== Ġto Do . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List . remove At ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAs Ġsoon Ġas Ġremove At () Ġis Ġexecuted , Ġthe Ġsize Ġof Ġto Do List Ġis Ġreduced Ġby Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSo Ġthe Ġerror Ġsays Ġthat Ġthe Ġsize Ġis Ġnot Ġcorrect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġremove At () ìĿĦ Ġìĭ¤íĸī íķľ Ġì ¦ ī ìĭľ Ġto Do List ìĿĺ ĠìĤ¬ ìĿ´ ì¦ Ī ê°Ģ Ġ 1 Ġì¤ Ħ ìĸ´ ëĵł ëĭ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġê·¸ ëŀĺ ìĦľ ĠìĹĲ ëŁ¬ ìĹ Ķ ĠìĤ¬ ìĿ´ ì¦ Ī ê°Ģ ĠìķĪ Ġë§ ŀ ëĬĶ ëĭ¤ ê³ł ĠëĤĺ ìĺ ¨ ëĭ¤ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġto Do Dao . delete ( to Do ) ĊĠĠĠĠĠĠĠ Ġto Do LiveData . value Ġ= Ġto Do List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠUpdate Ġobject Ġof ĠDB Ġand ĠViewModel Ġinternal Ġlist ĊĠĠĠ Ġ// ĠDB ìĻĢ Ġë · ° ëª¨ ëį¸ ĠëĤ ´ë ¶ Ģ Ġë¦¬ ìĬ¤íĬ¸ ìĿĺ Ġê°Ŀì²´ ĠìĹħ ë į°ìĿ´ íĬ¸ ĊĠĠĠ Ġfun Ġupdate ToDo ( to Do : ĠTo Do ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġto Do List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( to Do List [ i ]. id Ġ== Ġto Do . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List [ i ] Ġ= Ġto Do ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do List [ i ]. day Ġ= Ġif Ġ( to Do . date Ġ!= Ġnull ) Ġ( G regorian Calendar ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . YEAR ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . MONTH ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG regorian Calendar (). get ( Calendar . DAY _ OF _ MONTH )). time In Millis Ġ- Ġto Do . date !!. time In Millis ) Ġ/ Ġ 8 6 4 0 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġto Do Dao . update ( to Do ) ĊĊĠĠĠĠĠĠĠ Ġto Do LiveData . value Ġ= Ġto Do List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠDB Ġand Ġlist Ġupdate Ġafter Ġdrag Ġand Ġdrop ĊĠĠĠ Ġ// Ġëĵ ľ ëŀĺ ê·¸ Ġìķ ¤ Ġëĵ ľ ëŀ į ĠíĽĦ ĠDB ìĻĢ Ġë¦¬ ìĬ¤íĬ¸ ĠìĹħ ë į°ìĿ´ íĬ¸ ĊĠĠĠ Ġfun Ġmoved Items Update ( before Position : ĠInt , Ġafter Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( before Position Ġ< Ġafter Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġbefore Position Ġuntil Ġafter Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . swap ( to Do List , Ġi , Ġi Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Swap ( i , Ġi Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Dao . update ( to Do List [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Dao . update ( to Do List [ i Ġ+ Ġ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġbefore Position Ġdown To Ġafter Position Ġ+ Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . swap ( to Do List , Ġi , Ġi Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Swap ( i , Ġi Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Dao . update ( to Do List [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Do Dao . update ( to Do List [ i Ġ- Ġ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠPosition Ġchange Ġfunction Ġused Ġwhen Ġdo Ġdrag Ġand Ġdrop ĊĠĠĠ Ġ// Ġëĵ ľ ëŀĺ ê·¸ Ġìķ ¤ Ġëĵ ľ ëŀ į Ġìĭľ ĠìĤ¬ìļ© ëĲĺëĬĶ ĠìľĦ ì¹ĺ Ġë³Ģê²½ Ġë©Ķ ìĨĮ ëĵľ ĊĠĠĠ Ġprivate Ġfun Ġto Do Swap ( num 1 : ĠInt , Ġnum 2 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemp Something Ġ= Ġto Do List [ num 1 ]. something ĊĠĠĠĠĠĠĠ Ġval Ġtemp Date Ġ= Ġif Ġ( to Do List [ num 1 ]. date Ġ== Ġnull ) Ġnull Ġelse Ġto Do List [ num 1 ]. date ĊĠĠĠĠĠĠĠ Ġval Ġtemp Day Ġ= Ġif Ġ( to Do List [ num 1 ]. day Ġ== Ġnull ) Ġnull Ġelse Ġto Do List [ num 1 ]. day ĊĠĠĠĠĠĠĠ Ġto Do List [ num 1 ]. something Ġ= Ġto Do List [ num 2 ]. something ĊĠĠĠĠĠĠĠ Ġto Do List [ num 1 ]. date Ġ= Ġto Do List [ num 2 ]. date ĊĠĠĠĠĠĠĠ Ġto Do List [ num 1 ]. day Ġ= Ġto Do List [ num 2 ]. day ĊĠĠĠĠĠĠĠ Ġto Do List [ num 2 ]. something Ġ= Ġtemp Something ĊĠĠĠĠĠĠĠ Ġto Do List [ num 2 ]. date Ġ= Ġtemp Date ĊĠĠĠĠĠĠĠ Ġto Do List [ num 2 ]. day Ġ= Ġtemp Day ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠFor Ġlog Ġchecking ĊĠĠĠ Ġ// Ġë¡ľ ê·¸ ĠíĻķìĿ¸ ìļ© ĊĠĠĠ Ġprivate Ġfun Ġprintln ( data : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d (" ViewModel ", Ġdata ) ĊĠĠĠ Ġ} Ċ }