Skip to content

Commit

Permalink
SearchPlace.id; SearchResultType.BLOCK; 1.0.0-beta.35 release (#66)
Browse files Browse the repository at this point in the history
* SearchPlace.id

* Bump Search Native, Common SDK, and Maps SDK versions

* SearchResultType.BLOCK

* Bump Search SDK version to 1.0.0-beta.35

* Add autofill api reference publishing
  • Loading branch information
DzmitryFomchyn authored Aug 16, 2022
1 parent dc33036 commit 246141a
Show file tree
Hide file tree
Showing 21 changed files with 82 additions and 25 deletions.
12 changes: 9 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# Changelog for the Mapbox Search SDK for Android

## 1.0.0-beta.35-SNAPSHOT
## 1.0.0-beta.35

### Breaking changes
- [UI] Now `SearchPlace` constructor requires additional property `id`. `copy()` function's signature has also been changed.

### New features
- [CORE] SearchResultType provides a new value - `BLOCK` which represents the block number. Available specifically for Japan.

### Mapbox dependencies
- Search Native SDK `0.57.0`
- Common SDK `22.1.0-beta.1`
- Search Native SDK `0.58.0`
- Common SDK `23.0.0-beta.1`
- Kotlin `1.5.31`


Expand Down
2 changes: 1 addition & 1 deletion MapboxSearch/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ android.enableJetifier=false
kotlin.code.style=official

# SDK version attributes
VERSION_NAME=1.0.0-beta.35-SNAPSHOT
VERSION_NAME=1.0.0-beta.35

# Artifact attributes
mapboxArtifactUserOrg=mapbox
Expand Down
18 changes: 9 additions & 9 deletions MapboxSearch/gradle/versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,29 +28,29 @@ ext {
androidx_test_runner_version = '1.4.0'
androidx_test_rules_version = '1.4.0'
androidx_junit_version = '1.1.3'
barista_version = "4.2.0"
ui_automator_version = "2.2.0"
barista_version = '4.2.0'
ui_automator_version = '2.2.0'
espresso_version = '3.0.2'
espresso_core_version = '3.4.0'
junit_5_version = '5.8.2'
mockito_version = '3.0.0'
mockk_version = '1.12.2'
kotlin_test_dsl_version = '0.1.5'

equals_verifier_version = "3.8.2"
equals_verifier_version = '3.8.2'

pitest_version = '1.6.7'

mapbox_maps_version = "10.6.0"
common_sdk_version = '22.1.0-beta.1'
mapbox_maps_version = '10.8.0-beta.1'
common_sdk_version = '23.0.0-beta.1'
mapbox_base_version = '0.8.0'
mapbox_android_core_version = '5.0.1'

search_native_version = '0.57.0'
search_native_version = '0.58.0'

detekt_version = "1.19.0"
detekt_version = '1.19.0'

leakcanary_version = "2.8.1"
leakcanary_version = '2.8.1'

jacoco_tool_version = "0.8.7"
jacoco_tool_version = '0.8.7'
}
1 change: 1 addition & 0 deletions MapboxSearch/sdk/api/api-metalava.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1421,6 +1421,7 @@ package com.mapbox.search.result {

public enum SearchResultType {
enum_constant public static final com.mapbox.search.result.SearchResultType ADDRESS;
enum_constant public static final com.mapbox.search.result.SearchResultType BLOCK;
enum_constant public static final com.mapbox.search.result.SearchResultType COUNTRY;
enum_constant public static final com.mapbox.search.result.SearchResultType DISTRICT;
enum_constant public static final com.mapbox.search.result.SearchResultType LOCALITY;
Expand Down
1 change: 1 addition & 0 deletions MapboxSearch/sdk/api/sdk.api
Original file line number Diff line number Diff line change
Expand Up @@ -1506,6 +1506,7 @@ public abstract interface class com/mapbox/search/result/SearchResult : android/

public final class com/mapbox/search/result/SearchResultType : java/lang/Enum {
public static final field ADDRESS Lcom/mapbox/search/result/SearchResultType;
public static final field BLOCK Lcom/mapbox/search/result/SearchResultType;
public static final field COUNTRY Lcom/mapbox/search/result/SearchResultType;
public static final field DISTRICT Lcom/mapbox/search/result/SearchResultType;
public static final field LOCALITY Lcom/mapbox/search/result/SearchResultType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.mapbox.search
import android.app.Application
import com.mapbox.android.core.location.LocationEngine
import com.mapbox.bindgen.Value
import com.mapbox.common.EventsServerOptions
import com.mapbox.common.EventsService
import com.mapbox.common.EventsServiceOptions
import com.mapbox.common.TileDataDomain
import com.mapbox.common.TileStoreOptions
import com.mapbox.search.analytics.AnalyticsEventJsonParser
Expand Down Expand Up @@ -192,7 +192,7 @@ public object MapboxSearchSdk {
formattedTimeProvider = formattedTimeProvider,
)

val eventsService = EventsService(EventsServiceOptions(accessToken, userAgent, null))
val eventsService = EventsService.getOrCreate(EventsServerOptions(accessToken, userAgent))

return AnalyticsServiceImpl(
context = application,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ internal enum class OriginalResultType {
POI,
STREET,
POSTCODE,
BLOCK,
CATEGORY,
QUERY,
USER_RECORD;
Expand All @@ -33,6 +34,7 @@ internal enum class OriginalResultType {
POI -> SearchResultType.POI
STREET -> SearchResultType.STREET
POSTCODE -> SearchResultType.POSTCODE
BLOCK -> SearchResultType.BLOCK
UNKNOWN,
USER_RECORD,
CATEGORY,
Expand All @@ -56,6 +58,7 @@ internal fun OriginalResultType.mapToCore(): CoreResultType {
OriginalResultType.USER_RECORD -> CoreResultType.USER_RECORD
OriginalResultType.STREET -> CoreResultType.STREET
OriginalResultType.POSTCODE -> CoreResultType.POSTCODE
OriginalResultType.BLOCK -> CoreResultType.BLOCK
OriginalResultType.QUERY -> CoreResultType.QUERY
}
}
Expand All @@ -75,6 +78,7 @@ internal fun CoreResultType.mapToPlatform(): OriginalResultType {
CoreResultType.USER_RECORD -> OriginalResultType.USER_RECORD
CoreResultType.STREET -> OriginalResultType.STREET
CoreResultType.POSTCODE -> OriginalResultType.POSTCODE
CoreResultType.BLOCK -> OriginalResultType.BLOCK
CoreResultType.QUERY -> OriginalResultType.QUERY
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ internal class SearchResultFactory(private val dataProviderResolver: DataProvide
OriginalResultType.POI,
OriginalResultType.STREET,
OriginalResultType.POSTCODE,
OriginalResultType.BLOCK,
OriginalResultType.QUERY -> {
when (apiType) {
ApiType.GEOCODING -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ public enum class SearchResultType {
*/
POSTCODE,

/**
* The block number. Available specifically for Japan.
*/
BLOCK,

/**
* Features that are smaller than top-level administrative features but typically larger than cities,
* in countries that use such an additional layer in postal addressing (for example, prefectures in China).
Expand Down Expand Up @@ -72,6 +77,7 @@ internal fun SearchResultType.mapToCore(): CoreResultType {
SearchResultType.COUNTRY -> CoreResultType.COUNTRY
SearchResultType.REGION -> CoreResultType.REGION
SearchResultType.POSTCODE -> CoreResultType.POSTCODE
SearchResultType.BLOCK -> CoreResultType.BLOCK
SearchResultType.PLACE -> CoreResultType.PLACE
SearchResultType.DISTRICT -> CoreResultType.DISTRICT
SearchResultType.LOCALITY -> CoreResultType.LOCALITY
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ internal enum class SearchResultTypeDAO : DataAccessObject<SearchResultType> {
@SerializedName("STREET")
STREET,
@SerializedName("POSTCODE")
POSTCODE;
POSTCODE,
@SerializedName("BLOCK")
BLOCK;

override val isValid: Boolean
get() = true
Expand All @@ -41,6 +43,7 @@ internal enum class SearchResultTypeDAO : DataAccessObject<SearchResultType> {
NEIGHBORHOOD -> SearchResultType.NEIGHBORHOOD
STREET -> SearchResultType.STREET
POSTCODE -> SearchResultType.POSTCODE
BLOCK -> SearchResultType.BLOCK
}
}

Expand All @@ -58,6 +61,7 @@ internal enum class SearchResultTypeDAO : DataAccessObject<SearchResultType> {
SearchResultType.NEIGHBORHOOD -> NEIGHBORHOOD
SearchResultType.STREET -> STREET
SearchResultType.POSTCODE -> POSTCODE
SearchResultType.BLOCK -> BLOCK
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,14 @@ internal class OriginalResultTypeTest {
originalType.tryMapToSearchResultType()
)
}
OriginalResultType.BLOCK -> {
Then("isSearchResultType should be true", true, originalType.isSearchResultType)
Then(
"tryMapToSearchResultType() should return BLOCK",
SearchResultType.BLOCK,
originalType.tryMapToSearchResultType()
)
}
OriginalResultType.CATEGORY,
OriginalResultType.QUERY,
OriginalResultType.USER_RECORD,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ internal class SearchResultTypeTest {
SearchResultType.NEIGHBORHOOD -> CoreResultType.NEIGHBORHOOD
SearchResultType.STREET -> CoreResultType.STREET
SearchResultType.POSTCODE -> CoreResultType.POSTCODE
SearchResultType.BLOCK -> CoreResultType.BLOCK
}
Then("Core value should be $expectedCoreType", expectedCoreType, it.mapToCore())
}
Expand All @@ -39,7 +40,7 @@ internal class SearchResultTypeTest {

private companion object {
val SEARCH_RESULT_TYPE_VALUES = listOf(
"COUNTRY", "REGION", "POSTCODE", "DISTRICT", "PLACE",
"COUNTRY", "REGION", "POSTCODE", "BLOCK", "DISTRICT", "PLACE",
"LOCALITY", "NEIGHBORHOOD", "STREET", "ADDRESS", "POI",
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ internal class SearchSuggestionTest {
OriginalResultType.LOCALITY,
OriginalResultType.NEIGHBORHOOD,
OriginalResultType.STREET,
OriginalResultType.POSTCODE -> {
OriginalResultType.POSTCODE,
OriginalResultType.BLOCK -> {
When("Trying ro instantiate ServerSearchSuggestion with original type = $originalType") {
val expectedResultType = checkNotNull(originalType.tryMapToSearchResultType()) {
"$originalType must have corresponding ${SearchResultType::class.java.simpleName}"
Expand Down Expand Up @@ -302,7 +303,8 @@ internal class SearchSuggestionTest {
OriginalResultType.LOCALITY,
OriginalResultType.NEIGHBORHOOD,
OriginalResultType.STREET,
OriginalResultType.POSTCODE -> {
OriginalResultType.POSTCODE,
OriginalResultType.BLOCK -> {
When("Trying ro instantiate GeocodingCompatSearchSuggestion with original type = $originalType") {
val expectedResultType = checkNotNull(originalType.tryMapToSearchResultType()) {
"$originalType must have corresponding ${SearchResultType::class.java.simpleName}"
Expand Down
4 changes: 3 additions & 1 deletion MapboxSearch/ui/api/api-metalava.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ package com.mapbox.search.ui.view.place {
}

@kotlinx.parcelize.Parcelize public final class SearchPlace implements android.os.Parcelable {
ctor public SearchPlace(String name, String? descriptionText, com.mapbox.search.result.SearchAddress? address, java.util.List<? extends com.mapbox.search.result.SearchResultType> resultTypes, com.mapbox.search.record.IndexableRecord? record, com.mapbox.geojson.Point coordinate, java.util.List<com.mapbox.search.result.RoutablePoint>? routablePoints, java.util.List<java.lang.String>? categories, String? makiIcon, com.mapbox.search.SearchResultMetadata? metadata, Double? distanceMeters, com.mapbox.search.ui.view.place.IncorrectSearchPlaceFeedback? feedback);
ctor public SearchPlace(String id, String name, String? descriptionText, com.mapbox.search.result.SearchAddress? address, java.util.List<? extends com.mapbox.search.result.SearchResultType> resultTypes, com.mapbox.search.record.IndexableRecord? record, com.mapbox.geojson.Point coordinate, java.util.List<com.mapbox.search.result.RoutablePoint>? routablePoints, java.util.List<java.lang.String>? categories, String? makiIcon, com.mapbox.search.SearchResultMetadata? metadata, Double? distanceMeters, com.mapbox.search.ui.view.place.IncorrectSearchPlaceFeedback? feedback);
method public static com.mapbox.search.ui.view.place.SearchPlace createFromIndexableRecord(com.mapbox.search.record.IndexableRecord record, com.mapbox.geojson.Point coordinate, Double? distanceMeters);
method public static com.mapbox.search.ui.view.place.SearchPlace createFromSearchResult(com.mapbox.search.result.SearchResult searchResult, com.mapbox.search.ResponseInfo responseInfo, com.mapbox.geojson.Point coordinate, Double? distanceMeters = searchResult.distanceMeters);
method public static com.mapbox.search.ui.view.place.SearchPlace createFromSearchResult(com.mapbox.search.result.SearchResult searchResult, com.mapbox.search.ResponseInfo responseInfo, com.mapbox.geojson.Point coordinate);
Expand All @@ -149,6 +149,7 @@ package com.mapbox.search.ui.view.place {
method public String? getDescriptionText();
method public Double? getDistanceMeters();
method public com.mapbox.search.ui.view.place.IncorrectSearchPlaceFeedback? getFeedback();
method public String getId();
method public String? getMakiIcon();
method public com.mapbox.search.SearchResultMetadata? getMetadata();
method public String getName();
Expand All @@ -161,6 +162,7 @@ package com.mapbox.search.ui.view.place {
property public final String? descriptionText;
property public final Double? distanceMeters;
property public final com.mapbox.search.ui.view.place.IncorrectSearchPlaceFeedback? feedback;
property public final String id;
property public final String? makiIcon;
property public final com.mapbox.search.SearchResultMetadata? metadata;
property public final String name;
Expand Down
7 changes: 4 additions & 3 deletions MapboxSearch/ui/api/ui.api
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,9 @@ public final class com/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback$
public final class com/mapbox/search/ui/view/place/SearchPlace : android/os/Parcelable {
public static final field CREATOR Landroid/os/Parcelable$Creator;
public static final field Companion Lcom/mapbox/search/ui/view/place/SearchPlace$Companion;
public fun <init> (Ljava/lang/String;Ljava/lang/String;Lcom/mapbox/search/result/SearchAddress;Ljava/util/List;Lcom/mapbox/search/record/IndexableRecord;Lcom/mapbox/geojson/Point;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lcom/mapbox/search/SearchResultMetadata;Ljava/lang/Double;Lcom/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback;)V
public final synthetic fun copy (Ljava/lang/String;Ljava/lang/String;Lcom/mapbox/search/result/SearchAddress;Ljava/util/List;Lcom/mapbox/search/record/IndexableRecord;Lcom/mapbox/geojson/Point;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lcom/mapbox/search/SearchResultMetadata;Ljava/lang/Double;Lcom/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback;)Lcom/mapbox/search/ui/view/place/SearchPlace;
public static synthetic fun copy$default (Lcom/mapbox/search/ui/view/place/SearchPlace;Ljava/lang/String;Ljava/lang/String;Lcom/mapbox/search/result/SearchAddress;Ljava/util/List;Lcom/mapbox/search/record/IndexableRecord;Lcom/mapbox/geojson/Point;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lcom/mapbox/search/SearchResultMetadata;Ljava/lang/Double;Lcom/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback;ILjava/lang/Object;)Lcom/mapbox/search/ui/view/place/SearchPlace;
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/mapbox/search/result/SearchAddress;Ljava/util/List;Lcom/mapbox/search/record/IndexableRecord;Lcom/mapbox/geojson/Point;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lcom/mapbox/search/SearchResultMetadata;Ljava/lang/Double;Lcom/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback;)V
public final synthetic fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/mapbox/search/result/SearchAddress;Ljava/util/List;Lcom/mapbox/search/record/IndexableRecord;Lcom/mapbox/geojson/Point;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lcom/mapbox/search/SearchResultMetadata;Ljava/lang/Double;Lcom/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback;)Lcom/mapbox/search/ui/view/place/SearchPlace;
public static synthetic fun copy$default (Lcom/mapbox/search/ui/view/place/SearchPlace;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/mapbox/search/result/SearchAddress;Ljava/util/List;Lcom/mapbox/search/record/IndexableRecord;Lcom/mapbox/geojson/Point;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Lcom/mapbox/search/SearchResultMetadata;Ljava/lang/Double;Lcom/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback;ILjava/lang/Object;)Lcom/mapbox/search/ui/view/place/SearchPlace;
public static final fun createFromIndexableRecord (Lcom/mapbox/search/record/IndexableRecord;Lcom/mapbox/geojson/Point;Ljava/lang/Double;)Lcom/mapbox/search/ui/view/place/SearchPlace;
public static final fun createFromSearchResult (Lcom/mapbox/search/result/SearchResult;Lcom/mapbox/search/ResponseInfo;Lcom/mapbox/geojson/Point;)Lcom/mapbox/search/ui/view/place/SearchPlace;
public static final fun createFromSearchResult (Lcom/mapbox/search/result/SearchResult;Lcom/mapbox/search/ResponseInfo;Lcom/mapbox/geojson/Point;Ljava/lang/Double;)Lcom/mapbox/search/ui/view/place/SearchPlace;
Expand All @@ -143,6 +143,7 @@ public final class com/mapbox/search/ui/view/place/SearchPlace : android/os/Parc
public final fun getDescriptionText ()Ljava/lang/String;
public final fun getDistanceMeters ()Ljava/lang/Double;
public final fun getFeedback ()Lcom/mapbox/search/ui/view/place/IncorrectSearchPlaceFeedback;
public final fun getId ()Ljava/lang/String;
public final fun getMakiIcon ()Ljava/lang/String;
public final fun getMetadata ()Lcom/mapbox/search/SearchResultMetadata;
public final fun getName ()Ljava/lang/String;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ internal object SearchEntityPresentation {
SearchResultType.NEIGHBORHOOD -> R.string.mapbox_search_sdk_search_result_type_neighborhood
SearchResultType.STREET -> R.string.mapbox_search_sdk_search_result_type_street
SearchResultType.POSTCODE -> R.string.mapbox_search_sdk_search_result_type_postcode
SearchResultType.BLOCK -> R.string.mapbox_search_sdk_search_result_type_block
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ import kotlinx.parcelize.Parcelize
@Parcelize
public class SearchPlace(

/**
* Search place id.
*/
public val id: String,

/**
* Search place name.
*/
Expand Down Expand Up @@ -87,6 +92,7 @@ public class SearchPlace(
*/
@JvmSynthetic
public fun copy(
id: String = this.id,
name: String = this.name,
descriptionText: String? = this.descriptionText,
address: SearchAddress? = this.address,
Expand All @@ -101,6 +107,7 @@ public class SearchPlace(
feedback: IncorrectSearchPlaceFeedback? = this.feedback,
): SearchPlace {
return SearchPlace(
id = id,
name = name,
descriptionText = descriptionText,
address = address,
Expand All @@ -125,6 +132,7 @@ public class SearchPlace(

other as SearchPlace

if (id != other.id) return false
if (name != other.name) return false
if (descriptionText != other.descriptionText) return false
if (address != other.address) return false
Expand All @@ -145,7 +153,8 @@ public class SearchPlace(
* @suppress
*/
override fun hashCode(): Int {
var result = name.hashCode()
var result = id.hashCode()
result = 31 * result + name.hashCode()
result = 31 * result + (descriptionText?.hashCode() ?: 0)
result = 31 * result + (address?.hashCode() ?: 0)
result = 31 * result + resultTypes.hashCode()
Expand All @@ -165,6 +174,7 @@ public class SearchPlace(
*/
override fun toString(): String {
return "SearchPlace(" +
"id='$id', " +
"name='$name', " +
"descriptionText=$descriptionText, " +
"address=$address, " +
Expand Down Expand Up @@ -204,6 +214,7 @@ public class SearchPlace(
distanceMeters: Double? = searchResult.distanceMeters
): SearchPlace {
return SearchPlace(
id = searchResult.id,
name = searchResult.name,
descriptionText = searchResult.descriptionText,
address = searchResult.address,
Expand Down Expand Up @@ -240,6 +251,7 @@ public class SearchPlace(
else -> null
}
return SearchPlace(
id = record.id,
name = record.name,
descriptionText = record.descriptionText,
address = record.address,
Expand Down
Loading

0 comments on commit 246141a

Please sign in to comment.