package Ġk orea . se oul . pick ple . data . repository . implementation Ċ Ċ import Ġk orea . se oul . pick ple . data . api . Directions API Ċ import Ġk orea . se oul . pick ple . data . api . response . directions . Directions Response Ċ import Ġk orea . se oul . pick ple . data . api . response . directions . Geo coding Response Ċ import Ġk orea . se oul . pick ple . data . entity . Location Ċ import Ġk orea . se oul . pick ple . data . repository . interfaces . Directions Repository Ċ import Ġretrofit 2 . Call Ċ Ċ class ĠDirection s Repository Impl ( private Ġval Ġapi Ġ: ĠDirection s API ) Ġ: ĠDirection s Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Geo coding ( location : ĠLocation , Ġkey : ĠString ): ĠCall < Geo coding Response > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapi . get Geo coding ("${ location . latitude }, ${ location . longitude }", key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Route From Two Place Ġ Ġ( ĊĠĠĠĠĠĠĠ Ġorigin Ġ: ĠLocation , ĊĠĠĠĠĠĠĠ Ġdestination Ġ: ĠLocation , ĊĠĠĠĠĠĠĠ Ġkey Ġ: ĠString , ĊĠĠĠĠĠĠĠ Ġmode Ġ: ĠString ? ĊĠĠĠ Ġ) Ġ: ĠCall < Directions Response > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġapi . get Route From Two Place ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorigin Ġ= Ġ"${ origin . latitude }, ${ origin . longitude }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Ġ= Ġ"${ destination . latitude }, ${ destination . longitude }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= Ġ" transit " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }