/* čĊ Ġ* ĠCopyright Ġ 2 0 2 1 ĠDaniel ĠGu ger čĊ Ġ* čĊ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); čĊ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . čĊ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat čĊ Ġ* čĊ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 čĊ Ġ* čĊ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware čĊ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , čĊ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . čĊ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand čĊ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . čĊ Ġ*/ čĊč Ċ package Ġat . gu ger . money book . util . menu čĊč Ċ import Ġandroid . view . Menu č Ċ import Ġandroid . view . MenuItem č Ċ import Ġat . gu ger . money book . R č Ċ import Ġat . gu ger . money book . data . model . Account č Ċ import Ġat . gu ger . money book . ui . home . accounts . Accounts Adapter čĊč Ċ /** čĊ Ġ* ĠUtil Ġclass Ġfor Ġ[ Account ] Ġmenu . čĊ Ġ*/ č Ċ object ĠAccount Menu Utils Ġ{ čĊčĊĠĠĠ Ġfun Ġprepare Menu ( menu : ĠMenu , Ġadapter : ĠAccounts Adapter ) Ġ{ čĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . action Account Edit ). isVisible Ġ= Ġadapter . checked Count Ġ== Ġ 1 čĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . action Account Delete ). isVisible Ġ= Ġadapter . item Count Ġ- Ġadapter . checked Count Ġ>= Ġ 1 čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġon ItemSelected ( item : ĠMenuItem , Ġadapter : ĠAccounts Adapter , Ġedit Action : Ġ( Account ) Ġ-> ĠUnit , Ġdelete Action : Ġ( Array < Account >) Ġ-> ĠUnit ): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Account Edit Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Action ( adapter . current List [ adapter . checked Items . first ()]) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Account Delete Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Action ( adapter . current List . filter Indexed Ġ{ Ġindex , Ġ_ Ġ-> Ġadapter . checked Items . contains ( index ) Ġ}. map Ġ{ Ġit Ġ}. to Typed Array ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }