package Ġcom . l wt . q mq iu . activity ĊĊĊĊ Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . google . android . material . tabs . Tab Layout Ċ import Ġcom . l wt . q mq iu . App Ċ import Ġcom . l wt . q mq iu . R Ċ import Ġcom . l wt . q mq iu . adapter . Chat Ad at pt er Ċ import Ġcom . l wt . q mq iu . adapter . Gift Show Adapter Ċ import Ġcom . l wt . q mq iu . bean . Gift Info Ċ import Ġcom . l wt . q mq iu . fragment . Gift List Fragment Ċ import Ġcom . l wt . q mq iu . widget . Bar View Ċ import Ġcom . or h ano but . logger . Logger Ċ import Ġkotlinx . android . synt hetic . main . activity _ gift info .* ĊĊĊ Ċ class ĠG ift Info Activity Ġ: ĠBase Activity (), Bar View . Bar OnClickListener , ĠG ift Show Adapter . Gift Click Listen , ĠTab Layout . On Tab Selected Listener { ĊĊĊĊĠĠĠ Ġprivate Ġvar Ġm Tabs Ġ= ĠlistOf < String >(" æĶ¶ åħ¥ ", Ġ" æĶ¯ åĩº "," åħ ĳ æį¢ "). to Mutable List () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Fragments : ĠArrayList < android x . fragment . app . Fragment > ĊĊĠĠĠ Ġ// 1 æĶ¶ åħ¥ Ġ Ġ äºĮ æĺ¯ æĶ¯ åĩº ĊĠĠĠ Ġprivate Ġval ĠSTR ATE GY Ġ= ĠarrayOf ( 1 , 2 , 3 )// æİ¥åı£ è·¯ å¾ ĳ è·¯çĶ± ĊĊĊĊĠĠĠ Ġprivate Ġ Ġvar Ġm Gift InfoList Ġ= ĠArrayList < Gift Info >() ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Gift Show Adapter : Gift Show Adapter ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ gift info ) ĊĊĠĠĠĠĠĠĠ Ġgift info _ bar view . set Bar OnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġgift info _ bar view . change Title ( getString ( R . string . gift _ info )) ĊĊĠĠĠĠĠĠĠ Ġinit Re cycle View () ĊĊĠĠĠĠĠĠĠ Ġvar Ġlocal User = ĠApp . instance App (). getLocal User () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( local User != null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Gift ( local User . gift ) ĊĊĠĠĠĠĠĠĠ Ġinit Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Re cycle View () Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġval Ġlinear LayoutManager Ġ= Ġobject Ġ: Ġandroidx . recyclerview . widget . Linear LayoutManager ( this , Ġandroidx . recyclerview . widget . Linear LayoutManager . HORIZONTAL , false ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcan Scroll Vert ically (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcan Scroll H orizontally (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġre cycle view _ gift . layout Manager = linear LayoutManager ĊĊĠĠĠĠĠĠĠ Ġm Gift Show Adapter = ĠG ift Show Adapter ( this , m Gift InfoList , this , false ) ĊĊĠĠĠĠĠĠĠ Ġre cycle view _ gift . adapter Ġ= Ġm Gift Show Adapter ĊĊĠĠĠĠĠĠĠ Ġre cycle view _ gift . addItem Decoration ( object Ġ: Ġandroidx . recyclerview . widget . RecyclerView . Item Decoration () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Offsets ( out Rect : ĠRect , Ġview : ĠView , Ġparent : Ġandroidx . recyclerview . widget . RecyclerView , Ġstate : Ġandroidx . recyclerview . widget . RecyclerView . State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . top Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . bottom Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . left Ġ= Ġ 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . right Ġ= 1 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Gift ( gift : String ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġm Gift InfoList . clear () ĊĊĠĠĠĠĠĠĠ Ġvar Ġg ifts = Ġgift . split ("* ") ĊĊĠĠĠĠĠĠĠ Ġg ifts . forEach Indexed Ġ{ Ġindex , Ġs Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġgift Info Ġ= ĠG ift Info ( s . toInt ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( index ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 -> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . img Path Ġ= ĠR . mip map . ange l ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . s avg Path Ġ= Ġ" ange l . svg a " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . price Ġ= Ġ 1 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . img Path Ġ= ĠR . mip map . rose ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . s avg Path Ġ= Ġ" rose . svg a " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . price Ġ= Ġ 3 8 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . img Path Ġ= ĠR . mip map . pa oche ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . s avg Path Ġ= Ġ" pos che . svg a " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . price Ġ= Ġ 6 8 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . img Path Ġ= ĠR . mip map . king set ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . s avg Path Ġ= Ġ" king set . svg a " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Info . price Ġ= Ġ 8 8 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Gift InfoList . add ( gift Info ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Gift Show Adapter . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Fragment () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġin co om Fragment : ĠG ift List Fragment Ġ= ĠG ift List Fragment () ĊĠĠĠĠĠĠĠ Ġvar Ġin co om Bundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġin co om Bundle . put Int (" type ", STR ATE GY [ 0 ]) ĊĠĠĠĠĠĠĠ Ġin co om Fragment . arguments Ġ= Ġin co om Bundle ĊĊĊĠĠĠĠĠĠĠ Ġvar Ġpay Fragment : ĠG ift List Fragment Ġ= ĠG ift List Fragment () ĊĠĠĠĠĠĠĠ Ġvar Ġpay Bundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġpay Bundle . put Int (" type ", ĠSTR ATE GY [ 1 ]) ĊĠĠĠĠĠĠĠ Ġpay Fragment . arguments Ġ= Ġpay Bundle ĊĊĠĠĠĠĠĠĠ Ġvar Ġexchange Fragment : ĠG ift List Fragment Ġ= ĠG ift List Fragment () ĊĠĠĠĠĠĠĠ Ġvar Ġexchange Bundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġexchange Bundle . put Int (" type ", ĠSTR ATE GY [ 2 ]) ĊĠĠĠĠĠĠĠ Ġexchange Fragment . arguments Ġ= Ġexchange Bundle ĊĊĊĊĠĠĠĠĠĠĠ Ġm Fragments Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġm Fragments . add ( in co om Fragment Ġas Ġandroidx . fragment . app . Fragment ) ĊĠĠĠĠĠĠĠ Ġm Fragments . add ( pay Fragment Ġas Ġandroidx . fragment . app . Fragment ) ĊĠĠĠĠĠĠĠ Ġm Fragments . add ( exchange Fragment Ġas Ġandroidx . fragment . app . Fragment ) ĊĊĊĊĠĠĠĠĠĠĠ Ġvp _ content . adapter Ġ= ĠChat Ad at pt er ( support FragmentManager , Ġm Fragments , Ġm Tabs ) ĊĊĠĠĠĠĠĠĠ Ġtabs . setup With ViewPager ( vp _ content ) ĊĊĠĠĠĠĠĠĠ Ġtabs . add On Tab Selected Listener ( this ) ĊĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun Ġon Tab Re selected ( tab : ĠTab Layout . Tab ?) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Tab Un selected ( tab : ĠTab Layout . Tab ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Tab Selected ( tab : ĠTab Layout . Tab ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġgift Click ( gift : ĠG ift Info , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLogger . e ( gift . toString ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġbar View Click ( left : ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( left ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }