Skip to content

Permissions: Align filter and sort UI with apps list#319

Merged
d4rken merged 3 commits into
mainfrom
feat/align-filter-sort-ui
Mar 17, 2026
Merged

Permissions: Align filter and sort UI with apps list#319
d4rken merged 3 commits into
mainfrom
feat/align-filter-sort-ui

Conversation

@d4rken

@d4rken d4rken commented Mar 17, 2026

Copy link
Copy Markdown
Member

What changed

The permissions list now uses the same filter and sort UI as the apps list β€” a unified bottom sheet instead of separate dialogs. Filter options are grouped into "Source" and "Type" categories with intuitive combination logic: filters within a group are combined with OR, groups are combined with AND.

Both the apps and permissions filter sheets now include a help button explaining the icons and tags shown in each list. The upgrade star has been removed from both toolbars, and the expand/collapse menu in the permissions list now shows only the relevant action based on current state.

Filter and sort option enums now have hardcoded serialization names to prevent silent breakage from future refactoring.

Technical Context

  • Permissions filter grouping follows the exact same pattern as apps: Group enum on Filter, matches() with groupBy/all/any
  • The old MultiChoiceFilterDialog/SingleChoiceSortDialog are no longer used by the permissions list screen (still used by other screens)
  • @SerialName annotations match current enum names β€” no migration needed, purely forward-protection
  • Filter logic change: old was pure AND across all active filters, new is OR-within-group AND-between-groups. Default filters span both groups so the default view is largely unchanged
  • The expand/collapse toggle derives state from listData group items β€” no new ViewModel state needed

Replace separate filter/sort AlertDialogs with unified ModalBottomSheet, add grouped filter chips with OR-within-group/AND-between-groups logic, add filter icon with badge dot in TopAppBar, add help buttons to both apps and permissions filter sheets, remove upgrade star from toolbars, make expand/collapse menu contextual, add @SerialName to all serialized enums, add serialization and filter logic tests.
@d4rken d4rken added the enhancement New feature or request label Mar 17, 2026
d4rken added 2 commits March 17, 2026 17:02
Set LocalMinimumInteractiveComponentSize to 40dp for filter chips (default 48dp added too much vertical gap). Add default and active-filter preview composables for both bottom sheets.
@d4rken d4rken marked this pull request as ready for review March 17, 2026 16:04
@d4rken d4rken merged commit 9212768 into main Mar 17, 2026
9 checks passed
@d4rken d4rken deleted the feat/align-filter-sort-ui branch March 17, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant