package Ġcom . r acob os . me e pt ech nical test . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . maps . android . clustering . ClusterManager Ċ import Ġcom . google . maps . android . clustering . view . Cluster Renderer Ċ import Ġcom . r acob os . me e pt ech nical test . android . scenes . map . Map ViewModel Ċ import Ġcom . r acob os . me e pt ech nical test . android . tools . maps . Veh icles Cluster Ċ import Ġcom . r acob os . me e pt ech nical test . android . tools . maps . Veh icles Cluster Renderer Ċ import Ġcom . r acob os . me e pt ech nical test . data . datas ources . DAO s Ċ import Ġcom . r acob os . me e pt ech nical test . domain . repositories . Repository Ċ import Ġcom . r acob os . me e pt ech nical test . domain . repositories . Ret rofit Repository Ċ import Ġorg . k oin . android x . view model . dsl . viewModel Ċ import Ġorg . k oin . core . parameter . parameters Of Ċ import Ġorg . k oin . dsl . module Ċ Ċ val Ġdata Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle < Repository > Ġ{ ĠRet rofit Repository ( DAO s . ret rofit DAO ) Ġ} Ċ } Ċ Ċ val Ġandroid Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġfactory < Cluster Renderer < Veh icles Cluster >> Ġ{ Ġ( context : ĠContext , Ġmap : ĠGoogle Map , Ġmanager : ĠCluster Manager < Veh icles Cluster >) Ġ-> ĊĠĠĠĠĠĠĠ ĠV eh icles Cluster Renderer ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanager ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfactory Ġ{ Ġ( context : ĠContext , Ġmap : ĠGoogle Map , Ġon Camera Idle : Ġ( Google Map ) Ġ-> ĠUnit ) Ġ-> ĊĠĠĠĠĠĠĠ ĠCluster Manager < Veh icles Cluster >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap ĊĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrenderer Ġ= Ġget Ġ{ Ġparameters Of ( context , Ġmap , Ġthis ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . setOn Camera Idle Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Camera Idle ( map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Camera Idle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . setOn Marker ClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ ĠMap ViewModel ( get ()) Ġ} Ċ }