package Ġcom . mapbox . search . sample . api Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġcom . mapbox . geojson . Point Ċ import Ġcom . mapbox . search . AsyncOperation Task Ċ import Ġcom . mapbox . search . Completion Callback Ċ import Ġcom . mapbox . search . Map box Search Sdk Ċ import Ġcom . mapbox . search . Offline Search Engine Ċ import Ġcom . mapbox . search . Offline Search Options Ċ import Ġcom . mapbox . search . Offline Tile Region Ċ import Ġcom . mapbox . search . Response Info Ċ import Ġcom . mapbox . search . Search Request Task Ċ import Ġcom . mapbox . search . Search Selection Callback Ċ import Ġcom . mapbox . search . result . SearchResult Ċ import Ġcom . mapbox . search . result . Search Suggestion Ċ Ċ class ĠOff line Search Kotlin Example Activity Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsearch Engine : ĠOff line Search Engine ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtiles Loading Task : ĠAsync Operation Task ĊĠĠĠ Ġprivate Ġvar Ġsearch Request Task : ĠSearch Request Task ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġengine Ready Callback Ġ= Ġobject Ġ: ĠOff line Search Engine . Engine Ready Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Engine Ready ( offline Tile Regions : ĠList < Offline Tile Region >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Engine Ġis Ġready , Ġavailable Ġregions : Ġ$ offline Tile Regions ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Error Ġduring Ġengine Ġinitialization ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġsearch Callback Ġ= Ġobject Ġ: ĠSearch Selection Callback Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Suggestions ( suggestions : ĠList < Search Suggestion >, Ġresponse Info : ĠResponse Info ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( suggestions . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" No Ġsuggestions Ġfound ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Search Ġsuggestions : Ġ$ suggestions .\ n Select ing Ġfirst Ġsuggestion ...") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Request Task Ġ= Ġsearch Engine . select ( suggestions . first (), Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggestion : ĠSearch Suggestion , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult : ĠSearch Result , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Info : ĠResponse Info ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Search Ġresult : Ġ$ result ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Category Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggestion : ĠSearch Suggestion , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresults : ĠList < SearchResult >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Info : ĠResponse Info ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Category Ġsearch Ġresults : Ġ$ results ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Search Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġsearch Engine Ġ= ĠMap box Search Sdk . get Offline Search Engine () ĊĠĠĠĠĠĠĠ Ġsearch Engine . add Engine Ready Callback ( engine Ready Callback ) ĊĊĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Loading Ġtiles ...") ĊĠĠĠĠĠĠĠ Ġtiles Loading Task Ġ= Ġsearch Engine . load Tile Region ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= Ġ" W ashington ĠDC ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgeometry Ġ= ĠPoint . from Lng Lat (- 7 7 . 0 3 3 9 9 1 1 0 5 5 1 7 6 , Ġ 3 8 . 8 9 9 9 2 0 0 0 4 2 0 7 5 1 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Callback Ġ= Ġ{ Ġprogress Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Loading Ġprogress : Ġ$ progress ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion Callback Ġ= Ġobject Ġ: ĠCompletion Callback < List < Offline Tile Region >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete ( result : ĠList < Offline Tile Region >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Tiles Ġsuccessfully Ġloaded ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Request Task Ġ= Ġsearch Engine . search ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" C afe ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOff line Search Options (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Callback ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Search Api Example ", Ġ" Tiles Ġloading Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsearch Engine . remove Engine Ready Callback ( engine Ready Callback ) ĊĠĠĠĠĠĠĠ Ġtiles Loading Task . cancel () ĊĠĠĠĠĠĠĠ Ġsearch Request Task ?. cancel () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} Ċ } Ċ