override fun onBindViewHolder(viewHolder: RouteInstructionViewHolder, position: Int)
{
val instruction = dataSet[position]
var text: String
var status: String
var description: String
var turnImage: Bitmap?
SdkCall.execute {
if (instruction.hasTurnInfo())
{
val aInner = if (isDarkThemeOn) Rgba(255, 255, 255, 255) else Rgba(0, 0, 0, 255)
val aOuter = if (isDarkThemeOn) Rgba(0, 0, 0, 255) else Rgba(255, 255, 255, 255)
val iInner = Rgba(128, 128, 128, 255)
val iOuter = Rgba(128, 128, 128, 255)
turnImage = GemUtilImages.asBitmap(instruction.turnDetails?.abstractGeometryImage, imageSize, imageSize, aInner, aOuter, iInner, iOuter)
text = instruction.turnInstruction ?: ""
if (text.isNotEmpty() && text.last() == '.')
{
text.removeSuffix(".")
}
val distance = instruction.traveledTimeDistance?.totalDistance?.toDouble() ?: 0.0
val distText = GemUtil.getDistText(distance.toInt(), SdkSettings.unitSystem)
status = distText.first
description = distText.second
if (status == "0.00")
{
status = "0"
}
postOnMain {
viewHolder.turnImage.setImageBitmap(turnImage)
viewHolder.text.text = text
viewHolder.status.text = status
viewHolder.description.text = description
}
}
}
}