/* Ċ Ġ* Ċ Ġ* Ġ ĠCopyright Ġ( c ) ĠMicrosoft ĠCorporation . ĠAll Ġrights Ġreserved . Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . microsoft . device . display . wm _ samples . source editor . includes Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . view . Drag Event Ċ import Ġcom . microsoft . device . display . wm _ samples . source editor . view model . Web ViewModel Ċ Ċ /* ĠClass Ġused Ġto Ġupdate Ġapp Ġcontents Ġwhen Ġan Ġappropriate Ġdrag Ġevent Ġoccurs Ġ*/ Ċ class ĠDrag Handler ( activity : ĠActivity , Ġweb VM : ĠWeb ViewModel , Ġcontent Resolver : ĠContent Resolver ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġfile Handler Ġ= ĠFile Handler ( activity , Ġweb VM , Ġcontent Resolver ) ĊĊĠĠĠ Ġ// Ġdrag Ġoccurred , Ġdecide Ġif Ġevent Ġis Ġrelevant Ġto Ġapp ĊĠĠĠ Ġfun Ġon Drag ( event : ĠDrag Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġevent . action ĊĠĠĠĠĠĠĠ Ġval Ġis Text Ġ= Ġevent . clip Description ?. get MimeType ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString (). startsWith ( Defines . TEXT _ PREFIX ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDrag Event . ACTION _ DR AG _ STARTED Ġ-> Ġis Text ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠDrag Event . ACTION _ DROP Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Text Drop ( event ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠDrag Event . ACTION _ DR AG _ ENTER ED , ĠDrag Event . ACTION _ DR AG _ LOCATION , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDrag Event . ACTION _ DR AG _ ENDED , ĠDrag Event . ACTION _ DR AG _ EXIT ED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIgnore Ġevents ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġprocess Ġthe Ġfile Ġthat Ġwas Ġdropped ĊĠĠĠ Ġprivate Ġfun Ġhandle Text Drop ( event : ĠDrag Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġevent . clip Data . getItem At ( 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġitem . uri ĊĠĠĠĠĠĠĠ Ġfile Handler . process File Data ( uri , Ġevent ) ĊĠĠĠ Ġ} Ċ } Ċ