/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠAnd rÃ© ĠCla ÃŁ en Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// 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 Ġorg . burn out cre w . android . ui . reorder list Ċ Ċ import Ġandroidx . compose . runtime . to Mutable State List Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġorg . burn out cre w . reorder able . Item Position Ċ import Ġorg . burn out cre w . reorder able . move Ċ import Ġkotlin . random . Random ĊĊ Ċ class ĠImage List ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġimages Ġ= ĠList ( 2 0 ) Ġ{ Ġ" https :// pic sum . photos / seed / compose $ it / 2 0 0 / 3 0 0 " Ġ}. to Mutable State List () ĊĠĠĠ Ġval Ġheader Image Ġ= Ġ" https :// pic sum . photos / seed / compose ${ Random . nextInt ( Int . MAX _ VALUE ) }/ 4 0 0 / 2 0 0 " ĊĠĠĠ Ġval Ġfooter Image Ġ= Ġ" https :// pic sum . photos / seed / compose ${ Random . nextInt ( Int . MAX _ VALUE ) }/ 4 0 0 / 2 0 0 " ĊĊĠĠĠ Ġfun Ġon Move ( from : ĠItem Position , Ġto : ĠItem Position ) Ġ{ ĊĠĠĠĠĠĠĠ Ġimages . move ( images . indexOf First Ġ{ Ġit Ġ== Ġfrom . key Ġ}, Ġimages . indexOf First Ġ{ Ġit Ġ== Ġto . key Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcan Drag Over ( pos : ĠItem Position ) Ġ= Ġimages . any Ġ{ Ġit Ġ== Ġpos . key Ġ} Ċ }