package Ġcom . l kl . demo . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Message Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġcom . l kl . demo . R Ċ import Ġcom . l kl . demo . adapter . Picture Adapter Ċ import Ġcom . l kl . demo . base . Base Activity Ċ import Ġcom . l kl . demo . entity . Picture Entity Ċ import Ġcom . l kl . demo . listener . Picture Listener Ċ import Ġcom . l kl . demo . presenter . Picture Presenter Impl Ċ import Ġkotlinx . android . synt hetic . main . activity _ picture .* Ċ Ċ class ĠPicture Activity Ġ: ĠBase Activity (), ĠPicture Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm List : ĠMutable List < Picture Entity > Ġ= ĠArrayList () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Adapter : ĠPicture Adapter ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpresenter Impl : ĠPicture Presenter Impl ĊĊĠĠĠ Ġoverride Ġfun Ġpre Init View () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ picture ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter Impl Ġ= ĠPicture Presenter Impl ( this ) Ċ Ċ // ĠĠĠĠĠĠĠ ĠThread ( Runnable Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcontent Resolver . query ( Media Store . Images . Media . EXTERNAL _ CONTENT _ URI , Ġnull , Ġnull , Ġnull , Ġnull ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġm List Ġ= Ġpresenter Impl . getP ictures ( cursor ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= ĠMessage . obtain () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġmsg . arg 1 Ġ= Ġ 1 Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġhandle . sendMessage ( msg ) Ċ // ĠĠĠĠĠĠĠ Ġ}). start () ĊĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcontent Resolver . query ( Media Store . Images . Media . EXTERNAL _ CONTENT _ URI , Ġnull , Ġnull , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ Ġm List Ġ= Ġpresenter Impl . getP ictures ( cursor ) ĊĠĠĠĠĠĠĠ Ġm Adapter Ġ= ĠPicture Adapter ( this , Ġm List ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġm Adapter ĊĊ Ċ // ĠĠĠĠĠĠĠ Ġasync Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcontent Resolver . query ( Media Store . Images . Media . EXTERNAL _ CONTENT _ URI , Ġnull , Ġnull , Ġnull , Ġnull ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlist Items Ġ= Ġpresenter Impl . getP ictures ( cursor ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= ĠPicture Adapter ( this @ Bul b Activity , Ġlist Items ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this @ Bul b Activity ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Event ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View Listener () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Picture From B umb () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġhandle Ġ= Ġobject Ġ: ĠHandler () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Message ( msg : ĠMessage ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( msg ?. arg 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġm Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }