@@ -10,6 +10,7 @@ import io.github.sds100.keymapper.backup.ImportExportState
1010import io.github.sds100.keymapper.backup.RestoreType
1111import io.github.sds100.keymapper.constraints.ConstraintErrorSnapshot
1212import io.github.sds100.keymapper.constraints.ConstraintMode
13+ import io.github.sds100.keymapper.constraints.ConstraintUiHelper
1314import io.github.sds100.keymapper.groups.SubGroupListModel
1415import io.github.sds100.keymapper.home.HomeWarningListItem
1516import io.github.sds100.keymapper.home.SelectedKeyMapsEnabled
@@ -46,6 +47,7 @@ import io.github.sds100.keymapper.util.ui.PopupViewModelImpl
4647import io.github.sds100.keymapper.util.ui.ResourceProvider
4748import io.github.sds100.keymapper.util.ui.SelectionState
4849import io.github.sds100.keymapper.util.ui.ViewModelHelper
50+ import io.github.sds100.keymapper.util.ui.compose.ComposeIconInfo
4951import io.github.sds100.keymapper.util.ui.navigate
5052import io.github.sds100.keymapper.util.ui.showPopup
5153import kotlinx.coroutines.CoroutineScope
@@ -91,6 +93,7 @@ class KeyMapListViewModel(
9193 val multiSelectProvider: MultiSelectProvider = MultiSelectProvider ()
9294
9395 private val listItemCreator = KeyMapListItemCreator (listKeyMaps, resourceProvider)
96+ private val constraintUiHelper = ConstraintUiHelper (listKeyMaps, resourceProvider)
9497
9598 private val initialState = KeyMapListState (
9699 appBarState = KeyMapAppBarState .RootGroup (
@@ -302,10 +305,17 @@ class KeyMapListViewModel(
302305 )
303306 } else {
304307 val subGroupListItems = keyMapGroup.subGroups.map { group ->
308+ var icon: ComposeIconInfo ? = null
309+
310+ val constraint = group.constraintState.constraints.firstOrNull()
311+ if (constraint != null ) {
312+ icon = constraintUiHelper.getIcon(constraint)
313+ }
314+
305315 SubGroupListModel (
306316 uid = group.uid,
307317 name = group.name,
308- icon = null , // TODO show icon depending on constraints
318+ icon = icon,
309319 )
310320 }
311321
0 commit comments