@@ -2,7 +2,7 @@ import UIKit
22import WordPressFlux
33import WordPressShared
44
5- @objc open class HomepageSettingsViewController : UITableViewController {
5+ @objc class HomepageSettingsViewController : UITableViewController {
66
77 fileprivate enum PageSelectionType {
88 case homepage
@@ -44,13 +44,15 @@ import WordPressShared
4444 ///
4545 /// - Parameter blog: The blog for which we want to configure Homepage settings
4646 ///
47- @objc public convenience init ( blog: Blog ) {
48- self . init ( style: . insetGrouped)
49-
47+ @objc init ( blog: Blog ) {
48+ self . coreDataStack = ContextManager . shared
5049 self . blog = blog
50+ self . postRepository = PostRepository ( coreDataStack: self . coreDataStack)
51+ super. init ( style: . insetGrouped)
52+ }
5153
52- let context = blog . managedObjectContext ?? ContextManager . shared . mainContext
53- postService = PostService ( managedObjectContext : context )
54+ required init ? ( coder : NSCoder ) {
55+ fatalError ( " init(coder:) has not been implemented " )
5456 }
5557
5658 open override func viewDidLoad( ) {
@@ -151,23 +153,23 @@ import WordPressShared
151153
152154 var selectedPagesRows : [ ImmuTableRow ] {
153155 let homepageID = blog. homepagePageID
154- let homepage = homepageID. flatMap { blog. lookupPost ( withID: $0, in: postService . managedObjectContext ) }
156+ let homepage = homepageID. flatMap { blog. lookupPost ( withID: $0, in: coreDataStack . mainContext ) }
155157 let homepageTitle = homepage? . titleForDisplay ( ) ?? " "
156158
157159 let postsPageID = blog. homepagePostsPageID
158- let postsPage = postsPageID. flatMap { blog. lookupPost ( withID: $0, in: postService . managedObjectContext ) }
160+ let postsPage = postsPageID. flatMap { blog. lookupPost ( withID: $0, in: coreDataStack . mainContext ) }
159161 let postsPageTitle = postsPage? . titleForDisplay ( ) ?? " "
160162
161163 let homepageRow = pageSelectionRow ( selectionType: . homepage,
162164 detail: homepageTitle,
163- selectedPostID: blog? . homepagePageID,
164- hiddenPostID: blog? . homepagePostsPageID,
165+ selectedPostID: blog. homepagePageID,
166+ hiddenPostID: blog. homepagePostsPageID,
165167 isInProgress: HomepageChange . isSelectedHomepage,
166168 changeForPost: { . selectedHomepage( $0) } )
167169 let postsPageRow = pageSelectionRow ( selectionType: . postsPage,
168170 detail: postsPageTitle,
169- selectedPostID: blog? . homepagePostsPageID,
170- hiddenPostID: blog? . homepagePageID,
171+ selectedPostID: blog. homepagePostsPageID,
172+ hiddenPostID: blog. homepagePageID,
171173 isInProgress: HomepageChange . isSelectedPostsPage,
172174 changeForPost: { . selectedPostsPage( $0) } )
173175 return [ homepageRow, postsPageRow]
@@ -304,9 +306,11 @@ import WordPressShared
304306 }
305307
306308 // MARK: - Private Properties
307- fileprivate var blog : Blog !
309+ private let coreDataStack : CoreDataStackSwift
310+ private let blog : Blog
311+ private let postRepository : PostRepository
308312
309- fileprivate var postService : PostService !
313+ private var fetchAllPagesTask : Task < [ TaggedManagedObjectID < Page > ] , Error > ?
310314
311315 /// Are we currently updating the homepage type?
312316 private var inProgressChange : HomepageChange ? = nil
0 commit comments