package Ġorg . sage b ion etwork s . assessment model . record ers Ċ Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . Transient Ċ import Ġorg . sage b ion etwork s . assessment model .* Ċ Ċ /** Ċ Ġ* ĠThe Ġ[ Distance Recorder Configuration ] Ġis Ġused Ġto Ġdefine Ġthe Ġconfiguration Ġfor Ġa Ġrecorder Ġused Ġto Ġtrack Ġthe Ġdistance Ċ Ġ* Ġa Ġperson Ġtravel led . ĠTypically , Ġthis Ġis Ġused Ġby Ġan Ġassessment Ġto Ġmeasure Ġthe Ġparticipant 's Ġcard i ore sp ir atory Ġfitness . Ċ Ġ* Ċ Ġ* ĠIf Ġincluded , Ġthe Ġ[ motion Step Identifier ] Ġis Ġused Ġto Ġtell Ġthe Ġdistance Ġrecorder Ġwhich Ġstep Ġto Ġmark Ġas Ġthe Ġ" in Ġmotion " Ċ Ġ* Ġstep . ĠIf Ġnon - null , Ġthen Ġthe Ġrecorder Ġwill Ġcalculate Ġ[ Distance Record . total Distance ] Ġtravel led Ġonly Ġwhile Ġthis Ġstep Ġis Ċ Ġ* Ġthe Ġcurrent Ġstep Ġby Ġsum ming Ġthe Ġ[ Distance Record . relative Distance ] Ġvalues . ĠAll Ġother Ġsteps Ġincluded Ġin Ġthe Ġrecorder Ċ Ġ* Ġare Ġassumed Ġto Ġbe Ġsteps Ġwhere Ġthe Ġparticipant Ġis Ġdirected Ġto Ġstand Ġstill Ġand Ġthat Ġthe Ġrecorder Ġis Ġbeing Ġused Ġto Ċ Ġ* Ġmeasure Ġcompliance . Ċ Ġ*/ Ċ @ Serializable Ċ @ Serial Name (" distance ") Ċ data Ġclass ĠDistance Recorder Configuration ( ĊĠĠĠ Ġoverride Ġval Ġidentifier : ĠString , ĊĠĠĠ Ġ@ Serial Name (" description ") ĊĠĠĠ Ġoverride Ġval Ġcomment : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġreason : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġoptional : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġval Ġmotion Step Identifier : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġstart Step Identifier : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġstop Step Identifier : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġshould Delete Previous : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġoverride Ġval Ġuses CSV Encoding Ġ: ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠTable Recorder Configuration Ġ{ ĊĠĠĠ Ġoverride Ġval Ġrequires Background : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrue ĊĠĠĠ Ġ@ Transient ĊĠĠĠ Ġoverride Ġval Ġpermissions : ĠList < Permission Info >? Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠPermission Type . Standard . Location . create Permission Info ( optional Ġ= Ġfalse , Ġrequires Background Ġ= Ġtrue , Ġreason Ġ= Ġreason ), ĊĠĠĠĠĠĠĠ ĠPermission Type . Standard . Motion . create Permission Info ( optional Ġ= Ġtrue , Ġrequires Background Ġ= Ġtrue , Ġreason Ġ= Ġreason )) Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Distance Record ] Ġis Ġa Ġserial izable Ġobject Ġthat Ġcan Ġbe Ġused Ġto Ġrecord Ġnormalized ĠGPS Ġsamples Ġfor Ġuse Ġin Ġdetermining Ċ Ġ* Ġdistance Ġtravel led . Ċ Ġ* Ċ Ġ* ĠRecord ĠProperties : Ċ Ġ* ĠĠ Ġ- Ġ[ timestamp Unix ]: ĠThe ĠUnix Ġtimestamp Ġ( seconds Ġsince Ġ 1 9 7 0 - 0 1 - 0 1 T 0 0 : 0 0 : 0 0 . 0 0 0 Z ) Ġwhen Ġthe Ġmeasurement Ġwas Ġtaken . Ċ Ġ* ĠĠ Ġ- Ġ[ horizontal Accuracy ]: ĠThe Ġhorizontal Ġaccuracy Ġof Ġthe Ġlocation Ġin Ġmeters ; Ġ` null ` Ġif Ġthe Ġlater al Ġlocation Ġis Ġinvalid . Ċ Ġ* ĠĠ Ġ- Ġ[ relative Distance ]: ĠThe Ġlater al Ġdistance Ġbetween Ġthe Ġcurrent Ġlocation Ġand Ġthe Ġprevious Ġlocation Ġin Ġmeters . Ċ Ġ* ĠĠ Ġ- Ġ[ vertical Accuracy ]: ĠThe Ġvertical Ġaccuracy Ġof Ġthe Ġlocation Ġin Ġmeters ; Ġ` null ` Ġif Ġthe Ġalt itude Ġis Ġinvalid . Ċ Ġ* ĠĠ Ġ- Ġ[ altitude ]: ĠThe Ġalt itude Ġof Ġthe Ġlocation Ġin Ġmeters . ĠCan Ġbe Ġpositive Ġ( above Ġsea Ġlevel ) Ġor Ġnegative Ġ( below Ġsea Ġlevel ). Ċ Ġ* ĠĠ Ġ- Ġ[ total Distance ]: ĠSum Ġof Ġthe Ġrelative Ġdistance Ġmeasurements Ġif Ġthe Ġparticipant Ġis Ġsupposed Ġto Ġbe Ġmoving . Ċ Ġ* ĠĠ Ġ- Ġ[ course ]: ĠThe Ġcourse Ġof Ġthe Ġlocation Ġin Ġdegrees Ġtrue ĠNorth ; Ġ` null ` Ġif Ġcourse Ġis Ġinvalid . Ċ Ġ* ĠĠ Ġ- Ġ[ be aring Radians ]: ĠThe Ġbe aring Ġto Ġthe Ġlocation Ġfrom Ġthe Ġprevious Ġlocation Ġin Ġradians Ġ( clock wise Ġfrom ) Ġtrue ĠNorth . Ċ Ġ* ĠĠ Ġ- Ġ[ speed ]: ĠThe Ġspeed Ġof Ġthe Ġlocation Ġin Ġmeters / second ; Ġ` null ` Ġif Ġspeed Ġis Ġinvalid . Ċ Ġ* ĠĠ Ġ- Ġ[ floor ]: ĠThe Ġfloor Ġof Ġthe Ġbuilding Ġwhere Ġthe Ġlocation Ġwas Ġrecorded ; Ġ` null ` Ġif Ġfloor Ġis Ġnot Ġavailable . Ċ Ġ* Ċ Ġ* ĠAdditionally , Ġthe Ġrecord Ġ* may * Ġinclude Ġ[ latitude ] Ġand Ġ[ longitude ], Ġbut Ġif Ġand Ġonly Ġif Ġeither Ġthis Ġis Ġa Ġrecord Ġfor Ċ Ġ* Ġa Ġtest Ġuser Ġor Ġif Ġappropriate Ġconsent Ġhas Ġbeen Ġgiven Ġby Ġthe Ġparticipant Ġto Ġinclude Ġsensitive Ġlocation Ġdata . Ċ Ġ* Ċ Ġ*/ Ċ @ Serializable Ċ data Ġclass ĠDistance Record ( ĊĠĠĠ Ġoverride Ġval Ġstep Path : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" timestamp Date ") ĊĠĠĠ Ġoverride Ġval Ġtimestamp DateString : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġtimestamp : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġu ptime : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġtimestamp Unix : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġhorizontal Accuracy : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġrelative Distance : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġlatitude : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġlongitude : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġvertical Accuracy : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġalt itude : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġtotal Distance : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġcourse : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġbe aring Radians : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġspeed : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġfloor : ĠInt ? Ġ= Ġnull Ċ ) Ġ: ĠSample Record