From c8f333ce89202b82f288ff1a1a3e41e6ff8c3695 Mon Sep 17 00:00:00 2001 From: johan12345 Date: Sat, 13 Aug 2022 16:06:26 +0200 Subject: [PATCH] try to use plug icons in detail view #199, #198 --- .../evmap/auto/ChargerDetailScreen.kt | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/app/src/google/java/net/vonforst/evmap/auto/ChargerDetailScreen.kt b/app/src/google/java/net/vonforst/evmap/auto/ChargerDetailScreen.kt index 304faee5..5b84f643 100644 --- a/app/src/google/java/net/vonforst/evmap/auto/ChargerDetailScreen.kt +++ b/app/src/google/java/net/vonforst/evmap/auto/ChargerDetailScreen.kt @@ -3,6 +3,7 @@ package net.vonforst.evmap.auto import android.content.Intent import android.graphics.Bitmap import android.graphics.Canvas +import android.graphics.Color import android.graphics.Matrix import android.graphics.RectF import android.graphics.drawable.BitmapDrawable @@ -30,6 +31,7 @@ import net.vonforst.evmap.api.availability.ChargeLocationStatus import net.vonforst.evmap.api.availability.getAvailability import net.vonforst.evmap.api.chargeprice.ChargepriceApi import net.vonforst.evmap.api.createApi +import net.vonforst.evmap.api.iconForPlugType import net.vonforst.evmap.api.nameForPlugType import net.vonforst.evmap.api.stringProvider import net.vonforst.evmap.model.ChargeLocation @@ -354,13 +356,21 @@ class ChargerDetailScreen(ctx: CarContext, val chargerSparse: ChargeLocation) : charger.chargepointsMerged.forEachIndexed { i, cp -> if (i > 0) chargepointsText.append(" · ") chargepointsText.append( - "${cp.count}× ${ - nameForPlugType( - carContext.stringProvider(), - cp.type - ) - } ${cp.formatPower()}" - ) + "${cp.count}× " + ).append( + nameForPlugType(carContext.stringProvider(), cp.type), + CarIconSpan.create( + CarIcon.Builder( + IconCompat.createWithResource( + carContext, + iconForPlugType(cp.type) + ) + ).setTint( + CarColor.createCustom(Color.WHITE, Color.BLACK) + ).build() + ), + Spanned.SPAN_INCLUSIVE_EXCLUSIVE + ).append(" ").append(cp.formatPower()) availability?.status?.get(cp)?.let { status -> chargepointsText.append( " (${availabilityText(status)}/${cp.count})",