Skip to content

Commit eb8814f

Browse files
committed
#320 show icons for groups based off the first constraint
1 parent 3ca7d75 commit eb8814f

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

app/src/main/java/io/github/sds100/keymapper/mappings/keymaps/KeyMapListViewModel.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import io.github.sds100.keymapper.backup.ImportExportState
1010
import io.github.sds100.keymapper.backup.RestoreType
1111
import io.github.sds100.keymapper.constraints.ConstraintErrorSnapshot
1212
import io.github.sds100.keymapper.constraints.ConstraintMode
13+
import io.github.sds100.keymapper.constraints.ConstraintUiHelper
1314
import io.github.sds100.keymapper.groups.SubGroupListModel
1415
import io.github.sds100.keymapper.home.HomeWarningListItem
1516
import io.github.sds100.keymapper.home.SelectedKeyMapsEnabled
@@ -46,6 +47,7 @@ import io.github.sds100.keymapper.util.ui.PopupViewModelImpl
4647
import io.github.sds100.keymapper.util.ui.ResourceProvider
4748
import io.github.sds100.keymapper.util.ui.SelectionState
4849
import io.github.sds100.keymapper.util.ui.ViewModelHelper
50+
import io.github.sds100.keymapper.util.ui.compose.ComposeIconInfo
4951
import io.github.sds100.keymapper.util.ui.navigate
5052
import io.github.sds100.keymapper.util.ui.showPopup
5153
import 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

Comments
 (0)