package Ġcom . trend y ol . u ic omp onent s Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . view . View Compat Ċ import Ġcom . trend y ol . u ic omp onent s . quantity picker view . Expansion State Ċ import Ġcom . trend y ol . u ic omp onent s . quantity picker view . Quantity Picker View Ċ import Ġcom . trend y ol . u ic omp onent s . quantity picker view . Quantity Picker ViewState Ċ import Ġkotlinx . android . synt hetic . main . activity _ quantity _ picker _ view .* Ċ Ċ class ĠQuantity Picker View Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ quantity _ picker _ view ) ĊĊĠĠĠĠĠĠĠ Ġval Ġview State Ġ= ĠQuantity Picker ViewState ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Fresh ĠMoney ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġas SP ( 1 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity Text Size Ġ= Ġas SP ( 1 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Drawable Ġ= Ġdrawable ( R . drawable . qp v _ shape _ default _ background ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Icon Drawable Ġ= Ġdrawable ( R . drawable . qp v _ ic _ default _ remove ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubtract Icon Drawable Ġ= Ġdrawable ( R . drawable . qp v _ ic _ default _ subtract ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Icon Drawable Ġ= Ġdrawable ( R . drawable . qp v _ ic _ default _ add ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity Background Drawable Ġ= Ġdrawable ( R . drawable . qp v _ shape _ default _ background ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġtheme Color ( R . attr . color Accent ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Tint Color Ġ= Ġtheme Color ( R . attr . color Accent ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity TextColor Ġ= Ġtheme Color ( R . attr . color Primary ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Horizontal Padding Ġ= Ġas DP ( 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Vertical Padding Ġ= Ġas DP ( 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Vertical Padding Ġ= Ġas DP ( 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity Background Vertical Padding Ġ= Ġas DP ( 6 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġquantity _ picker _ view _ 2 . set Quantity Picker ViewState ( view State ) ĊĊĠĠĠĠĠĠĠ Ġwith ( quantity _ picker _ view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Add Clicked Ġ= Ġ{ Ġnumber Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Add Ġclick : Ġ$ number ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Loading ( this , Ġincrement Ġ= Ġ+ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Subtract Clicked Ġ= Ġ{ Ġnumber Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Subtract / Remove Ġclick : Ġ$ number ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwith ( quantity _ picker _ view _ collapsed _ right ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Add Clicked Ġ= Ġ{ Ġnumber Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Add Ġclick : Ġ$ number ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Loading ( this , Ġincrement Ġ= Ġ+ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Subtract Clicked Ġ= Ġ{ Ġnumber Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Subtract / Remove Ġclick : Ġ$ number ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Loading ( this , Ġincrement Ġ= Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpansion Listener Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ"${ it . toString ()} Ġ${ it . expanded }", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbutton _ reset . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity _ picker _ view . reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity _ picker _ view _ 2 . reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity _ picker _ view _ collapsed . reset () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcomplete Loading ( quantity Picker View : ĠQuantity Picker View , Ġincrement : ĠInt , Ġdelay : ĠLong Ġ= Ġ 5 0 0 L ) Ġ{ ĊĠĠĠĠĠĠĠ Ġquantity Picker View . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquantity Picker View . increment Quantity By ( increment ) ĊĠĠĠĠĠĠĠ Ġ}, Ġdelay ) ĊĠĠĠ Ġ} Ċ } Ċ