Skip to content

Commit 7dddfaf

Browse files
refactor: remove maneuver key hashing
1 parent 52ed1b9 commit 7dddfaf

File tree

4 files changed

+18
-22
lines changed

4 files changed

+18
-22
lines changed

android/src/main/kotlin/com/google/maps/flutter/navigation/Convert.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -890,17 +890,15 @@ object Convert {
890890
}
891891
}
892892

893-
fun convertManeuverToHash(maneuver: Int): String {
894-
return MessageDigest.getInstance("SHA-256")
895-
.digest("maneuver_$maneuver".toByteArray())
896-
.joinToString("") { "%02x".format(it) }
893+
fun convertManeuverToKey(maneuver: Int): String {
894+
return "maneuver_$maneuver"
897895
}
898896

899897
private fun convertNavInfoStepInfo(
900898
stepInfo: StepInfo,
901899
imageDescriptors: Map<String, ImageDescriptorDto?>,
902900
): StepInfoDto {
903-
val hash = convertManeuverToHash(stepInfo.maneuver)
901+
val key = convertManeuverToKey(stepInfo.maneuver)
904902
return StepInfoDto(
905903
distanceFromPrevStepMeters = stepInfo.distanceFromPrevStepMeters?.toLong() ?: 0L,
906904
timeFromPrevStepSeconds = stepInfo.timeFromPrevStepSeconds?.toLong() ?: 0L,
@@ -924,7 +922,7 @@ object Convert {
924922
)
925923
},
926924
maneuver = convertManeuver(stepInfo.maneuver),
927-
image = imageDescriptors[hash],
925+
image = imageDescriptors[key],
928926
)
929927
}
930928

android/src/main/kotlin/com/google/maps/flutter/navigation/GoogleMapsNavigationSessionManager.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -729,7 +729,7 @@ constructor(
729729

730730
fun getManeuverIconImageDescriptor(maneuver: Int): ImageDescriptorDto? {
731731
val registeredImage =
732-
imageRegistry.findRegisteredImage(Convert.convertManeuverToHash(maneuver))
732+
imageRegistry.findRegisteredImage(Convert.convertManeuverToKey(maneuver))
733733
if (registeredImage == null) return null
734734
return Convert.registeredImageToImageDescriptorDto(registeredImage)
735735
}
@@ -741,7 +741,7 @@ constructor(
741741
return imageDescriptor
742742
}
743743
return imageRegistry.registerManeuverIcon(
744-
Convert.convertManeuverToHash(stepInfo.maneuver),
744+
Convert.convertManeuverToKey(stepInfo.maneuver),
745745
bitmap,
746746
bitmap.width.toDouble() / bitmap.height.toDouble(),
747747
bitmap.width.toDouble(),
@@ -755,11 +755,11 @@ constructor(
755755
val imageDescriptors: MutableMap<String, ImageDescriptorDto?> = mutableMapOf()
756756

757757
(navInfo.remainingSteps + navInfo.currentStep).forEach {
758-
val hash = Convert.convertManeuverToHash(it.maneuver)
759-
val existingImageDescriptor = imageDescriptors[hash]
758+
val key = Convert.convertManeuverToKey(it.maneuver)
759+
val existingImageDescriptor = imageDescriptors[key]
760760
if (existingImageDescriptor == null) {
761761
val imageDescriptor = getImageDescriptorForStepInfo(it)
762-
imageDescriptors[hash] = imageDescriptor
762+
imageDescriptors[key] = imageDescriptor
763763
}
764764
}
765765

ios/google_navigation_flutter/Sources/google_navigation_flutter/Convert.swift

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ enum Convert {
185185
}
186186

187187
static func convertStepInfo(_ stepInfo: GMSNavigationStepInfo,_ imageDescriptors: [String: ImageDescriptorDto?]) -> StepInfoDto {
188-
let hash = convertManeuverToHash(stepInfo.maneuver)
188+
let key = convertManeuverToKey(stepInfo.maneuver)
189189
return .init(
190190
distanceFromPrevStepMeters: stepInfo.distanceFromPrevStepMeters > 0
191191
? Int64(stepInfo.distanceFromPrevStepMeters) : nil,
@@ -201,7 +201,7 @@ enum Convert {
201201
lanes: nil,
202202
maneuver: convertManeuver(maneuver: stepInfo.maneuver),
203203
stepNumber: stepInfo.stepNumber >= 0 ? Int64(stepInfo.stepNumber) : nil,
204-
image: imageDescriptors[hash] ?? nil
204+
image: imageDescriptors[key] ?? nil
205205
)
206206
}
207207

@@ -554,10 +554,8 @@ enum Convert {
554554
)
555555
}
556556

557-
static func convertManeuverToHash(_ maneuver: GMSNavigationManeuver) -> String {
558-
var hasher = Hasher()
559-
hasher.combine("maneuver_\(maneuver.rawValue)")
560-
return String(hasher.finalize())
557+
static func convertManeuverToKey(_ maneuver: GMSNavigationManeuver) -> String {
558+
return "maneuver_\(maneuver.rawValue)"
561559
}
562560

563561
static func registeredImageToImageDescriptorDto(registeredImage: RegisteredImage?) -> ImageDescriptorDto {

ios/google_navigation_flutter/Sources/google_navigation_flutter/GoogleMapsNavigationSessionManager.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ extension GoogleMapsNavigationSessionManager: GMSNavigatorListener {
607607
}
608608

609609
func getManeuverIconImageDescriptor(maneuver: GMSNavigationManeuver) -> ImageDescriptorDto? {
610-
guard let registeredImage = GoogleMapsNavigationPlugin.imageRegistry?.findRegisteredImage(imageId: Convert.convertManeuverToHash(maneuver)) else {
610+
guard let registeredImage = GoogleMapsNavigationPlugin.imageRegistry?.findRegisteredImage(imageId: Convert.convertManeuverToKey(maneuver)) else {
611611
return nil
612612
}
613613
return Convert.registeredImageToImageDescriptorDto(registeredImage: registeredImage)
@@ -619,7 +619,7 @@ extension GoogleMapsNavigationSessionManager: GMSNavigatorListener {
619619
let width = Double(bitmap.size.width)
620620
let height = Double(bitmap.size.height)
621621
return try? GoogleMapsNavigationPlugin.imageRegistry?.registerManeuverIcon(
622-
imageId: Convert.convertManeuverToHash(step.maneuver),
622+
imageId: Convert.convertManeuverToKey(step.maneuver),
623623
image: bitmap,
624624
imagePixelRatio: height == 0 ? 0 : width / height,
625625
width: width,
@@ -641,11 +641,11 @@ extension GoogleMapsNavigationSessionManager: GMSNavigatorListener {
641641
.compactMap { $0 }
642642
steps
643643
.forEach { step in
644-
let hash = Convert.convertManeuverToHash(step.maneuver)
645-
let existingImageDescriptor = imageDescriptors[hash]
644+
let key = Convert.convertManeuverToKey(step.maneuver)
645+
let existingImageDescriptor = imageDescriptors[key]
646646
if (existingImageDescriptor == nil) {
647647
let imageDescriptor = getImageDescriptorForStepInfo(step)
648-
imageDescriptors.updateValue(imageDescriptor, forKey: hash)
648+
imageDescriptors.updateValue(imageDescriptor, forKey: key)
649649
}
650650
}
651651
}

0 commit comments

Comments
 (0)