From 1d3e3417aa82aa83e88baf8e8ffe5183e2bf8938 Mon Sep 17 00:00:00 2001 From: johan12345 Date: Sat, 1 Oct 2022 09:57:07 +0200 Subject: [PATCH] Revert "use CarIconSpan in row texts" This reverts commit 4989aedd8bbfbec1c0c6ca1ccaf27ae3449a3415. --- .../evmap/auto/ChargerDetailScreen.kt | 76 ++++--------------- app/src/main/res/drawable/ic_lightning.xml | 10 --- app/src/main/res/drawable/ic_parking.xml | 10 --- 3 files changed, 16 insertions(+), 80 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_lightning.xml delete mode 100644 app/src/main/res/drawable/ic_parking.xml 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..88dfde68 100644 --- a/app/src/google/java/net/vonforst/evmap/auto/ChargerDetailScreen.kt +++ b/app/src/google/java/net/vonforst/evmap/auto/ChargerDetailScreen.kt @@ -7,7 +7,6 @@ import android.graphics.Matrix import android.graphics.RectF import android.graphics.drawable.BitmapDrawable import android.net.Uri -import android.text.SpannableString import android.text.SpannableStringBuilder import android.text.Spanned import androidx.car.app.CarContext @@ -33,8 +32,6 @@ import net.vonforst.evmap.api.createApi import net.vonforst.evmap.api.nameForPlugType import net.vonforst.evmap.api.stringProvider import net.vonforst.evmap.model.ChargeLocation -import net.vonforst.evmap.model.Cost -import net.vonforst.evmap.model.FaultReport import net.vonforst.evmap.model.Favorite import net.vonforst.evmap.storage.AppDatabase import net.vonforst.evmap.storage.ChargeLocationsRepository @@ -247,9 +244,15 @@ class ChargerDetailScreen(ctx: CarContext, val chargerSparse: ChargeLocation) : val operatorText = generateOperatorText(charger) setTitle(operatorText) - charger.cost?.let { addText(generateCostStatusText(it)) } + charger.cost?.let { addText(it.getStatusText(carContext, emoji = true)) } charger.faultReport?.let { fault -> - addText(generateFaultReportTitle(fault)) + addText( + carContext.getString( + R.string.auto_fault_report_date, + fault.created?.atZone(ZoneId.systemDefault()) + ?.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)) + ) + ) } }.build()) } else { @@ -264,14 +267,20 @@ class ChargerDetailScreen(ctx: CarContext, val chargerSparse: ChargeLocation) : val operatorText = generateOperatorText(charger) setTitle(operatorText) charger.cost?.let { - addText(generateCostStatusText(it)) + addText(it.getStatusText(carContext, emoji = true)) it.getDetailText()?.let { addText(it) } } }.build()) // row 3: fault report (if exists) charger.faultReport?.let { fault -> rows.add(Row.Builder().apply { - setTitle(generateFaultReportTitle(fault)) + setTitle( + carContext.getString( + R.string.auto_fault_report_date, + fault.created?.atZone(ZoneId.systemDefault()) + ?.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)) + ) + ) fault.description?.let { addText( HtmlCompat.fromHtml( @@ -296,59 +305,6 @@ class ChargerDetailScreen(ctx: CarContext, val chargerSparse: ChargeLocation) : return rows } - private fun generateCostStatusText(cost: Cost): CharSequence { - val string = SpannableString(cost.getStatusText(carContext, emoji = true)) - // replace emoji with CarIcon - string.indexOf('⚡').takeIf { it >= 0 }?.let { index -> - string.setSpan( - CarIconSpan.create( - CarIcon.Builder( - IconCompat.createWithResource( - carContext, - R.drawable.ic_lightning - ) - ).setTint(CarColor.YELLOW).build() - ), index, index + 1, SpannableString.SPAN_INCLUSIVE_EXCLUSIVE - ) - } - string.indexOf('\uD83C').takeIf { it >= 0 }?.let { index -> - string.setSpan( - CarIconSpan.create( - CarIcon.Builder( - IconCompat.createWithResource( - carContext, - R.drawable.ic_parking - ) - ).setTint(CarColor.BLUE).build() - ), index, index + 2, SpannableString.SPAN_INCLUSIVE_EXCLUSIVE - ) - } - return string - } - - - private fun generateFaultReportTitle(fault: FaultReport): CharSequence { - val string = SpannableString( - carContext.getString( - R.string.auto_fault_report_date, - fault.created?.atZone(ZoneId.systemDefault()) - ?.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)) - ) - ) - // replace emoji with CarIcon - string.setSpan( - CarIconSpan.create( - CarIcon.Builder( - IconCompat.createWithResource( - carContext, - R.drawable.ic_fault_report - ) - ).setTint(CarColor.YELLOW).build() - ), 0, 1, SpannableString.SPAN_INCLUSIVE_EXCLUSIVE - ) - return string - } - private fun generateChargepointsText(charger: ChargeLocation): SpannableStringBuilder { val chargepointsText = SpannableStringBuilder() charger.chargepointsMerged.forEachIndexed { i, cp -> diff --git a/app/src/main/res/drawable/ic_lightning.xml b/app/src/main/res/drawable/ic_lightning.xml deleted file mode 100644 index 449f1531..00000000 --- a/app/src/main/res/drawable/ic_lightning.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_parking.xml b/app/src/main/res/drawable/ic_parking.xml deleted file mode 100644 index a9f5ff81..00000000 --- a/app/src/main/res/drawable/ic_parking.xml +++ /dev/null @@ -1,10 +0,0 @@ - - -