package Ġcom . ab ob ack . wan android jet pack . find . view model Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . ab ob ack . base . rv . Quick Adapter Ċ import Ġcom . ab ob ack . base . util . false ly Ċ import Ġcom . ab ob ack . base . util . true ly Ċ import Ġcom . ab ob ack . base . view model . Base Repository ViewModel Ċ import Ġcom . ab ob ack . wan android jet pack . R Ċ import Ġcom . ab ob ack . wan android jet pack . bean . Item Datas Bean Ċ import Ġcom . ab ob ack . wan android jet pack . find . Find Content Nav i Repository Ċ import Ġcom . ab ob ack . wan android jet pack . rv . RecyclerView VM Ċ import Ġcom . ab ob ack . wan android jet pack . util . launch Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġj hb Ġon Ġ 2 0 2 0 - 1 1 - 0 6 . Ċ Ġ* Ġ ä½ĵ ç³» åĴĮ å¯¼èĪª Ċ Ġ*/ Ċ class ĠFind Content Nav i VM ( app : ĠApplication ) Ġ: ĠBase Repository ViewModel < Find Content Nav i Repository >( app , ĠFind Content Nav i Repository ()) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Data Left Ġ= Ġarray ListOf < Item Find Content Tree And Nav i Left VM >() ĊĠĠĠ Ġprivate Ġval Ġm Adapter Left Ġ= ĠQuick Adapter ( R . layout . item _ rv _ find _ content _ tree _ and _ nav i _ left , Ġm Data Left ) ĊĊĠĠĠ Ġprivate Ġvar Ġm Data Right Ġ= Ġarray ListOf < Item Find Content Tree And Nav i Right VM >() ĊĠĠĠ Ġprivate Ġval Ġm Adapter Right Ġ= ĠQuick Adapter ( R . layout . item _ rv _ find _ content _ tree _ and _ nav i _ right , Ġm Data Right ) ĊĊĠĠĠ Ġprivate Ġval Ġm Nav i Map Ġ= Ġhash Map Of < Int ?, ĠList < Item Datas Bean > ?> () ĊĊĠĠĠ Ġvar Ġis Request Success Ġ= Ġfalse ĊĊĠĠĠ Ġvar Ġrv VM Left Ġ= ĠRecyclerView VM ( app ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter Observable . set ( m Adapter Left ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġrv VM Right Ġ= ĠRecyclerView VM ( app ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter Observable . set ( m Adapter Right ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġrequest Server () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav i List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġnav i List () Ġ{ ĊĠĠĠĠĠĠĠ Ġis Request Success Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġm Repo . nav i List (). data ?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Nav i Map [ it . cid ] Ġ= Ġit . articles ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Data Left . add ( Item Find Content Tree And Nav i Left VM ( getApplication ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Content . set ( it . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Cid Ġ= Ġit . cid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Item Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Checked . get (). false ly ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Data Left . find Ġ{ Ġit . m Checked . get (). true ly () Ġ} ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Checked . set ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Checked . set ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Nav i Articles ( m Cid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġleft VM Ġ= Ġm Data Left [ 0 ] ĊĠĠĠĠĠĠĠ Ġleft VM . m Checked . set ( true ) ĊĠĠĠĠĠĠĠ Ġget Nav i Articles ( left VM . m Cid ) ĊĠĠĠĠĠĠĠ Ġm Adapter Left . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Nav i Articles ( cid : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Data Right . clear () ĊĠĠĠĠĠĠĠ Ġm Nav i Map [ cid ]?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Data Right . add ( Item Find Content Tree And Nav i Right VM ( getApplication (), Ġtrue ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Content . set ( it . title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Cid Ġ= Ġit . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Link Ġ= Ġit . link ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Adapter Right . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊ Ċ }