Skip to content

Commit 455f8e3

Browse files
Search 2.9.0; New functionality (#325)
* CI config for snapshots * Versions bump * Provide default onlineRequestTimeout * SearchResult.boundingBox * OfflineEvSearchOptions.excludeOperators * Offline Category Search function * Update public API * Changelog
1 parent 9519371 commit 455f8e3

File tree

49 files changed

+721
-16
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+721
-16
lines changed

.circleci/config.yml

+3
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,9 @@ workflows:
430430
- sample-instrumentation-tests:
431431
requires:
432432
- prepare-and-assemble
433+
- publish-snapshots:
434+
requires:
435+
- prepare-and-assemble
433436
# - pitest-validate:
434437
# requires:
435438
# - unit-tests

CHANGELOG.md

+13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Changelog for the Mapbox Search SDK for Android
22

3+
## 2.9.0
4+
5+
### New features
6+
- Added an optional property `SearchResult.boundingBox` which represents the geographical boundaries of a location.
7+
- Introduced a dedicated function for category search: `OfflineSearchEngine.categorySearch()`. This function can accept multiple categories. Besides that `OfflineCategorySearchOptions` has a new option `ensureResultsPerCategory`. See documentation for more information.
8+
- Added a new option `OfflineEvSearchOptions.excludeOperators` which allows to exclude specific operators from search results.
9+
10+
### Mapbox dependencies
11+
- Search Native SDK `2.9.0`
12+
- Common SDK `24.11.0`
13+
14+
15+
316
## 2.9.0-rc.1
417

518
### New features

MapboxSearch/autofill/src/androidTest/java/com/mapbox/search/autofill/AddressAutofillIntegrationTest.kt

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import com.mapbox.search.base.location.LocationEngineAdapter
1616
import com.mapbox.search.base.location.WrapperLocationProvider
1717
import com.mapbox.search.base.location.defaultLocationProvider
1818
import com.mapbox.search.base.utils.UserAgentProvider
19+
import com.mapbox.search.base.utils.defaultOnlineRequestTimeoutSeconds
1920
import com.mapbox.search.common.IsoCountryCode
2021
import com.mapbox.search.common.IsoLanguageCode
2122
import com.mapbox.search.common.SearchRequestException
@@ -310,6 +311,7 @@ internal class AddressAutofillIntegrationTest {
310311
apiType = CoreApiType.AUTOFILL,
311312
sdkInformation = UserAgentProvider.sdkInformation(),
312313
eventsUrl = null,
314+
onlineRequestTimeout = defaultOnlineRequestTimeoutSeconds(),
313315
),
314316
WrapperLocationProvider(
315317
LocationEngineAdapter(app, locationProvider), null

MapboxSearch/autofill/src/main/java/com/mapbox/search/autofill/AddressAutofillImpl.kt

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.mapbox.search.base.result.BaseSearchResult
2020
import com.mapbox.search.base.result.BaseSearchSuggestion
2121
import com.mapbox.search.base.result.SearchResultFactory
2222
import com.mapbox.search.base.utils.UserAgentProvider
23+
import com.mapbox.search.base.utils.defaultOnlineRequestTimeoutSeconds
2324
import com.mapbox.search.base.utils.extension.flatMap
2425
import com.mapbox.search.internal.bindgen.UserActivityReporterInterface
2526
import java.util.concurrent.ExecutorService
@@ -124,6 +125,7 @@ internal class AddressAutofillImpl(
124125
apiType = CoreApiType.AUTOFILL,
125126
sdkInformation = UserAgentProvider.sdkInformation(),
126127
eventsUrl = null,
128+
onlineRequestTimeout = defaultOnlineRequestTimeoutSeconds(),
127129
),
128130
WrapperLocationProvider(
129131
LocationEngineAdapter(app, locationProvider),

MapboxSearch/autofill/src/main/java/com/mapbox/search/autofill/AutofillSearchEngine.kt

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import com.mapbox.search.base.result.SearchResultFactory
3333
import com.mapbox.search.base.result.mapToCore
3434
import com.mapbox.search.base.task.AsyncOperationTaskImpl
3535
import com.mapbox.search.base.utils.UserAgentProvider
36+
import com.mapbox.search.base.utils.defaultOnlineRequestTimeoutSeconds
3637
import com.mapbox.search.common.AsyncOperationTask
3738
import com.mapbox.search.common.concurrent.SearchSdkMainThreadWorker
3839
import com.mapbox.search.internal.bindgen.ApiType
@@ -257,6 +258,7 @@ internal class AutofillSearchEngine(
257258
apiType = apiType,
258259
sdkInformation = UserAgentProvider.sdkInformation(),
259260
eventsUrl = null,
261+
onlineRequestTimeout = defaultOnlineRequestTimeoutSeconds(),
260262
),
261263
WrapperLocationProvider(
262264
LocationEngineAdapter(app, locationProvider),

MapboxSearch/base/src/main/java/com/mapbox/search/base/core/CoreFactoryFunctions.kt

+2
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,12 @@ fun createCoreEvSearchOptions(
185185
minChargingPower: Float? = null,
186186
maxChargingPower: Float? = null,
187187
availability: CoreChargingStatus? = null,
188+
excludeOperators: List<String>? = null,
188189
): CoreEvSearchOptions = CoreEvSearchOptions(
189190
connectorTypes = connectorTypes,
190191
operators = operators,
191192
minChargingPower = minChargingPower,
192193
maxChargingPower = maxChargingPower,
193194
availability = availability,
195+
excludeOperators = excludeOperators,
194196
)

MapboxSearch/base/src/main/java/com/mapbox/search/base/result/BaseRawSearchResult.kt

+6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.mapbox.search.base.result
22

33
import android.os.Parcelable
4+
import com.mapbox.geojson.BoundingBox
45
import com.mapbox.geojson.Point
56
import com.mapbox.search.base.assertDebug
67
import com.mapbox.search.base.core.CoreResultAccuracy
78
import com.mapbox.search.base.core.CoreResultMetadata
89
import com.mapbox.search.base.core.CoreRoutablePoint
910
import com.mapbox.search.base.core.CoreSearchResult
11+
import com.mapbox.search.base.utils.extension.mapToCore
12+
import com.mapbox.search.base.utils.extension.mapToPlatform
1013
import kotlinx.parcelize.IgnoredOnParcel
1114
import kotlinx.parcelize.Parcelize
1215
import java.util.HashMap
@@ -27,6 +30,7 @@ data class BaseRawSearchResult(
2730
val center: Point?,
2831
val accuracy: CoreResultAccuracy?,
2932
val routablePoints: List<CoreRoutablePoint>?,
33+
val bbox: BoundingBox?,
3034
val categories: List<String>?,
3135
val categoryIds: List<String>?,
3236
val brand: List<String>?,
@@ -114,6 +118,7 @@ fun CoreSearchResult.mapToBase() = BaseRawSearchResult(
114118
center = center,
115119
accuracy = accuracy,
116120
routablePoints = routablePoints,
121+
bbox = bbox?.mapToPlatform(),
117122
categories = categories,
118123
categoryIds = categoryIDs,
119124
brand = brand,
@@ -157,4 +162,5 @@ fun BaseRawSearchResult.mapToCore() = CoreSearchResult(
157162
userRecordPriority,
158163
action?.mapToCore(),
159164
serverIndex,
165+
bbox?.mapToCore(),
160166
)

MapboxSearch/base/src/main/java/com/mapbox/search/base/result/BaseSearchResult.kt

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.mapbox.search.base.result
22

33
import android.os.Parcelable
4+
import com.mapbox.geojson.BoundingBox
45
import com.mapbox.geojson.Point
56
import com.mapbox.search.base.BaseRequestOptions
67
import com.mapbox.search.base.core.CoreResultAccuracy
@@ -41,6 +42,9 @@ abstract class BaseSearchResult(
4142
open val routablePoints: List<CoreRoutablePoint>?
4243
get() = rawSearchResult.routablePoints
4344

45+
open val bbox: BoundingBox?
46+
get() = rawSearchResult.bbox
47+
4448
open val categories: List<String>?
4549
get() = rawSearchResult.categories
4650

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.mapbox.search.base.utils
2+
3+
import androidx.annotation.RestrictTo
4+
5+
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
6+
fun defaultOnlineRequestTimeoutSeconds(): Int? = null

MapboxSearch/base/src/test/java/com/mapbox/search/base/result/BaseRawSearchResultTest.kt

+8-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.mapbox.search.base.result
22

33
import com.mapbox.geojson.Point
44
import com.mapbox.search.base.BuildConfig
5+
import com.mapbox.search.base.core.CoreBoundingBox
56
import com.mapbox.search.base.core.CoreResultAccuracy
67
import com.mapbox.search.base.core.CoreRoutablePoint
78
import com.mapbox.search.base.core.CoreSearchResult
@@ -10,6 +11,7 @@ import com.mapbox.search.base.core.createCoreResultMetadata
1011
import com.mapbox.search.base.logger.reinitializeLogImpl
1112
import com.mapbox.search.base.logger.resetLogImpl
1213
import com.mapbox.search.base.tests_support.createTestBaseRawSearchResult
14+
import com.mapbox.search.base.utils.extension.mapToPlatform
1315
import com.mapbox.search.common.tests.TestConstants.ASSERTIONS_KT_CLASS_NAME
1416
import com.mapbox.search.common.tests.catchThrowable
1517
import com.mapbox.search.common.tests.createCoreSearchAddress
@@ -300,7 +302,8 @@ internal class BaseRawSearchResultTest {
300302
null,
301303
-1,
302304
null,
303-
null
305+
null,
306+
null,
304307
)
305308

306309
val BASE_EMPTY_SEARCH_RESULT = BaseRawSearchResult(
@@ -318,6 +321,7 @@ internal class BaseRawSearchResultTest {
318321
center = CORE_EMPTY_SEARCH_RESULT.center,
319322
accuracy = CORE_EMPTY_SEARCH_RESULT.accuracy,
320323
routablePoints = CORE_EMPTY_SEARCH_RESULT.routablePoints,
324+
bbox = CORE_EMPTY_SEARCH_RESULT.bbox?.mapToPlatform(),
321325
categories = CORE_EMPTY_SEARCH_RESULT.categories,
322326
categoryIds = CORE_EMPTY_SEARCH_RESULT.categoryIDs,
323327
brand = CORE_EMPTY_SEARCH_RESULT.brand,
@@ -350,6 +354,7 @@ internal class BaseRawSearchResultTest {
350354
center = CORE_FILLED_SEARCH_RESULT.center,
351355
accuracy = CORE_FILLED_SEARCH_RESULT.accuracy,
352356
routablePoints = CORE_FILLED_SEARCH_RESULT.routablePoints,
357+
bbox = CORE_FILLED_SEARCH_RESULT.bbox?.mapToPlatform(),
353358
categories = CORE_FILLED_SEARCH_RESULT.categories,
354359
categoryIds = CORE_FILLED_SEARCH_RESULT.categoryIDs,
355360
brand = CORE_FILLED_SEARCH_RESULT.brand,
@@ -407,7 +412,8 @@ internal class BaseRawSearchResultTest {
407412
"test user record id",
408413
-1,
409414
CoreSuggestAction("test endpoint", "test path", "test query", byteArrayOf(1, 2, 3), true),
410-
123
415+
123,
416+
CoreBoundingBox(Point.fromLngLat(1.0, 2.0), Point.fromLngLat(2.0, 3.0)),
411417
)
412418
}
413419

MapboxSearch/base/src/test/java/com/mapbox/search/base/tests_support/BaseTestDataFactory.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.mapbox.search.base.tests_support
22

3+
import com.mapbox.geojson.BoundingBox
34
import com.mapbox.geojson.Point
45
import com.mapbox.search.base.BaseRequestOptions
56
import com.mapbox.search.base.core.CoreApiType
@@ -30,6 +31,7 @@ internal fun createTestBaseRawSearchResult(
3031
center: Point? = null,
3132
accuracy: CoreResultAccuracy? = null,
3233
routablePoints: List<CoreRoutablePoint>? = null,
34+
bbox: BoundingBox? = null,
3335
categories: List<String>? = null,
3436
categoryIds: List<String>? = null,
3537
brand: List<String>? = null,
@@ -58,6 +60,7 @@ internal fun createTestBaseRawSearchResult(
5860
center = center,
5961
accuracy = accuracy,
6062
routablePoints = routablePoints,
63+
bbox = bbox,
6164
categories = categories,
6265
categoryIds = categoryIds,
6366
brand = brand,
@@ -70,7 +73,7 @@ internal fun createTestBaseRawSearchResult(
7073
userRecordPriority = userRecordPriority,
7174
action = action,
7275
serverIndex = serverIndex,
73-
etaMinutes = etaMinutes
76+
etaMinutes = etaMinutes,
7477
)
7578

7679
@Suppress("LongParameterList")

MapboxSearch/common-tests/src/main/java/com/mapbox/search/common/tests/CoreTestDataFactory.kt

+6-2
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ fun createTestCoreSearchResult(
170170
userRecordPriority: Int = 0,
171171
action: SuggestAction? = null,
172172
serverIndex: Int? = 0,
173+
bbox: LonLatBBox? = null,
173174
) = SearchResult(
174175
id,
175176
mapboxId,
@@ -197,7 +198,8 @@ fun createTestCoreSearchResult(
197198
userRecordId,
198199
userRecordPriority,
199200
action,
200-
serverIndex
201+
serverIndex,
202+
bbox,
201203
)
202204

203205
@Suppress("LongParameterList")
@@ -229,6 +231,7 @@ fun SearchResult.copy(
229231
userRecordPriority: Int = this.userRecordPriority,
230232
action: SuggestAction? = this.action,
231233
serverIndex: Int? = this.serverIndex,
234+
bbox: LonLatBBox? = this.bbox,
232235
) = SearchResult(
233236
id,
234237
mapboxId,
@@ -256,7 +259,8 @@ fun SearchResult.copy(
256259
userRecordId,
257260
userRecordPriority,
258261
action,
259-
serverIndex
262+
serverIndex,
263+
bbox,
260264
)
261265

262266
fun createCoreSearchAddressRegion(

MapboxSearch/discover/src/androidTest/java/com/mapbox/search/discover/DiscoverIntegrationTest.kt

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.mapbox.search.base.location.defaultLocationProvider
2020
import com.mapbox.search.base.record.IndexableRecordResolver
2121
import com.mapbox.search.base.result.SearchResultFactory
2222
import com.mapbox.search.base.utils.UserAgentProvider
23+
import com.mapbox.search.base.utils.defaultOnlineRequestTimeoutSeconds
2324
import com.mapbox.search.common.IsoLanguageCode
2425
import com.mapbox.search.common.RoutablePoint
2526
import com.mapbox.search.common.SearchRequestException
@@ -351,6 +352,7 @@ internal class DiscoverIntegrationTest {
351352
apiType = ApiType.SBS,
352353
sdkInformation = UserAgentProvider.sdkInformation(),
353354
eventsUrl = null,
355+
onlineRequestTimeout = defaultOnlineRequestTimeoutSeconds(),
354356
),
355357
WrapperLocationProvider(
356358
LocationEngineAdapter(app, defaultLocationProvider()), null

MapboxSearch/discover/src/main/java/com/mapbox/search/discover/DiscoverSearchEngine.kt

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import com.mapbox.search.base.result.BaseSearchResult
2121
import com.mapbox.search.base.result.SearchResultFactory
2222
import com.mapbox.search.base.utils.AndroidKeyboardLocaleProvider
2323
import com.mapbox.search.base.utils.UserAgentProvider
24+
import com.mapbox.search.base.utils.defaultOnlineRequestTimeoutSeconds
2425
import com.mapbox.search.base.utils.orientation.AndroidScreenOrientationProvider
2526
import com.mapbox.search.common.AsyncOperationTask
2627
import com.mapbox.search.common.concurrent.SearchSdkMainThreadWorker
@@ -109,6 +110,7 @@ internal class DiscoverSearchEngine(
109110
apiType = API_TYPE,
110111
sdkInformation = UserAgentProvider.sdkInformation(),
111112
eventsUrl = null,
113+
onlineRequestTimeout = defaultOnlineRequestTimeoutSeconds(),
112114
),
113115
WrapperLocationProvider(
114116
LocationEngineAdapter(app, locationProvider), null

MapboxSearch/gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ android.enableJetifier=false
2121
kotlin.code.style=official
2222

2323
# SDK version attributes
24-
VERSION_NAME=2.9.0-rc.1
24+
VERSION_NAME=2.9.0
2525

2626
# Artifact attributes
2727
mapboxArtifactUserOrg=mapbox

MapboxSearch/gradle/versions.gradle

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ ext {
4141

4242
pitest_version = '1.6.7'
4343

44-
mapbox_maps_version = '11.11.0-rc.1'
44+
mapbox_maps_version = '11.11.0'
4545
mapbox_turf_version = '6.15.0'
4646

47-
common_sdk_version = '24.11.0-rc.1'
47+
common_sdk_version = '24.11.0'
4848
mapbox_base_version = '0.8.0'
4949

50-
search_native_version = '2.9.0-rc.1'
50+
search_native_version = '2.9.0'
5151

5252
detekt_version = '1.19.0'
5353

MapboxSearch/offline/api/api-metalava.txt

+31
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,43 @@ package com.mapbox.search.offline {
1212
@StringDef({com.mapbox.search.offline.NewOfflineSearchResultType.PLACE, com.mapbox.search.offline.NewOfflineSearchResultType.STREET, com.mapbox.search.offline.NewOfflineSearchResultType.ADDRESS, com.mapbox.search.offline.NewOfflineSearchResultType.POI}) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) public static @interface NewOfflineSearchResultType.Type {
1313
}
1414

15+
@com.mapbox.annotation.MapboxExperimental @kotlinx.parcelize.Parcelize public final class OfflineCategorySearchOptions implements android.os.Parcelable {
16+
ctor public OfflineCategorySearchOptions(com.mapbox.geojson.Point? proximity = null, Integer? limit = null, com.mapbox.geojson.Point? origin = null, com.mapbox.geojson.BoundingBox? boundingBox = null, @com.mapbox.search.common.RestrictedMapboxSearchAPI com.mapbox.search.offline.OfflineEvSearchOptions? evSearchOptions = null, Boolean? ensureResultsPerCategory = null);
17+
ctor public OfflineCategorySearchOptions(com.mapbox.geojson.Point? proximity = null, Integer? limit = null, com.mapbox.geojson.Point? origin = null, com.mapbox.geojson.BoundingBox? boundingBox = null, @com.mapbox.search.common.RestrictedMapboxSearchAPI com.mapbox.search.offline.OfflineEvSearchOptions? evSearchOptions = null);
18+
ctor public OfflineCategorySearchOptions(com.mapbox.geojson.Point? proximity = null, Integer? limit = null, com.mapbox.geojson.Point? origin = null, com.mapbox.geojson.BoundingBox? boundingBox = null);
19+
ctor public OfflineCategorySearchOptions(com.mapbox.geojson.Point? proximity = null, Integer? limit = null, com.mapbox.geojson.Point? origin = null);
20+
ctor public OfflineCategorySearchOptions(com.mapbox.geojson.Point? proximity = null, Integer? limit = null);
21+
ctor public OfflineCategorySearchOptions(com.mapbox.geojson.Point? proximity = null);
22+
method public com.mapbox.geojson.BoundingBox? getBoundingBox();
23+
method public Boolean? getEnsureResultsPerCategory();
24+
method public com.mapbox.search.offline.OfflineEvSearchOptions? getEvSearchOptions();
25+
method public Integer? getLimit();
26+
method public com.mapbox.geojson.Point? getOrigin();
27+
method public com.mapbox.geojson.Point? getProximity();
28+
property public final com.mapbox.geojson.BoundingBox? boundingBox;
29+
property public final Boolean? ensureResultsPerCategory;
30+
property public final com.mapbox.search.offline.OfflineEvSearchOptions? evSearchOptions;
31+
property public final Integer? limit;
32+
property public final com.mapbox.geojson.Point? origin;
33+
property public final com.mapbox.geojson.Point? proximity;
34+
}
35+
36+
public final class OfflineCategorySearchOptionsKt {
37+
}
38+
1539
@kotlinx.parcelize.Parcelize public final class OfflineEvSearchOptions implements android.os.Parcelable {
40+
ctor public OfflineEvSearchOptions(java.util.List<java.lang.String>? connectorTypes = null, java.util.List<java.lang.String>? operators = null, Float? minChargingPower = null, Float? maxChargingPower = null, java.util.List<java.lang.String>? excludeOperators = null);
1641
ctor public OfflineEvSearchOptions(java.util.List<java.lang.String>? connectorTypes = null, java.util.List<java.lang.String>? operators = null, Float? minChargingPower = null, Float? maxChargingPower = null);
1742
ctor public OfflineEvSearchOptions(java.util.List<java.lang.String>? connectorTypes = null, java.util.List<java.lang.String>? operators = null, Float? minChargingPower = null);
1843
ctor public OfflineEvSearchOptions(java.util.List<java.lang.String>? connectorTypes = null, java.util.List<java.lang.String>? operators = null);
1944
ctor public OfflineEvSearchOptions(java.util.List<java.lang.String>? connectorTypes = null);
2045
method public java.util.List<java.lang.String>? getConnectorTypes();
46+
method public java.util.List<java.lang.String>? getExcludeOperators();
2147
method public Float? getMaxChargingPower();
2248
method public Float? getMinChargingPower();
2349
method public java.util.List<java.lang.String>? getOperators();
2450
property public final java.util.List<java.lang.String>? connectorTypes;
51+
property public final java.util.List<java.lang.String>? excludeOperators;
2552
property public final Float? maxChargingPower;
2653
property public final Float? minChargingPower;
2754
property public final java.util.List<java.lang.String>? operators;
@@ -134,6 +161,10 @@ package com.mapbox.search.offline {
134161
method public default void addEngineReadyCallback(com.mapbox.search.offline.OfflineSearchEngine.EngineReadyCallback callback);
135162
method public void addOnIndexChangeListener(java.util.concurrent.Executor executor, com.mapbox.search.offline.OfflineSearchEngine.OnIndexChangeListener listener);
136163
method public default void addOnIndexChangeListener(com.mapbox.search.offline.OfflineSearchEngine.OnIndexChangeListener listener);
164+
method @com.mapbox.annotation.MapboxExperimental public com.mapbox.search.common.AsyncOperationTask categorySearch(java.util.List<java.lang.String> categoryNames, com.mapbox.search.offline.OfflineCategorySearchOptions options, java.util.concurrent.Executor executor, com.mapbox.search.offline.OfflineSearchCallback callback);
165+
method @com.mapbox.annotation.MapboxExperimental public default com.mapbox.search.common.AsyncOperationTask categorySearch(java.util.List<java.lang.String> categoryNames, com.mapbox.search.offline.OfflineCategorySearchOptions options, com.mapbox.search.offline.OfflineSearchCallback callback);
166+
method @com.mapbox.annotation.MapboxExperimental public default com.mapbox.search.common.AsyncOperationTask categorySearch(String categoryName, com.mapbox.search.offline.OfflineCategorySearchOptions options, java.util.concurrent.Executor executor, com.mapbox.search.offline.OfflineSearchCallback callback);
167+
method @com.mapbox.annotation.MapboxExperimental public default com.mapbox.search.common.AsyncOperationTask categorySearch(String categoryName, com.mapbox.search.offline.OfflineCategorySearchOptions options, com.mapbox.search.offline.OfflineSearchCallback callback);
137168
method public default static com.mapbox.search.offline.OfflineSearchEngine create(com.mapbox.search.offline.OfflineSearchEngineSettings settings);
138169
method public default static com.mapbox.common.TilesetDescriptor createPlacesTilesetDescriptor(String dataset = "mbx-gen2", String version = "", String? language = null);
139170
method public default static final com.mapbox.common.TilesetDescriptor createPlacesTilesetDescriptor(String dataset = "mbx-gen2", String version = "");

0 commit comments

Comments
 (0)