A fork of Simple Time Tracker with WearOS support. (Now integrated upstream)
0

Configure Feed

Select the types of activity you want to include in your feed.

add icons search hints

razeeman (Feb 10, 2024, 7:23 PM +0300) 6b1508c0 56095fd9

+1447 -25
+2 -2
app/src/androidTest/java/com/example/util/simpletimetracker/IconTest.kt
··· 277 277 clickOnViewWithText(coreR.string.change_record_type_icon_image_hint) 278 278 279 279 // Check categories 280 - iconImageMapper.getAvailableImages().forEach { (category, images) -> 280 + iconImageMapper.getAvailableImages(loadSearchHints = false).forEach { (category, images) -> 281 281 checkViewIsDisplayed(withTag(category.categoryIcon)) 282 282 clickOnView(withTag(category.categoryIcon)) 283 - val firstImage = images.values.first() 283 + val firstImage = images.first().iconResId 284 284 285 285 if (category == iconImageMapper.getAvailableCategories().last()) { 286 286 onView(
+8 -7
app/src/androidTest/java/com/example/util/simpletimetracker/utils/BaseUiTest.kt
··· 65 65 val lastColor: Int 66 66 get() = ColorMapper.getAvailableColors().last() 67 67 val firstIcon: Int 68 - get() = iconImageMapper.getAvailableImages().toList().first().let { (_, imagesMap) -> 69 - imagesMap.toList().first().let { (_, resId) -> resId } 70 - } 68 + get() = iconImageMapper.getAvailableImages(loadSearchHints = false) 69 + .toList().first() 70 + .let { (_, imagesMap) -> imagesMap.first().iconResId } 71 71 val lastIcon: Int 72 - get() = iconImageMapper.getAvailableImages().toList().last().let { (_, imagesMap) -> 73 - imagesMap.toList().last().let { (_, resId) -> resId } 74 - } 72 + get() = iconImageMapper.getAvailableImages(loadSearchHints = false) 73 + .toList().last() 74 + .let { (_, imagesMap) -> imagesMap.last().iconResId } 75 75 val firstEmoji: String 76 76 get() = iconEmojiMapper 77 77 .getAvailableEmojis()[iconEmojiMapper.getAvailableEmojiCategories().first()] ··· 119 119 .getString(id, *args) 120 120 } 121 121 122 - @ColorInt internal fun getColor(id: Int): Int { 122 + @ColorInt 123 + internal fun getColor(id: Int): Int { 123 124 return InstrumentationRegistry.getInstrumentation().targetContext.resources 124 125 .getColor(id) 125 126 }
+41 -3
core/src/main/java/com/example/util/simpletimetracker/core/mapper/IconImageMapper.kt
··· 4 4 import com.example.util.simpletimetracker.core.R 5 5 import com.example.util.simpletimetracker.core.repo.IconImageRepo 6 6 import com.example.util.simpletimetracker.core.repo.ResourceRepo 7 + import com.example.util.simpletimetracker.domain.model.IconImage 7 8 import com.example.util.simpletimetracker.domain.model.IconImageCategory 8 9 import com.example.util.simpletimetracker.domain.model.IconImageType 9 10 import dagger.hilt.android.qualifiers.ApplicationContext ··· 100 101 ) 101 102 ) 102 103 103 - fun getAvailableImages(): Map<IconImageCategory, Map<String, Int>> = 104 - getAvailableCategories().associateWith { mapTypeToArray(it.type).let(repo::getImages) } 104 + fun getAvailableImages( 105 + loadSearchHints: Boolean, 106 + ): Map<IconImageCategory, List<IconImage>> { 107 + return getAvailableCategories().associateWith { 108 + val images = mapTypeToIconArray(it.type).let(repo::getImages) 109 + val searchHints = if (loadSearchHints) { 110 + mapTypeToSearchArray(it.type).let(repo::getHints) 111 + } else { 112 + emptyList() 113 + } 114 + 115 + images.keys.mapIndexedNotNull { index, iconName -> 116 + IconImage( 117 + iconName = iconName, 118 + iconResId = images[iconName] ?: return@mapIndexedNotNull null, 119 + iconSearch = searchHints.getOrNull(index).orEmpty(), 120 + ) 121 + } 122 + } 123 + } 105 124 106 125 fun mapToDrawableResId(iconName: String): Int { 107 126 return context.resources ··· 110 129 ?: R.drawable.unknown 111 130 } 112 131 113 - private fun mapTypeToArray(type: IconImageType): Int = when (type) { 132 + private fun mapTypeToIconArray(type: IconImageType): Int = when (type) { 114 133 IconImageType.MAPS -> R.array.icon_maps 115 134 IconImageType.PLACES -> R.array.icon_places 116 135 IconImageType.SOCIAL -> R.array.icon_social ··· 127 146 IconImageType.NAVIGATION -> R.array.icon_navigation 128 147 IconImageType.NOTIFICATION -> R.array.icon_notification 129 148 IconImageType.TOGGLE -> R.array.icon_toggle 149 + } 150 + 151 + private fun mapTypeToSearchArray(type: IconImageType): Int = when (type) { 152 + IconImageType.MAPS -> R.array.icon_hint_maps 153 + IconImageType.PLACES -> R.array.icon_hint_places 154 + IconImageType.SOCIAL -> R.array.icon_hint_social 155 + IconImageType.ACTION -> R.array.icon_hint_action 156 + IconImageType.HARDWARE -> R.array.icon_hint_hardware 157 + IconImageType.ALERT -> R.array.icon_hint_alert 158 + IconImageType.AV -> R.array.icon_hint_av 159 + IconImageType.COMMUNICATION -> R.array.icon_hint_communication 160 + IconImageType.CONTENT -> R.array.icon_hint_content 161 + IconImageType.DEVICE -> R.array.icon_hint_device 162 + IconImageType.EDITOR -> R.array.icon_hint_editor 163 + IconImageType.FILE -> R.array.icon_hint_file 164 + IconImageType.IMAGE -> R.array.icon_hint_image 165 + IconImageType.NAVIGATION -> R.array.icon_hint_navigation 166 + IconImageType.NOTIFICATION -> R.array.icon_hint_notification 167 + IconImageType.TOGGLE -> R.array.icon_hint_toggle 130 168 } 131 169 }
+12
core/src/main/java/com/example/util/simpletimetracker/core/repo/IconImageRepo.kt
··· 22 22 23 23 return res 24 24 } 25 + 26 + fun getHints(arrayResId: Int): List<String> { 27 + val res = mutableListOf<String>() 28 + 29 + val ta = context.resources.obtainTypedArray(arrayResId) 30 + (0 until ta.length()).forEach { 31 + ta.getString(it).orEmpty().let(res::add) 32 + } 33 + ta.recycle() 34 + 35 + return res 36 + } 25 37 }
+2 -2
core/src/main/java/com/example/util/simpletimetracker/core/utils/TestUtils.kt
··· 62 62 archived: Boolean = false, 63 63 categories: List<String> = emptyList(), 64 64 ) = runBlocking { 65 - val icons = iconImageMapper.getAvailableImages().values 66 - .toList().flatMap { it.toList() }.toMap() 65 + val icons = iconImageMapper.getAvailableImages(loadSearchHints = false).values 66 + .flatten().associateBy { it.iconName }.mapValues { it.value.iconResId } 67 67 val iconId = icons.filterValues { it == icon }.keys.firstOrNull() 68 68 ?: text 69 69 ?: icons.keys.first()
+1 -1
core/src/main/res/values-fr/strings.xml
··· 485 485 <string name="shortcut_navigation_statistics">Statistiques</string> 486 486 <string name="shortcut_navigation_settings">Réglages</string> 487 487 488 - </resources> 488 + </resources>
+1 -1
core/src/main/res/values-it/strings.xml
··· 485 485 <string name="shortcut_navigation_statistics">Statistiche</string> 486 486 <string name="shortcut_navigation_settings">Impostazioni</string> 487 487 488 - </resources> 488 + </resources>
+1 -1
core/src/main/res/values-ja/strings.xml
··· 485 485 <string name="shortcut_navigation_statistics">統計</string> 486 486 <string name="shortcut_navigation_settings">設定</string> 487 487 488 - </resources> 488 + </resources>
+7
core/src/main/res/values-pt-rPT/strings.xml
··· 128 128 <string name="change_record_type_icon_image_hint">Ícone</string> 129 129 <string name="change_record_type_icon_text_hint">Texto</string> 130 130 <string name="change_record_type_icon_emoji_hint">Emoji</string> 131 + <string name="change_record_type_icon_search_hint">Pesquisa (em inglês)</string> 131 132 <string name="change_record_type_save">Guardar</string> 132 133 <string name="change_record_message_choose_name">Escolher um nome</string> 133 134 <string name="change_record_type_categories_empty">Nenhuma categoria adicionada</string> ··· 385 386 <string name="statistics_detail_tag_split_hint">Distribuição de etiquetas</string> 386 387 <string name="statistics_detail_day_split_hint">Distribuição diária</string> 387 388 <string name="statistics_detail_duration_split_hint">Distribuição da duração do registo</string> 389 + <string name="statistics_detail_next_activities_hint">Principais próximas atividades</string> 390 + <string name="statistics_detail_multitasking_activities_hint">Principais multitarefas</string> 388 391 389 392 <plurals name="statistics_detail_times_tracked"> 393 + <!-- <item quantity="zero">Registos</item>--> 390 394 <item quantity="one">Registo</item> 395 + <!-- <item quantity="two">Registos</item>--> 396 + <!-- <item quantity="few">Registos</item>--> 397 + <!-- <item quantity="many">Registos</item>--> 391 398 <item quantity="other">Registos</item> 392 399 </plurals> 393 400
+4
core/src/main/res/values-pt/strings.xml
··· 390 390 <string name="statistics_detail_multitasking_activities_hint">Principais multitarefas</string> 391 391 392 392 <plurals name="statistics_detail_times_tracked"> 393 + <!-- <item quantity="zero">Registros</item>--> 393 394 <item quantity="one">Registro</item> 395 + <!-- <item quantity="two">Registros</item>--> 396 + <!-- <item quantity="few">Registros</item>--> 397 + <!-- <item quantity="many">Registros</item>--> 394 398 <item quantity="other">Registros</item> 395 399 </plurals> 396 400
+1 -1
core/src/main/res/values-tr/strings.xml
··· 485 485 <string name="shortcut_navigation_statistics">İstatistikler</string> 486 486 <string name="shortcut_navigation_settings">Ayarlar</string> 487 487 488 - </resources> 488 + </resources>
core/src/main/res/values/arrays.xml core/src/main/res/values/icon_arrays.xml
+1346
core/src/main/res/values/icon_search_arrays.xml
··· 1 + <?xml version="1.0" encoding="utf-8"?> 2 + 3 + <!--suppress CheckTagEmptyBody --> 4 + 5 + <resources> 6 + 7 + <!-- Should be in the same order as icons file --> 8 + 9 + <string-array name="icon_hint_action"> 10 + <item></item> 11 + <item>person people</item> 12 + <item>person people</item> 13 + <item>wheelchair person people</item> 14 + <item>wheelchair person people</item> 15 + <item>bank money house</item> 16 + <item>wallet money</item> 17 + <item>person people</item> 18 + <item>person people</item> 19 + <item></item> 20 + <item></item> 21 + <item></item> 22 + <item>graph</item> 23 + <item></item> 24 + <item>clock time watch</item> 25 + <item>clock time watch</item> 26 + <item>clock time watch</item> 27 + <item>clock time watch</item> 28 + <item></item> 29 + <item></item> 30 + <item>graph chart</item> 31 + <item>water sea</item> 32 + <item>robot</item> 33 + <item>alarm message chat</item> 34 + <item></item> 35 + <item>phone</item> 36 + <item></item> 37 + <item></item> 38 + <item></item> 39 + <item>read book list</item> 40 + <item></item> 41 + <item>chart graph</item> 42 + <item>list</item> 43 + <item>badge person people</item> 44 + <item>badge</item> 45 + <item>badge</item> 46 + <item>badge</item> 47 + <item>badge</item> 48 + <item></item> 49 + <item>cloud</item> 50 + <item></item> 51 + <item></item> 52 + <item>read</item> 53 + <item>read phone</item> 54 + <item></item> 55 + <item></item> 56 + <item></item> 57 + <item>animal</item> 58 + <item>work mechanic</item> 59 + <item>work mechanic</item> 60 + <item></item> 61 + <item>date</item> 62 + <item></item> 63 + <item>photo</item> 64 + <item>chat message</item> 65 + <item>birthday cake</item> 66 + <item></item> 67 + <item>work briefcase</item> 68 + <item>triangle</item> 69 + <item></item> 70 + <item></item> 71 + <item>book read</item> 72 + <item></item> 73 + <item>bookmark</item> 74 + <item></item> 75 + <item></item> 76 + <item></item> 77 + <item>commute work car bus</item> 78 + <item></item> 79 + <item></item> 80 + <item>person people</item> 81 + <item>question</item> 82 + <item>sound music</item> 83 + <item></item> 84 + <item>money</item> 85 + <item></item> 86 + <item></item> 87 + <item></item> 88 + <item>calendar</item> 89 + <item>remove bin trash</item> 90 + <item>remove bin trash</item> 91 + <item>remove bin trash</item> 92 + <item></item> 93 + <item></item> 94 + <item></item> 95 + <item>check</item> 96 + <item>check</item> 97 + <item>check</item> 98 + <item>circle graph chart</item> 99 + <item>circle graph chart</item> 100 + <item></item> 101 + <item></item> 102 + <item>leaf nature</item> 103 + <item></item> 104 + <item></item> 105 + <item>money</item> 106 + <item>calendar date</item> 107 + <item>chair home</item> 108 + <item></item> 109 + <item></item> 110 + <item>compass travel</item> 111 + <item>compass travel</item> 112 + <item>puzzle home indoors</item> 113 + <item>person face people</item> 114 + <item>person face people</item> 115 + <item></item> 116 + <item>heart</item> 117 + <item>heart</item> 118 + <item>chat message</item> 119 + <item></item> 120 + <item></item> 121 + <item>search</item> 122 + <item></item> 123 + <item></item> 124 + <item></item> 125 + <item></item> 126 + <item>travel fly flight plane</item> 127 + <item>travel fly flight plane</item> 128 + <item></item> 129 + <item></item> 130 + <item></item> 131 + <item>hammer work court</item> 132 + <item></item> 133 + <item></item> 134 + <item>star</item> 135 + <item>list</item> 136 + <item></item> 137 + <item>question</item> 138 + <item>question</item> 139 + <item>question</item> 140 + <item></item> 141 + <item></item> 142 + <item>time</item> 143 + <item>time</item> 144 + <item>house home</item> 145 + <item>house home</item> 146 + <item></item> 147 + <item>time</item> 148 + <item>time</item> 149 + <item>time</item> 150 + <item>internet</item> 151 + <item>lock</item> 152 + <item>computer phone</item> 153 + <item></item> 154 + <item></item> 155 + <item></item> 156 + <item></item> 157 + <item>water</item> 158 + <item>tag</item> 159 + <item>tag</item> 160 + <item>tag</item> 161 + <item>tag</item> 162 + <item>tag</item> 163 + <item>internet</item> 164 + <item></item> 165 + <item>graph</item> 166 + <item></item> 167 + <item></item> 168 + <item></item> 169 + <item></item> 170 + <item></item> 171 + <item></item> 172 + <item></item> 173 + <item></item> 174 + <item></item> 175 + <item>enter</item> 176 + <item>exit</item> 177 + <item>tag label</item> 178 + <item>letter mail</item> 179 + <item>letter</item> 180 + <item></item> 181 + <item></item> 182 + <item></item> 183 + <item></item> 184 + <item></item> 185 + <item>moon</item> 186 + <item>wheelchair person people</item> 187 + <item></item> 188 + <item></item> 189 + <item>electric</item> 190 + <item>check</item> 191 + <item>sound radio</item> 192 + <item>water drop</item> 193 + <item></item> 194 + <item></item> 195 + <item></item> 196 + <item></item> 197 + <item></item> 198 + <item></item> 199 + <item>letter</item> 200 + <item>electric</item> 201 + <item>search</item> 202 + <item>hand person people</item> 203 + <item>card money</item> 204 + <item></item> 205 + <item>list</item> 206 + <item></item> 207 + <item>badge person people</item> 208 + <item></item> 209 + <item>phone</item> 210 + <item>person people</item> 211 + <item></item> 212 + <item>call message</item> 213 + <item></item> 214 + <item>animal dog</item> 215 + <item></item> 216 + <item></item> 217 + <item></item> 218 + <item></item> 219 + <item></item> 220 + <item></item> 221 + <item>person people woman child baby</item> 222 + <item></item> 223 + <item></item> 224 + <item></item> 225 + <item>check</item> 226 + <item>clock time watch</item> 227 + <item>message chat</item> 228 + <item>message chat</item> 229 + <item>list</item> 230 + <item>person people</item> 231 + <item>card</item> 232 + <item>check</item> 233 + <item></item> 234 + <item>list</item> 235 + <item></item> 236 + <item>money</item> 237 + <item>clock time watch</item> 238 + <item>bin trash</item> 239 + <item></item> 240 + <item>location</item> 241 + <item></item> 242 + <item>outdoors person people</item> 243 + <item></item> 244 + <item></item> 245 + <item>clock time watch</item> 246 + <item>message chat</item> 247 + <item></item> 248 + <item></item> 249 + <item>list</item> 250 + <item>message chat</item> 251 + <item>gear</item> 252 + <item>gear</item> 253 + <item></item> 254 + <item></item> 255 + <item></item> 256 + <item>phone</item> 257 + <item></item> 258 + <item>radio</item> 259 + <item></item> 260 + <item></item> 261 + <item>electric</item> 262 + <item>electric</item> 263 + <item></item> 264 + <item>call</item> 265 + <item></item> 266 + <item></item> 267 + <item>micro</item> 268 + <item></item> 269 + <item></item> 270 + <item></item> 271 + <item></item> 272 + <item></item> 273 + <item></item> 274 + <item>message chat</item> 275 + <item>message chat</item> 276 + <item>message chat</item> 277 + <item>letter</item> 278 + <item></item> 279 + <item></item> 280 + <item></item> 281 + <item>shop house</item> 282 + <item>message chat</item> 283 + <item>message chat</item> 284 + <item>person people group</item> 285 + <item>person people group</item> 286 + <item></item> 287 + <item></item> 288 + <item></item> 289 + <item></item> 290 + <item></item> 291 + <item>hand person people</item> 292 + <item></item> 293 + <item></item> 294 + <item></item> 295 + <item></item> 296 + <item>calculator</item> 297 + <item>letter</item> 298 + <item>letter</item> 299 + <item>letter</item> 300 + <item>letter</item> 301 + <item>letter</item> 302 + <item>letter</item> 303 + <item>film</item> 304 + <item>hand like</item> 305 + <item>hand like</item> 306 + <item>hand like</item> 307 + <item>hand like</item> 308 + <item>hands like</item> 309 + <item>graph chart</item> 310 + <item>list</item> 311 + <item>date calendar</item> 312 + <item></item> 313 + <item>hand person people</item> 314 + <item>flag travel</item> 315 + <item></item> 316 + <item>language</item> 317 + <item>graph chart</item> 318 + <item></item> 319 + <item>graph chart</item> 320 + <item>bookmark read</item> 321 + <item>bookmark read</item> 322 + <item>check</item> 323 + <item>clock time watch</item> 324 + <item>clock time watch</item> 325 + <item></item> 326 + <item>safety</item> 327 + <item>safety</item> 328 + <item></item> 329 + <item></item> 330 + <item></item> 331 + <item></item> 332 + <item></item> 333 + <item></item> 334 + <item></item> 335 + <item>box</item> 336 + <item></item> 337 + <item></item> 338 + <item></item> 339 + <item></item> 340 + <item></item> 341 + <item></item> 342 + <item>eye person people</item> 343 + <item>eye person people</item> 344 + <item>voice sound person people</item> 345 + <item>clock time watch</item> 346 + <item></item> 347 + <item>briefcase work</item> 348 + <item>briefcase work</item> 349 + <item>briefcase work</item> 350 + <item>list</item> 351 + <item></item> 352 + <item></item> 353 + <item></item> 354 + </string-array> 355 + 356 + <string-array name="icon_hint_alert"> 357 + <item></item> 358 + <item></item> 359 + <item></item> 360 + <item></item> 361 + </string-array> 362 + 363 + <string-array name="icon_hint_av"> 364 + <item>monitor screen</item> 365 + <item></item> 366 + <item>music</item> 367 + <item></item> 368 + <item>clock time watch</item> 369 + <item></item> 370 + <item></item> 371 + <item>subtitle</item> 372 + <item>graph chart</item> 373 + <item></item> 374 + <item>video</item> 375 + <item>video</item> 376 + <item></item> 377 + <item></item> 378 + <item>video</item> 379 + <item></item> 380 + <item></item> 381 + <item></item> 382 + <item></item> 383 + <item></item> 384 + <item></item> 385 + <item></item> 386 + <item></item> 387 + <item>video</item> 388 + <item>listen sound</item> 389 + <item>video</item> 390 + <item></item> 391 + <item>read</item> 392 + <item></item> 393 + <item></item> 394 + <item>audio</item> 395 + <item>audio</item> 396 + <item>audio</item> 397 + <item>film</item> 398 + <item></item> 399 + <item></item> 400 + <item></item> 401 + <item></item> 402 + <item>video</item> 403 + <item>video</item> 404 + <item>video</item> 405 + <item>video</item> 406 + <item>video</item> 407 + <item>video</item> 408 + <item></item> 409 + <item></item> 410 + <item></item> 411 + <item></item> 412 + <item></item> 413 + <item>monitor</item> 414 + <item>music</item> 415 + <item>account contact person people</item> 416 + <item>monitor screen</item> 417 + <item></item> 418 + <item></item> 419 + <item></item> 420 + <item></item> 421 + <item></item> 422 + <item></item> 423 + <item></item> 424 + <item>video music</item> 425 + <item>video music</item> 426 + <item></item> 427 + <item>clock time watch sleep</item> 428 + <item>letter</item> 429 + <item>video square</item> 430 + <item>video</item> 431 + <item></item> 432 + <item>music</item> 433 + <item></item> 434 + <item></item> 435 + <item></item> 436 + <item>camera film</item> 437 + <item>camera film</item> 438 + <item>sound music</item> 439 + <item>sound music</item> 440 + <item>sound music</item> 441 + <item>sound music</item> 442 + <item></item> 443 + <item></item> 444 + 445 + </string-array> 446 + 447 + <string-array name="icon_hint_communication"> 448 + <item>work building</item> 449 + <item>phone</item> 450 + <item></item> 451 + <item></item> 452 + <item></item> 453 + <item></item> 454 + <item></item> 455 + <item></item> 456 + <item>message chat</item> 457 + <item>message chat</item> 458 + <item>message chat</item> 459 + <item>list</item> 460 + <item>message chat</item> 461 + <item>person people</item> 462 + <item>call person people</item> 463 + <item>person people</item> 464 + <item>phone call</item> 465 + <item>phone call</item> 466 + <item>message letter</item> 467 + <item>message chat</item> 468 + <item>book read</item> 469 + <item></item> 470 + <item>water drop</item> 471 + <item>question</item> 472 + <item>travel</item> 473 + <item>travel</item> 474 + <item>letter</item> 475 + <item>message chat</item> 476 + <item></item> 477 + <item>call</item> 478 + <item></item> 479 + <item></item> 480 + <item></item> 481 + <item></item> 482 + <item></item> 483 + <item></item> 484 + <item>phone call</item> 485 + <item>wifi</item> 486 + <item></item> 487 + <item>sound</item> 488 + <item>phone</item> 489 + <item>phone</item> 490 + <item>phone</item> 491 + <item>phone</item> 492 + <item>notebook laptop computer</item> 493 + <item></item> 494 + <item>message chat</item> 495 + <item></item> 496 + <item></item> 497 + </string-array> 498 + 499 + <string-array name="icon_hint_content"> 500 + <item>plus</item> 501 + <item>plus</item> 502 + <item>plus</item> 503 + <item>plus</item> 504 + <item></item> 505 + <item></item> 506 + <item></item> 507 + <item></item> 508 + <item></item> 509 + <item>scissors</item> 510 + <item></item> 511 + <item>pen write</item> 512 + <item>bin trash</item> 513 + <item>letter mail</item> 514 + <item></item> 515 + <item>travel</item> 516 + <item>letter</item> 517 + <item></item> 518 + <item></item> 519 + <item></item> 520 + <item></item> 521 + <item></item> 522 + <item>letter mail</item> 523 + <item>letter mail</item> 524 + <item></item> 525 + <item>work briefcase</item> 526 + <item></item> 527 + <item></item> 528 + <item></item> 529 + <item></item> 530 + <item></item> 531 + <item></item> 532 + <item></item> 533 + <item>floppy</item> 534 + <item></item> 535 + <item>message chat</item> 536 + <item>list</item> 537 + <item>letter</item> 538 + <item></item> 539 + <item></item> 540 + <item>home sofa rest</item> 541 + </string-array> 542 + 543 + <string-array name="icon_hint_device"> 544 + <item>clock time watch</item> 545 + <item>clock time watch</item> 546 + <item>clock time watch</item> 547 + <item>travel fly flight plane</item> 548 + <item>travel fly flight plane</item> 549 + <item></item> 550 + <item></item> 551 + <item></item> 552 + <item></item> 553 + <item></item> 554 + <item></item> 555 + <item></item> 556 + <item></item> 557 + <item></item> 558 + <item></item> 559 + <item></item> 560 + <item></item> 561 + <item></item> 562 + <item></item> 563 + <item></item> 564 + <item></item> 565 + <item></item> 566 + <item></item> 567 + <item></item> 568 + <item></item> 569 + <item></item> 570 + <item></item> 571 + <item></item> 572 + <item>sun</item> 573 + <item></item> 574 + <item>chart graph</item> 575 + <item></item> 576 + <item>phone notebook laptop computer</item> 577 + <item></item> 578 + <item>location</item> 579 + <item>location</item> 580 + <item>location</item> 581 + <item></item> 582 + <item>location</item> 583 + <item>location</item> 584 + <item>connection</item> 585 + <item></item> 586 + <item>phone</item> 587 + <item>phone</item> 588 + <item>phone</item> 589 + <item>phone</item> 590 + <item></item> 591 + <item></item> 592 + <item></item> 593 + <item></item> 594 + <item></item> 595 + <item></item> 596 + <item></item> 597 + <item></item> 598 + <item></item> 599 + <item></item> 600 + <item></item> 601 + <item></item> 602 + <item></item> 603 + <item>connection triangle</item> 604 + <item>connection</item> 605 + <item>connection</item> 606 + <item>connection</item> 607 + <item>connection</item> 608 + <item>connection</item> 609 + <item>connection</item> 610 + <item>connection</item> 611 + <item>connection</item> 612 + <item>connection</item> 613 + <item>connection</item> 614 + <item>connection</item> 615 + <item>connection</item> 616 + <item>connection</item> 617 + <item>connection</item> 618 + <item>connection</item> 619 + <item>connection</item> 620 + <item>connection</item> 621 + <item>connection</item> 622 + <item></item> 623 + <item></item> 624 + <item></item> 625 + <item></item> 626 + <item>connection</item> 627 + <item>connection</item> 628 + </string-array> 629 + 630 + <string-array name="icon_hint_editor"> 631 + <item></item> 632 + <item>bank</item> 633 + <item></item> 634 + <item></item> 635 + <item></item> 636 + <item>write</item> 637 + <item></item> 638 + <item></item> 639 + <item></item> 640 + <item></item> 641 + <item></item> 642 + <item></item> 643 + <item></item> 644 + <item></item> 645 + <item></item> 646 + <item></item> 647 + <item></item> 648 + <item>list</item> 649 + <item></item> 650 + <item></item> 651 + <item>letter</item> 652 + <item></item> 653 + <item></item> 654 + <item>water drop</item> 655 + <item>letter</item> 656 + <item></item> 657 + <item></item> 658 + <item>letter</item> 659 + <item></item> 660 + <item></item> 661 + <item></item> 662 + <item></item> 663 + <item></item> 664 + <item></item> 665 + <item>letter</item> 666 + <item>letter</item> 667 + <item></item> 668 + <item></item> 669 + <item></item> 670 + <item>sum</item> 671 + <item>flashlight</item> 672 + <item>graph chart</item> 673 + <item>message chat</item> 674 + <item></item> 675 + <item>smile face person people emotion</item> 676 + <item>date calendar</item> 677 + <item></item> 678 + <item>picture</item> 679 + <item></item> 680 + <item></item> 681 + <item>message chat</item> 682 + <item>write pen</item> 683 + <item>money bank</item> 684 + <item>money bank</item> 685 + <item>graph chart</item> 686 + <item>graph chart</item> 687 + <item>graph chart</item> 688 + <item></item> 689 + <item></item> 690 + <item>graph chart</item> 691 + <item></item> 692 + <item></item> 693 + <item>letter</item> 694 + <item>letter</item> 695 + <item></item> 696 + <item></item> 697 + <item></item> 698 + <item></item> 699 + </string-array> 700 + 701 + <string-array name="icon_hint_file"> 702 + <item></item> 703 + <item>weather</item> 704 + <item>weather</item> 705 + <item>weather</item> 706 + <item></item> 707 + <item>weather</item> 708 + <item>weather</item> 709 + <item></item> 710 + <item></item> 711 + <item></item> 712 + <item></item> 713 + <item>work</item> 714 + <item>work</item> 715 + <item>work contact person people</item> 716 + </string-array> 717 + 718 + <string-array name="icon_hint_hardware"> 719 + <item>screen monitor</item> 720 + <item>screen monitor</item> 721 + <item>notebook laptop computer</item> 722 + <item>monitor screen computer</item> 723 + <item>monitor screen computer</item> 724 + <item></item> 725 + <item></item> 726 + <item>phone screen watch computer</item> 727 + <item>phone</item> 728 + <item></item> 729 + <item>music headphones</item> 730 + <item>music headphones</item> 731 + <item>computer</item> 732 + <item></item> 733 + <item></item> 734 + <item></item> 735 + <item></item> 736 + <item></item> 737 + <item></item> 738 + <item>computer</item> 739 + <item></item> 740 + <item></item> 741 + <item>micro</item> 742 + <item>notebook computer</item> 743 + <item>notebook computer</item> 744 + <item>notebook computer</item> 745 + <item>notebook computer</item> 746 + <item></item> 747 + <item>computer</item> 748 + <item></item> 749 + <item></item> 750 + <item>phone notebook laptop</item> 751 + <item>phone notebook laptop</item> 752 + <item></item> 753 + <item></item> 754 + <item></item> 755 + <item></item> 756 + <item></item> 757 + <item></item> 758 + <item>music</item> 759 + <item>music</item> 760 + <item></item> 761 + <item></item> 762 + <item></item> 763 + <item></item> 764 + <item>screen monitor computer</item> 765 + <item></item> 766 + <item></item> 767 + </string-array> 768 + 769 + <string-array name="icon_hint_image"> 770 + <item>camera</item> 771 + <item></item> 772 + <item></item> 773 + <item></item> 774 + <item>flag</item> 775 + <item>music</item> 776 + <item></item> 777 + <item></item> 778 + <item></item> 779 + <item></item> 780 + <item>circle</item> 781 + <item>moon</item> 782 + <item>moon</item> 783 + <item></item> 784 + <item>sun</item> 785 + <item></item> 786 + <item></item> 787 + <item>picture</item> 788 + <item>draw</item> 789 + <item></item> 790 + <item>photo</item> 791 + <item>photo</item> 792 + <item></item> 793 + <item></item> 794 + <item>photo</item> 795 + <item></item> 796 + <item></item> 797 + <item>photo image picture</item> 798 + <item></item> 799 + <item>draw palette</item> 800 + <item></item> 801 + <item></item> 802 + <item>plus</item> 803 + <item>plus</item> 804 + <item></item> 805 + <item>square</item> 806 + <item></item> 807 + <item></item> 808 + <item></item> 809 + <item>square</item> 810 + <item></item> 811 + <item></item> 812 + <item></item> 813 + <item></item> 814 + <item></item> 815 + <item></item> 816 + <item></item> 817 + <item>triangle</item> 818 + <item>write</item> 819 + <item></item> 820 + <item></item> 821 + <item></item> 822 + <item></item> 823 + <item></item> 824 + <item></item> 825 + <item></item> 826 + <item></item> 827 + <item></item> 828 + <item></item> 829 + <item></item> 830 + <item></item> 831 + <item></item> 832 + <item></item> 833 + <item></item> 834 + <item></item> 835 + <item></item> 836 + <item></item> 837 + <item></item> 838 + <item>cloud weather</item> 839 + <item></item> 840 + <item>travel mountain nature</item> 841 + <item></item> 842 + <item></item> 843 + <item>flower</item> 844 + <item></item> 845 + <item></item> 846 + <item></item> 847 + <item>weather</item> 848 + <item></item> 849 + <item></item> 850 + <item></item> 851 + <item></item> 852 + <item></item> 853 + <item></item> 854 + <item></item> 855 + <item></item> 856 + <item></item> 857 + <item>medic</item> 858 + <item>photo</item> 859 + <item></item> 860 + <item></item> 861 + <item>travel mountain nature</item> 862 + <item></item> 863 + <item></item> 864 + <item>circle</item> 865 + <item>photo</item> 866 + <item></item> 867 + <item></item> 868 + <item></item> 869 + <item></item> 870 + <item></item> 871 + <item></item> 872 + <item></item> 873 + <item></item> 874 + <item>camera</item> 875 + <item>film</item> 876 + <item>film</item> 877 + <item></item> 878 + <item>tree</item> 879 + <item>tree person people</item> 880 + <item></item> 881 + <item></item> 882 + <item>draw</item> 883 + <item>photo picture</item> 884 + <item></item> 885 + <item></item> 886 + <item></item> 887 + <item></item> 888 + <item></item> 889 + <item></item> 890 + <item>photo</item> 891 + <item></item> 892 + <item></item> 893 + <item></item> 894 + <item></item> 895 + <item></item> 896 + <item></item> 897 + <item>person people</item> 898 + <item>person people</item> 899 + <item></item> 900 + <item></item> 901 + <item></item> 902 + <item>video</item> 903 + <item></item> 904 + <item></item> 905 + <item></item> 906 + <item></item> 907 + <item>smile person people emotion</item> 908 + <item></item> 909 + <item></item> 910 + <item>clock time watch</item> 911 + <item></item> 912 + <item></item> 913 + <item>clock time watch</item> 914 + <item></item> 915 + <item></item> 916 + <item></item> 917 + <item></item> 918 + <item></item> 919 + <item></item> 920 + <item></item> 921 + <item>weather</item> 922 + <item>light bulb</item> 923 + <item></item> 924 + <item>light bulb</item> 925 + </string-array> 926 + 927 + <string-array name="icon_hint_maps"> 928 + <item></item> 929 + <item>house shop</item> 930 + <item></item> 931 + <item></item> 932 + <item></item> 933 + <item>work farm tractor vehicle</item> 934 + <item></item> 935 + <item>money</item> 936 + <item></item> 937 + <item></item> 938 + <item>food eat</item> 939 + <item></item> 940 + <item></item> 941 + <item>food bread eat</item> 942 + <item>food eat drink</item> 943 + <item>car vehicle commute bus</item> 944 + <item>car vehicle commute</item> 945 + <item>car vehicle commute</item> 946 + <item></item> 947 + <item></item> 948 + <item></item> 949 + <item></item> 950 + <item>vehicle commute</item> 951 + <item>travel vehicle bus commute</item> 952 + <item></item> 953 + <item>food eat</item> 954 + <item></item> 955 + <item>person people commute</item> 956 + <item>travel</item> 957 + <item>vehicle bus commute</item> 958 + <item>vehicle car commute</item> 959 + <item>vehicle train commute</item> 960 + <item>person people sport</item> 961 + <item>train vehicle travel commute</item> 962 + <item>train vehicle travel commute</item> 963 + <item>person people</item> 964 + <item>clothes</item> 965 + <item></item> 966 + <item></item> 967 + <item>travel</item> 968 + <item>vehicle commute</item> 969 + <item>vehicle car commute</item> 970 + <item>vehicle commute</item> 971 + <item>vehicle commute</item> 972 + <item>vehicle commute</item> 973 + <item></item> 974 + <item></item> 975 + <item>food eat</item> 976 + <item>house</item> 977 + <item>fly travel plane</item> 978 + <item>person people</item> 979 + <item>work hammer screw</item> 980 + <item>work hammer</item> 981 + <item>work</item> 982 + <item>bed sleep person people</item> 983 + <item></item> 984 + <item>food eat</item> 985 + <item></item> 986 + <item></item> 987 + <item>food drink</item> 988 + <item>film ticket</item> 989 + <item>plane fly flight travel</item> 990 + <item>money</item> 991 + <item>drink food</item> 992 + <item>drink food</item> 993 + <item>vehicle commute</item> 994 + <item>house</item> 995 + <item>food eat</item> 996 + <item>food</item> 997 + <item></item> 998 + <item>flower</item> 999 + <item></item> 1000 + <item>shop cart</item> 1001 + <item>medic</item> 1002 + <item>bed sleep person people</item> 1003 + <item></item> 1004 + <item>book read</item> 1005 + <item>shop</item> 1006 + <item>film</item> 1007 + <item></item> 1008 + <item></item> 1009 + <item></item> 1010 + <item>call</item> 1011 + <item>food eat</item> 1012 + <item>ticket film</item> 1013 + <item></item> 1014 + <item>letter mail</item> 1015 + <item></item> 1016 + <item>camera photo</item> 1017 + <item>car vehicle</item> 1018 + <item>car vehicle commute</item> 1019 + <item></item> 1020 + <item>food eat</item> 1021 + <item>travel</item> 1022 + <item></item> 1023 + <item></item> 1024 + <item>read</item> 1025 + <item>gear</item> 1026 + <item></item> 1027 + <item>vehicle</item> 1028 + <item>vehicle</item> 1029 + <item></item> 1030 + <item>house</item> 1031 + <item></item> 1032 + <item></item> 1033 + <item></item> 1034 + <item></item> 1035 + <item>music drink food</item> 1036 + <item>food eat</item> 1037 + <item>food eat</item> 1038 + <item>bus vehicle</item> 1039 + <item></item> 1040 + <item>tree nature</item> 1041 + <item>vehicle</item> 1042 + <item>person people</item> 1043 + <item>person people</item> 1044 + <item>bug animal</item> 1045 + <item>mouse animal</item> 1046 + <item>location</item> 1047 + <item>location</item> 1048 + <item>work wrench</item> 1049 + <item>travel</item> 1050 + <item>food eat</item> 1051 + <item></item> 1052 + <item>food eat</item> 1053 + <item>food eat</item> 1054 + <item>person people</item> 1055 + <item></item> 1056 + <item>food eat</item> 1057 + <item>shop house</item> 1058 + <item></item> 1059 + <item>travel commute</item> 1060 + <item>food eat</item> 1061 + <item>commute car vehicle</item> 1062 + <item>mountain nature travel</item> 1063 + <item></item> 1064 + <item>car</item> 1065 + <item>travel commute</item> 1066 + <item>travel commute</item> 1067 + <item>person people</item> 1068 + <item></item> 1069 + <item>circle</item> 1070 + <item>vehicle</item> 1071 + <item>hand heart</item> 1072 + <item>drink food</item> 1073 + <item></item> 1074 + <item></item> 1075 + </string-array> 1076 + 1077 + <string-array name="icon_hint_navigation"> 1078 + <item></item> 1079 + <item></item> 1080 + <item></item> 1081 + <item></item> 1082 + <item></item> 1083 + <item></item> 1084 + <item></item> 1085 + <item></item> 1086 + <item></item> 1087 + <item></item> 1088 + <item></item> 1089 + <item></item> 1090 + <item></item> 1091 + <item></item> 1092 + <item></item> 1093 + <item></item> 1094 + <item></item> 1095 + <item></item> 1096 + <item></item> 1097 + <item></item> 1098 + <item></item> 1099 + <item></item> 1100 + <item>repeat</item> 1101 + <item></item> 1102 + <item></item> 1103 + <item></item> 1104 + <item></item> 1105 + </string-array> 1106 + 1107 + <string-array name="icon_hint_notification"> 1108 + <item>android</item> 1109 + <item>bed sleep medic hospital</item> 1110 + <item>bed sleep medic hospital</item> 1111 + <item>bed sleep medic hospital</item> 1112 + <item></item> 1113 + <item></item> 1114 + <item></item> 1115 + <item></item> 1116 + <item></item> 1117 + <item></item> 1118 + <item></item> 1119 + <item></item> 1120 + <item></item> 1121 + <item></item> 1122 + <item></item> 1123 + <item></item> 1124 + <item>car commute vehicle</item> 1125 + <item></item> 1126 + <item>date calendar</item> 1127 + <item>date calendar</item> 1128 + <item>date calendar</item> 1129 + <item></item> 1130 + <item>video</item> 1131 + <item>message chat</item> 1132 + <item></item> 1133 + <item></item> 1134 + <item></item> 1135 + <item></item> 1136 + <item>monitor computer</item> 1137 + <item>monitor computer</item> 1138 + <item>call</item> 1139 + <item>call</item> 1140 + <item>call</item> 1141 + <item>call</item> 1142 + <item>call</item> 1143 + <item>call</item> 1144 + <item>electric</item> 1145 + <item></item> 1146 + <item></item> 1147 + <item></item> 1148 + <item>message chat</item> 1149 + <item>message chat</item> 1150 + <item></item> 1151 + <item></item> 1152 + <item></item> 1153 + <item>phone</item> 1154 + <item>phone</item> 1155 + <item>car commute vehicle</item> 1156 + <item>phone</item> 1157 + <item>video</item> 1158 + <item>earth planet</item> 1159 + <item>person people group</item> 1160 + <item>network</item> 1161 + </string-array> 1162 + 1163 + <string-array name="icon_hint_places"> 1164 + <item>winter weather</item> 1165 + <item>bus vehicle commute</item> 1166 + <item></item> 1167 + <item>house</item> 1168 + <item>person people baby child</item> 1169 + <item></item> 1170 + <item>person people</item> 1171 + <item>umbrella weather</item> 1172 + <item></item> 1173 + <item>work briefcase</item> 1174 + <item>saw work</item> 1175 + <item></item> 1176 + <item>phone</item> 1177 + <item></item> 1178 + <item>person people baby child</item> 1179 + <item>baby child</item> 1180 + <item>house work</item> 1181 + <item></item> 1182 + <item></item> 1183 + <item>hand person people</item> 1184 + <item>hand person people</item> 1185 + <item></item> 1186 + <item></item> 1187 + <item>child person people baby family</item> 1188 + <item>child person people baby family</item> 1189 + <item></item> 1190 + <item></item> 1191 + <item>exercise sport</item> 1192 + <item>eat house</item> 1193 + <item>house</item> 1194 + <item>food eat drink</item> 1195 + <item>sport</item> 1196 + <item>nature</item> 1197 + <item>bath</item> 1198 + <item>home</item> 1199 + <item>home</item> 1200 + <item>fridge food</item> 1201 + <item>door</item> 1202 + <item>food eat</item> 1203 + <item>home</item> 1204 + <item></item> 1205 + <item>phone</item> 1206 + <item>drink</item> 1207 + <item>camera</item> 1208 + <item>food drink eat</item> 1209 + <item>door</item> 1210 + <item>camera</item> 1211 + <item>child baby</item> 1212 + <item>swim sport person people</item> 1213 + <item>food eat</item> 1214 + <item>home house</item> 1215 + <item>door</item> 1216 + <item></item> 1217 + <item></item> 1218 + <item></item> 1219 + <item></item> 1220 + <item></item> 1221 + <item>hand</item> 1222 + <item>nature flower</item> 1223 + <item>drink</item> 1224 + <item></item> 1225 + <item>shop house</item> 1226 + <item>child baby</item> 1227 + <item>food drink eat</item> 1228 + <item>call</item> 1229 + <item>weather</item> 1230 + <item>hand person people</item> 1231 + <item>home house</item> 1232 + <item>person people</item> 1233 + </string-array> 1234 + 1235 + <string-array name="icon_hint_social"> 1236 + <item>person people</item> 1237 + <item>safety</item> 1238 + <item></item> 1239 + <item>birthday</item> 1240 + <item>soap</item> 1241 + <item>person people</item> 1242 + <item>work hammer wrench</item> 1243 + <item></item> 1244 + <item></item> 1245 + <item>house</item> 1246 + <item>person people walk</item> 1247 + <item>person face smile emotion</item> 1248 + <item></item> 1249 + <item></item> 1250 + <item>drink</item> 1251 + <item>animal</item> 1252 + <item>light bulb</item> 1253 + <item>person people</item> 1254 + <item></item> 1255 + <item>car vehicle house commute</item> 1256 + <item>work person people</item> 1257 + <item></item> 1258 + <item></item> 1259 + <item>person people walk</item> 1260 + <item>person people group</item> 1261 + <item>person people group</item> 1262 + <item>person people group</item> 1263 + <item>write pen</item> 1264 + <item></item> 1265 + <item>sofa</item> 1266 + <item>house</item> 1267 + <item>travel</item> 1268 + <item></item> 1269 + <item></item> 1270 + <item>person people face smile emotion</item> 1271 + <item>person people face frown emotion</item> 1272 + <item>moon</item> 1273 + <item>travel</item> 1274 + <item>alarm</item> 1275 + <item>alarm</item> 1276 + <item>alarm</item> 1277 + <item>alarm</item> 1278 + <item>alarm</item> 1279 + <item>food eat</item> 1280 + <item></item> 1281 + <item>camera photo</item> 1282 + <item>person people group</item> 1283 + <item>person people group</item> 1284 + <item>person people group</item> 1285 + <item>person people</item> 1286 + <item>person people</item> 1287 + <item>person people</item> 1288 + <item>person people</item> 1289 + <item>person people</item> 1290 + <item>person people</item> 1291 + <item>person people</item> 1292 + <item></item> 1293 + <item>chart graph</item> 1294 + <item>robot work factory</item> 1295 + <item>person people head</item> 1296 + <item>planet earth</item> 1297 + <item>planet earth</item> 1298 + <item>hand like</item> 1299 + <item>person people group</item> 1300 + <item></item> 1301 + <item>soap</item> 1302 + <item>education school</item> 1303 + <item>education school</item> 1304 + <item>meditation person people</item> 1305 + <item>person people face frown emotion</item> 1306 + <item>person people face emotion</item> 1307 + <item>person people face smile emotion</item> 1308 + <item>person people face frown emotion</item> 1309 + <item>person people face smile laugh emotion</item> 1310 + <item></item> 1311 + <item>person people face</item> 1312 + <item>sofa</item> 1313 + <item></item> 1314 + <item></item> 1315 + <item></item> 1316 + <item></item> 1317 + <item></item> 1318 + <item></item> 1319 + <item></item> 1320 + <item>person people</item> 1321 + <item></item> 1322 + <item></item> 1323 + <item></item> 1324 + <item></item> 1325 + <item></item> 1326 + <item></item> 1327 + <item></item> 1328 + <item></item> 1329 + <item></item> 1330 + <item>hand like</item> 1331 + <item>hand like</item> 1332 + <item>fire</item> 1333 + </string-array> 1334 + 1335 + <string-array name="icon_hint_toggle"> 1336 + <item></item> 1337 + <item></item> 1338 + <item></item> 1339 + <item></item> 1340 + <item></item> 1341 + <item></item> 1342 + <item></item> 1343 + <item></item> 1344 + </string-array> 1345 + 1346 + </resources>
+7
domain/src/main/java/com/example/util/simpletimetracker/domain/model/IconImage.kt
··· 1 + package com.example.util.simpletimetracker.domain.model 2 + 3 + data class IconImage( 4 + val iconName: String, 5 + val iconResId: Int, 6 + val iconSearch: String, 7 + )
+14 -7
features/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/mapper/ChangeRecordTypeMapper.kt
··· 31 31 search: String, 32 32 isDarkTheme: Boolean, 33 33 ): List<ViewHolderType> { 34 - val iconCategories = iconImageMapper.getAvailableImages() 34 + val isSearching = search.isNotBlank() 35 + val iconCategories = iconImageMapper.getAvailableImages( 36 + loadSearchHints = isSearching 37 + ) 35 38 return iconCategories.toList().mapIndexed { index, (category, images) -> 36 39 val categoryViewData = ChangeRecordTypeIconCategoryInfoViewData( 37 40 type = ChangeRecordTypeIconTypeViewData.Image(category.type, index.toLong()), ··· 39 42 isLast = index == iconCategories.size - 1, 40 43 ) 41 44 .let(::listOf) 42 - .takeIf { search.isEmpty() } // Don't show category on search. 45 + .takeIf { !isSearching } // Don't show category on search. 43 46 .orEmpty() 44 47 45 - val iconsViewData = images.mapNotNull { (iconName, iconResId) -> 46 - if (search.isNotEmpty() && !iconName.contains(search)) { 47 - return@mapNotNull null 48 + val iconsViewData = images.mapNotNull { 49 + if (isSearching) { 50 + if (!it.iconName.contains(search) && 51 + !it.iconSearch.contains(search) 52 + ) { 53 + return@mapNotNull null 54 + } 48 55 } 49 56 50 57 mapImageViewData( 51 - iconName = iconName, 52 - iconResId = iconResId, 58 + iconName = it.iconName, 59 + iconResId = it.iconResId, 53 60 newColor = newColor, 54 61 isDarkTheme = isDarkTheme, 55 62 )