package Ġcom . s ami u . wang ank . ui . mine . personal Ċ Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper Ċ import Ġcom . af ol le st ad . material dialogs . Material Dialog Ċ import Ġcom . af ol le st ad . material dialogs . lifecycle . lifecycle Owner Ċ import Ġcom . s ami u . base . ui . Base Activity Ċ import Ġcom . s ami u . base . ui . view Binding Ċ import Ġcom . s ami u . wang ank . R Ċ import Ġcom . s ami u . wang ank . databinding . Activity Wan Personal Binding Ċ import Ġcom . s ami u . wang ank . global . USER _ NAME Ċ import Ġcom . s ami u . wang ank . ui . home . adapter . Article Listener Impl Ċ import Ġcom . s ami u . wang ank . ui . home . adapter . Re bounding Swipe Action Callback Ċ import Ġcom . s ami u . wang ank . ui . home . adapter . Wan Article Adapter Ċ import Ġcom . s ami u . wang ank . util . Preference Ċ import Ġcom . s ami u . wang ank . util . draw Shape Ċ import Ġkotlinx . coroutines . flow . collect Latest Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ /** Ċ Ġ* Ġ ä¸ªäºº ä¸Ńå¿ĥ é¡µéĿ¢ Ċ Ġ* Ċ Ġ* Ġ@ author ĠS ami u Ġ 2 0 2 0 / 5 / 1 6 Ċ Ġ* Ġ@ email Ġs ami u zh ong @ outlook . com Ċ Ġ*/ Ċ class ĠW an Personal Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbinding Ġby Ġview Binding ( Activity Wan Personal Binding :: inflate ) ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠW an Personal ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġoverride Ġfun Ġget Binding Root () Ġ= Ġbinding . root ĊĊĠĠĠ Ġprivate Ġval ĠuserName : ĠString Ġby ĠPreference ( USER _ NAME , Ġ"") ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Adapter : ĠW an Article Adapter ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . toolbar . set Navigation OnClickListener Ġ{ Ġfinish () Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . nickname . text Ġ= ĠuserName ĊĠĠĠĠĠĠĠ Ġinit Adapter () ĊĠĠĠĠĠĠĠ Ġset Logout () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch When Created Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . article Paging List . collect Latest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . submit Data ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter Ġ= ĠW an Article Adapter ( Article Listener Impl ( this )) ĊĠĠĠĠĠĠĠ Ġbinding . recycler . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Touch Helper Ġ= ĠItem Touch Helper ( Re bounding Swipe Action Callback ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Touch Helper . attach To RecyclerView ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġm Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġset Logout () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . log Out Btn . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= Ġdraw Shape ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Wan Personal Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . dim en . corner _ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . reply _ blue _ 7 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Dialog ( this @ Wan Personal Activity ). show Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage ( R . string . confirm _ log _ out ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpositive Button ( R . string . confirm ) Ġ{ Ġlogout () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnegative Button ( R . string . cancel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Owner ( this @ Wan Personal Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlogout () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . logout () ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ }