package Ġcom . and ref il gs . file man . model Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . work . Work Info Ċ import Ġcom . and ref il gs . file man . aux iliar .* Ċ import Ġcom . and ref il gs . file man . model . enums . File man Commands Ċ import Ġcom . and ref il gs . file man . model . enums . File man Status Ċ import Ġcom . and ref il gs . file man . work manager . File man Manager Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ import Ġjava . util .* Ċ Ċ @ Parcel ize Ċ data Ġclass ĠFile man Feedback ( ĊĠĠĊĠ Ġval Ġstatus : ĠInt ?= null Ġ, ĊĠĠĊĠ Ġval Ġstatus Name : ĠString ?= null Ġ, ĊĠĠĊĠ Ġval Ġmessage : ĠString ?= null Ġ, ĊĠĠĊĠ Ġval Ġcommand Type : ĠString ?= null Ġ, ĊĠĠĊĠ Ġ// filename FullPath Ġ+ Ġtimestamp ĊĠ Ġval Ġfile man Id : ĠString ?= null Ġ, ĊĠĠĊĠ Ġ// provided Ġby ĠWork Manager ĊĠ Ġval Ġworker Id : ĠUUID ?= null Ġ, ĊĠĠĊĠ Ġ// provided Ġby ĠWork Manager ĊĠ Ġval Ġis Final Worker : ĠBoolean ?= null , ĊĠĠĊĠ Ġval Ġfilename FullPath : ĠString ?= null , ĊĠĠĊĠ Ġval Ġfile Content : ĠString ?= null , ĊĠĠĊĠ Ġval Ġprogress : ĠInt ?= null , ĊĠ Ġval Ġprogress Message : ĠString ?= null Ċ ) Ġ: Parcelable { ĊĠĠĊĠ Ġcompanion Ġobject { ĊĠĠĠĠĊĠĠĠ Ġinternal Ġfun Ġbuild From Work Info ( work Info : ĠWork Info ): File man Feedback { ĊĠĠĠĠĠ Ġval Ġstatus Ġ= Ġconvert Work State ToFile man Status ( work Info ) ĊĠĠĠĠĠ Ġval Ġfile man Id Ġ= Ġwork Info . getFile man Id () ĊĠĠĠĠĠ Ġreturn ĠFile man Feedback ( ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstatus . type , ĊĠĠĠĠĠĠĠ Ġstatus Name Ġ= Ġstatus . name , ĊĠĠĠĠĠĠĠ Ġ// Ġmessage Ġ= Ġwork Info . getOutput (), ĊĠĠĠĠĠĠĠ Ġmessage Ġ= ĠFile man Manager . getOutput Message ( file man Id ), ĊĠĠĠĠĠĠĠ Ġcommand Type Ġ= Ġwork Info . getFile man Command (), ĊĠĠĠĠĠĠĠ Ġfile man Id Ġ= Ġfile man Id , ĊĠĠĠĠĠĠĠ Ġis Final Worker Ġ= Ġwork Info . is Final Work (), ĊĠĠĠĠĠĠĠ Ġworker Id Ġ= Ġwork Info . id , ĊĠĠĠĠĠĠĠ Ġfilename FullPath Ġ= Ġwork Info . getFull Path (), ĊĠĠĠĠĠĠĠ Ġ// Ġfile Content Ġ= Ġwork Info . getFile Content (), ĊĠĠĠĠĠĠĠ Ġfile Content Ġ= ĠFile man Manager . getFile Content ( file man Id ), ĊĠĠĠĠĠĠĠ Ġprogress Ġ= Ġwork Info . get Progress Value (), ĊĠĠĠĠĠĠĠ Ġprogress Message Ġ= Ġwork Info . get Progress Message () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĊĠĠ ĊĠĠĠĠĊĠĠĠ Ġinternal Ġfun Ġconvert Work State ToFile man Status ( work Info : ĠWork Info ): File man Status { ĊĠĠĠĠĠ Ġreturn Ġwhen Ġ( work Info . state ){ ĊĠĠĠĠĠĠĠ ĠWork Info . State . SUCCEEDED Ġ-> ĠFile man Status . SUCCEEDED ĊĠĠĠĠĠĠĠ ĠWork Info . State . CANCEL LED Ġ-> ĠFile man Status . CANCEL LED ĊĠĠĠĠĠĠĠ ĠWork Info . State . FAILED Ġ-> ĠFile man Status . FAILED ĊĠĠĠĠĠĠĠ ĠWork Info . State . BLOCK ED Ġ-> ĠFile man Status . BLOCK ED ĊĠĠĠĠĠĠĠ ĠWork Info . State . EN QUE U ED Ġ-> ĠFile man Status . EN QUEUE ĊĠĠĠĠĠĠĠ ĠWork Info . State . RUNNING Ġ-> ĠFile man Status . RUNNING ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠFile man Status . IDLE ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġinternal Ġfun Ġbuild Output Message ( status : Boolean ?, Ġfile man Command : String ?, Ġfilename FullPath : ĠString ?, Ġfilename : String , Ġfile Content : String ?, Ġel lapsed : Long ?): String { ĊĠĠĠĠĠ Ġreturn Ġwhen ( file man Command ){ ĊĠĠĠĠĠĠĠ ĠFile man Commands . WRITE . name Ġ-> Ġif Ġ( status . or Default ( false )) Ġ" File Ġ\"$ filename \" Ġhas Ġbeen Ġwritten Ġwith Ġcontent : Ġ\"$ file Content \" Ġafter Ġ$ ell apsed Ġmilliseconds ." Ġelse Ġ" ERROR : ĠFile Ġ\"$ filename FullPath \" Ġhas Ġnot Ġbeen Ġwritten Ġafter Ġ$ ell apsed Ġmilliseconds ." ĊĠĠĠĠĠĠĠ ĠFile man Commands . DELETE . name Ġ-> Ġif Ġ( status . or Default ( false )) Ġ" File Ġ\"$ filename \" Ġhas Ġbeen Ġdeleted Ġafter Ġ$ ell apsed Ġmilliseconds ." Ġelse Ġ" ERROR : ĠFile Ġ\"$ filename FullPath \" Ġhas Ġnot Ġbeen Ġdeleted Ġafter Ġ$ ell apsed Ġmilliseconds ." ĊĠĠĠĠĠĠĠ ĠFile man Commands . READ . name Ġ-> Ġif Ġ( status . or Default ( false )) Ġ" File Ġ\"$ filename \" Ġhas Ġbeen Ġread Ġwith Ġcontent : Ġ\"$ file Content \" Ġafter Ġ$ ell apsed Ġmilliseconds ." Ġelse Ġ" ERROR : ĠFile Ġ\"$ filename FullPath \" Ġhas Ġnot Ġbeen Ġread Ġafter Ġ$ ell apsed Ġmilliseconds ." ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ Ċ }