Skip to content

Commit c47dd3a

Browse files
committed
Show icons on field guide tags
Signed-off-by: Kyle Corry <kylecorry31@gmail.com>
1 parent 0341f95 commit c47dd3a

File tree

2 files changed

+92
-16
lines changed

2 files changed

+92
-16
lines changed
Lines changed: 84 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package com.kylecorry.trail_sense.tools.field_guide.domain
22

3+
import android.graphics.Color
4+
import androidx.annotation.ColorInt
5+
import androidx.annotation.DrawableRes
6+
import com.kylecorry.trail_sense.R
7+
import com.kylecorry.trail_sense.shared.colors.AppColor
38
import com.kylecorry.trail_sense.shared.data.Identifiable
49

510
enum class FieldGuidePageTagType {
@@ -9,7 +14,12 @@ enum class FieldGuidePageTagType {
914
ActivityPattern
1015
}
1116

12-
enum class FieldGuidePageTag(override val id: Long, val type: FieldGuidePageTagType) : Identifiable {
17+
enum class FieldGuidePageTag(
18+
override val id: Long,
19+
val type: FieldGuidePageTagType,
20+
@DrawableRes val icon: Int? = null,
21+
@ColorInt val color: Int = Color.WHITE
22+
) : Identifiable {
1323
Africa(1, FieldGuidePageTagType.Continent),
1424
Antarctica(2, FieldGuidePageTagType.Continent),
1525
Asia(3, FieldGuidePageTagType.Continent),
@@ -29,18 +39,78 @@ enum class FieldGuidePageTag(override val id: Long, val type: FieldGuidePageTagT
2939
Arachnid(17, FieldGuidePageTagType.Classification),
3040
Crustacean(18, FieldGuidePageTagType.Classification),
3141
Mollusk(19, FieldGuidePageTagType.Classification),
32-
Forest(20, FieldGuidePageTagType.Habitat),
33-
Desert(21, FieldGuidePageTagType.Habitat),
34-
Grassland(22, FieldGuidePageTagType.Habitat),
35-
Wetland(23, FieldGuidePageTagType.Habitat),
36-
Mountain(24, FieldGuidePageTagType.Habitat),
37-
Urban(25, FieldGuidePageTagType.Habitat),
38-
Marine(26, FieldGuidePageTagType.Habitat),
39-
Freshwater(27, FieldGuidePageTagType.Habitat),
40-
Cave(28, FieldGuidePageTagType.Habitat),
41-
Tundra(29, FieldGuidePageTagType.Habitat),
42+
Forest(20, FieldGuidePageTagType.Habitat, icon = R.drawable.tree, color = AppColor.Green.color),
43+
Desert(
44+
21,
45+
FieldGuidePageTagType.Habitat,
46+
icon = R.drawable.thermometer,
47+
color = AppColor.Yellow.color
48+
),
49+
Grassland(
50+
22,
51+
FieldGuidePageTagType.Habitat,
52+
icon = R.drawable.ic_grass,
53+
color = AppColor.Green.color
54+
),
55+
Wetland(
56+
23,
57+
FieldGuidePageTagType.Habitat,
58+
icon = R.drawable.ic_grass,
59+
color = AppColor.Brown.color
60+
),
61+
Mountain(
62+
24,
63+
FieldGuidePageTagType.Habitat,
64+
icon = R.drawable.ic_altitude,
65+
color = AppColor.Gray.color
66+
),
67+
Urban(
68+
25,
69+
FieldGuidePageTagType.Habitat,
70+
icon = R.drawable.ic_building,
71+
color = AppColor.Gray.color
72+
),
73+
Marine(
74+
26,
75+
FieldGuidePageTagType.Habitat,
76+
icon = R.drawable.ic_tide_table,
77+
color = AppColor.Blue.color
78+
),
79+
Freshwater(
80+
27,
81+
FieldGuidePageTagType.Habitat,
82+
icon = R.drawable.ic_category_water,
83+
color = AppColor.Blue.color
84+
),
85+
Cave(
86+
28,
87+
FieldGuidePageTagType.Habitat,
88+
icon = R.drawable.ic_ruins,
89+
color = AppColor.Gray.color
90+
),
91+
Tundra(
92+
29,
93+
FieldGuidePageTagType.Habitat,
94+
icon = R.drawable.ic_precipitation_snow,
95+
color = AppColor.Gray.color
96+
),
4297
Rock(30, FieldGuidePageTagType.Classification),
43-
Diurnal(31, FieldGuidePageTagType.ActivityPattern),
44-
Nocturnal(32, FieldGuidePageTagType.ActivityPattern),
45-
Crepuscular(33, FieldGuidePageTagType.ActivityPattern)
98+
Diurnal(
99+
31,
100+
FieldGuidePageTagType.ActivityPattern,
101+
icon = R.drawable.ic_sun,
102+
color = AppColor.Yellow.color
103+
),
104+
Nocturnal(
105+
32,
106+
FieldGuidePageTagType.ActivityPattern,
107+
icon = R.drawable.ic_moon,
108+
color = AppColor.Gray.color
109+
),
110+
Crepuscular(
111+
33,
112+
FieldGuidePageTagType.ActivityPattern,
113+
icon = R.drawable.ic_sun,
114+
color = AppColor.Orange.color
115+
),
46116
}

app/src/main/java/com/kylecorry/trail_sense/tools/field_guide/ui/FieldGuideFragment.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.kylecorry.trail_sense.tools.field_guide.ui
22

33
import android.graphics.Bitmap
4-
import android.graphics.Color
54
import android.os.Bundle
65
import android.util.Size
76
import android.view.LayoutInflater
@@ -17,6 +16,7 @@ import com.kylecorry.andromeda.fragments.inBackground
1716
import com.kylecorry.andromeda.views.list.AsyncListIcon
1817
import com.kylecorry.andromeda.views.list.ListItem
1918
import com.kylecorry.andromeda.views.list.ListItemTag
19+
import com.kylecorry.andromeda.views.list.ResourceListIcon
2020
import com.kylecorry.trail_sense.databinding.FragmentFieldGuideBinding
2121
import com.kylecorry.trail_sense.shared.formatEnumName
2222
import com.kylecorry.trail_sense.shared.io.DeleteTempFilesCommand
@@ -99,7 +99,13 @@ class FieldGuideFragment : BoundFragment<FragmentFieldGuideBinding>() {
9999
// TODO: Each tag should be assigned a color and icon
100100
tags = it.tags
101101
.filter { it.type in displayedTagTypes }
102-
.map { ListItemTag(formatEnumName(it.name), null, Color.WHITE) },
102+
.map {
103+
ListItemTag(
104+
formatEnumName(it.name),
105+
it.icon?.let { ResourceListIcon(it, size = 16f) },
106+
it.color
107+
)
108+
},
103109
icon = AsyncListIcon(
104110
viewLifecycleOwner,
105111
{ loadThumbnail(it) },

0 commit comments

Comments
 (0)