This repository was archived by the owner on Sep 20, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed
Classes/Notifications/Filter Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,13 @@ final class InboxFilterController {
2121
2222 let client : InboxFilterControllerClient
2323 let announcer = Announcer < InboxFilterControllerListener > ( )
24-
24+ private static let key = " com.freetime.InboxFilterController.filterIndex "
25+
26+ private static var filterIndex : Int {
27+ get { return UserDefaults . standard. integer ( forKey: key) }
28+ set ( newIndex) { UserDefaults . standard. set ( newIndex, forKey: key) }
29+ }
30+
2531 private static let filters = [
2632 InboxFilterModel ( type: . unread) ,
2733 InboxFilterModel ( type: . all) ,
@@ -30,9 +36,12 @@ final class InboxFilterController {
3036 InboxFilterModel ( type: . created)
3137 ]
3238
33- private( set) var selected : InboxFilterModel = InboxFilterController . filters [ 0 ] {
39+ private( set) var selected : InboxFilterModel = InboxFilterController . filters [ filterIndex ] {
3440 didSet {
3541 announcer. enumerate { $0. didUpdateSelectedFilter ( for: self ) }
42+ guard let newIndex = InboxFilterController . filters
43+ . firstIndex ( where: { $0. type == selected. type } ) else { return }
44+ InboxFilterController . filterIndex = newIndex
3645 }
3746 }
3847 private var fetchedFilters = [ InboxFilterModel] ( )
You can’t perform that action at this time.
0 commit comments