package Ġcom . pad i . warehouse . utils Ċ Ċ import Ġcom . pad i . warehouse . adapters . Item Adapter Ċ import Ġcom . pad i . warehouse . items Ċ Ċ enum Ġclass ĠSort Field Ġ{ ĊĠĠĠ ĠNAME , ĠEXP _ DATE , ĠBO X Ċ } Ċ Ċ enum Ġclass ĠSort Direction Ġ{ ĊĠĠĠ ĠASC , ĠDESC Ċ } Ċ Ċ var Ġsort Field : ĠSort Field Ġ= ĠSort Field . EXP _ DATE Ċ var Ġsort Direction : ĠSort Direction Ġ= ĠSort Direction . ASC Ċ Ċ fun Ġsort Items ( adapter : ĠItem Adapter ) Ġ{ ĊĠĠĠ Ġval Ġsorted Items Ġ= Ġitems . map Ġ{ Ġit . copy () Ġ}. to Mutable List () ĊĠĠĠ Ġwhen Ġ( sort Field ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSort Field . NAME Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( sort Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSort Direction . ASC Ġ-> Ġsorted Items . sortBy Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSort Direction . DESC Ġ-> Ġsorted Items . sortBy Descending Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠSort Field . EXP _ DATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( sort Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSort Direction . ASC Ġ-> Ġsorted Items . sort With ( exp Date Asc ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSort Direction . DESC Ġ-> Ġsorted Items . sort With ( exp Date Desc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠSort Field . BOX Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( sort Direction ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSort Direction . ASC Ġ-> Ġsorted Items . sortBy Ġ{ Ġit . box Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSort Direction . DESC Ġ-> Ġsorted Items . sortBy Descending Ġ{ Ġit . box Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġadapter . update Items List ( sorted Items ) Ċ }