From 258a04b14eebf678b6006f23a49a5c4d3136d2c7 Mon Sep 17 00:00:00 2001 From: johan12345 Date: Wed, 22 Jun 2022 22:49:22 +0200 Subject: [PATCH] SearchSelectScreen, FilterScreen: use nicer checkbox/radio button icons --- .../net/vonforst/evmap/auto/FilterScreen.kt | 28 +++++++++++++++---- .../vonforst/evmap/auto/SearchSelectScreen.kt | 18 +++++++----- .../res/drawable/ic_checkbox_checked.xml | 10 +++++++ .../res/drawable/ic_checkbox_unchecked.xml | 10 +++++++ .../res/drawable/ic_radio_button_checked.xml | 10 +++++++ .../drawable/ic_radio_button_unchecked.xml | 10 +++++++ 6 files changed, 73 insertions(+), 13 deletions(-) create mode 100644 app/src/google/res/drawable/ic_checkbox_checked.xml create mode 100644 app/src/google/res/drawable/ic_checkbox_unchecked.xml create mode 100644 app/src/google/res/drawable/ic_radio_button_checked.xml create mode 100644 app/src/google/res/drawable/ic_radio_button_unchecked.xml diff --git a/app/src/google/java/net/vonforst/evmap/auto/FilterScreen.kt b/app/src/google/java/net/vonforst/evmap/auto/FilterScreen.kt index bd4ba616..d3374e49 100644 --- a/app/src/google/java/net/vonforst/evmap/auto/FilterScreen.kt +++ b/app/src/google/java/net/vonforst/evmap/auto/FilterScreen.kt @@ -20,8 +20,24 @@ class FilterScreen(ctx: CarContext) : Screen(ctx) { db.filterProfileDao().getProfiles(prefs.dataSource) } private val maxRows = 6 - private val checkIcon = - CarIcon.Builder(IconCompat.createWithResource(carContext, R.drawable.ic_check)).build() + private val checkedIcon = + CarIcon.Builder( + IconCompat.createWithResource( + carContext, + R.drawable.ic_radio_button_checked + ) + ) + .setTint(CarColor.PRIMARY) + .build() + private val uncheckedIcon = + CarIcon.Builder( + IconCompat.createWithResource( + carContext, + R.drawable.ic_radio_button_unchecked + ) + ) + .setTint(CarColor.PRIMARY) + .build() init { filterProfiles.observe(this) { @@ -50,9 +66,9 @@ class FilterScreen(ctx: CarContext) : Screen(ctx) { addItem(Row.Builder().apply { setTitle(carContext.getString(R.string.no_filters)) if (FILTERS_DISABLED == filterStatus) { - setImage(checkIcon) + setImage(checkedIcon) } else { - setImage(emptyCarIcon) + setImage(uncheckedIcon) } setOnClickListener { prefs.filterStatus = FILTERS_DISABLED @@ -65,9 +81,9 @@ class FilterScreen(ctx: CarContext) : Screen(ctx) { it.name.ifEmpty { carContext.getString(R.string.unnamed_filter_profile) } setTitle(name) if (it.id == filterStatus) { - setImage(checkIcon) + setImage(checkedIcon) } else { - setImage(emptyCarIcon) + setImage(uncheckedIcon) } setOnClickListener { prefs.filterStatus = it.id diff --git a/app/src/google/java/net/vonforst/evmap/auto/SearchSelectScreen.kt b/app/src/google/java/net/vonforst/evmap/auto/SearchSelectScreen.kt index f36c571c..dde1f4bc 100644 --- a/app/src/google/java/net/vonforst/evmap/auto/SearchSelectScreen.kt +++ b/app/src/google/java/net/vonforst/evmap/auto/SearchSelectScreen.kt @@ -73,18 +73,22 @@ abstract class MultiSelectSearchScreen(ctx: CarContext) : Screen(ctx), } ?: emptyList() } + private val checkedIcon = + CarIcon.Builder(IconCompat.createWithResource(carContext, R.drawable.ic_checkbox_checked)) + .setTint(CarColor.PRIMARY) + .build() + private val uncheckedIcon = + CarIcon.Builder(IconCompat.createWithResource(carContext, R.drawable.ic_checkbox_unchecked)) + .setTint(CarColor.PRIMARY) + .build() + private fun buildItemList(): ItemList { return ItemList.Builder().apply { currentList.forEach { item -> addItem( Row.Builder() - .setTitle( - if (isSelected(item)) { - "☑ " + getLabel(item) - } else { - "☐ " + getLabel(item) - } - ) + .setTitle(getLabel(item)) + .setImage(if (isSelected(item)) checkedIcon else uncheckedIcon) .setOnClickListener { toggleSelected(item) if (isMultiSelect) { diff --git a/app/src/google/res/drawable/ic_checkbox_checked.xml b/app/src/google/res/drawable/ic_checkbox_checked.xml new file mode 100644 index 00000000..875a4299 --- /dev/null +++ b/app/src/google/res/drawable/ic_checkbox_checked.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/google/res/drawable/ic_checkbox_unchecked.xml b/app/src/google/res/drawable/ic_checkbox_unchecked.xml new file mode 100644 index 00000000..d283076c --- /dev/null +++ b/app/src/google/res/drawable/ic_checkbox_unchecked.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/google/res/drawable/ic_radio_button_checked.xml b/app/src/google/res/drawable/ic_radio_button_checked.xml new file mode 100644 index 00000000..05a669ab --- /dev/null +++ b/app/src/google/res/drawable/ic_radio_button_checked.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/google/res/drawable/ic_radio_button_unchecked.xml b/app/src/google/res/drawable/ic_radio_button_unchecked.xml new file mode 100644 index 00000000..2d5445cb --- /dev/null +++ b/app/src/google/res/drawable/ic_radio_button_unchecked.xml @@ -0,0 +1,10 @@ + + +