package Ġcom . e ok oe . s ag ui . data . net . adapters Ċ Ċ import Ġcom . e ok oe . s ag ui . data . entities . Lat Long Ċ import Ġcom . google . gson . Type Adapter Ċ import Ġcom . google . gson . stream . Json Reader Ċ import Ġcom . google . gson . stream . Json Token Ċ import Ġcom . google . gson . stream . Json Writer Ċ Ċ /** Ċ Ġ* Ġ@ author ĠPed ro ĠSil va Ċ Ġ* Ġ@ since Ġ 3 0 / 0 8 / 1 7 Ċ Ġ*/ Ċ class ĠLat Long Type Adapter Ġ: ĠType Adapter < Lat Long >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġwrite ( out : ĠJson Writer , Ġlat Long : ĠLat Long ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout . begin Array () ĊĠĠĠĠĠĠĠ Ġout . value ( lat Long . latitude ) ĊĠĠĠĠĠĠĠ Ġout . value ( lat Long . longitude ) ĊĠĠĠĠĠĠĠ Ġout . end Array () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread ( json : ĠJson Reader ): ĠLat Long ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlat Long : ĠLat Long ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġjson . begin Array () ĊĠĠĠĠĠĠĠ Ġwhile Ġ( json . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( json . peek () Ġ=== ĠJson Token . NULL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson . next Null () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( lat Long Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat Long Ġ= ĠLat Long ( latitude Ġ= Ġjson . next Double ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat Long . longitude Ġ= Ġjson . next Double () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġjson . end Array () ĊĠĠĠĠĠĠĠ Ġreturn Ġlat Long ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠINSTANCE Ġ= ĠLat Long Type Adapter (). null Safe () !! ĊĠĠĠ Ġ} Ċ }