@@ -22,6 +22,7 @@ import kotlinx.coroutines.launch
2222
2323enum class AppFilter {
2424 ALL ,
25+ PROP_ONLY ,
2526 PROP_WITH_ALTERNATIVES ,
2627 PROP_NO_ALTERNATIVES ,
2728 FOSS_ONLY ,
@@ -76,6 +77,7 @@ class DashboardViewModel(
7677 } else {
7778 when (appFilter) {
7879 AppFilter .ALL -> app.status != AppStatus .IGNORED
80+ AppFilter .PROP_ONLY -> app.status == AppStatus .PROP
7981 AppFilter .PROP_WITH_ALTERNATIVES -> app.status == AppStatus .PROP && app.knownAlternatives > 0
8082 AppFilter .PROP_NO_ALTERNATIVES -> app.status == AppStatus .PROP && app.knownAlternatives == 0
8183 AppFilter .FOSS_ONLY -> app.status == AppStatus .FOSS
@@ -121,12 +123,30 @@ class DashboardViewModel(
121123
122124 fun setStatusFilter (status : AppStatus ? ) {
123125 _statusFilter .value = status
124- _appFilter .value = AppFilter .ALL
126+ // Sync app filter based on status
127+ _appFilter .value = when (status) {
128+ AppStatus .FOSS -> AppFilter .FOSS_ONLY
129+ AppStatus .PROP -> AppFilter .PROP_ONLY
130+ AppStatus .UNKN -> AppFilter .UNKNOWN_ONLY
131+ AppStatus .PENDING -> AppFilter .PENDING_ONLY
132+ AppStatus .IGNORED -> AppFilter .IGNORED_ONLY
133+ null -> AppFilter .ALL
134+ }
125135 }
126136
127137 fun setAppFilter (filter : AppFilter ) {
128138 _appFilter .value = filter
129- _statusFilter .value = null
139+ // Sync status filter based on app filter
140+ _statusFilter .value = when (filter) {
141+ AppFilter .FOSS_ONLY -> AppStatus .FOSS
142+ AppFilter .PROP_ONLY ,
143+ AppFilter .PROP_WITH_ALTERNATIVES ,
144+ AppFilter .PROP_NO_ALTERNATIVES -> AppStatus .PROP
145+ AppFilter .UNKNOWN_ONLY -> AppStatus .UNKN
146+ AppFilter .PENDING_ONLY -> AppStatus .PENDING
147+ AppFilter .IGNORED_ONLY -> AppStatus .IGNORED
148+ AppFilter .ALL -> null
149+ }
130150 }
131151
132152 fun ignoreApp (packageName : String ) {
0 commit comments