Skip to content

Commit 7d971ce

Browse files
author
Sharma Elanthiriayan
committed
- Remove SettingsFactory and use default parameter values to initialise SettingsViewModel.
- Use default parameter value in SettingsViewController and assign view model's presenter inside initialiser method.
1 parent ea1f095 commit 7d971ce

File tree

5 files changed

+6
-22
lines changed

5 files changed

+6
-22
lines changed

WooCommerce/Classes/ViewRelated/Dashboard/DashboardViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ extension DashboardViewController {
389389
private extension DashboardViewController {
390390

391391
@objc func settingsTapped() {
392-
let settingsViewController = SettingsFactory.settings()
392+
let settingsViewController = SettingsViewController()
393393
ServiceLocator.analytics.track(.settingsTapped)
394394
show(settingsViewController, sender: self)
395395
}

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsFactory.swift

Lines changed: 0 additions & 13 deletions
This file was deleted.

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewController.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ protocol SettingsViewPresenter: AnyObject {
1212
final class SettingsViewController: UIViewController {
1313
typealias ViewModel = SettingsViewModelOutput & SettingsViewModelActionsHandler & SettingsViewModelInput
1414

15-
private let viewModel: ViewModel
15+
private var viewModel: ViewModel
1616

1717
/// Main TableView
1818
///
@@ -22,9 +22,10 @@ final class SettingsViewController: UIViewController {
2222
///
2323
private var storePickerCoordinator: StorePickerCoordinator?
2424

25-
init(viewModel: ViewModel) {
25+
init(viewModel: ViewModel = SettingsViewModel()) {
2626
self.viewModel = viewModel
2727
super.init(nibName: nil, bundle: nil)
28+
self.viewModel.presenter = self
2829
}
2930

3031
required init?(coder: NSCoder) {

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewModel.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ final class SettingsViewModel: SettingsViewModelOutput, SettingsViewModelActions
9191
private let stores: StoresManager
9292
private let storageManager: StorageManagerType
9393

94-
init(stores: StoresManager,
95-
storageManager: StorageManagerType) {
94+
init(stores: StoresManager = ServiceLocator.stores,
95+
storageManager: StorageManagerType = ServiceLocator.storageManager) {
9696
self.stores = stores
9797
self.storageManager = storageManager
9898

WooCommerce/WooCommerce.xcodeproj/project.pbxproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,7 +1033,6 @@
10331033
B63AAF4B254AD2C6000B28A2 /* URL+SurveyViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B63AAF4A254AD2C6000B28A2 /* URL+SurveyViewControllerTests.swift */; };
10341034
B873E8F8E103966D2182EE67 /* Pods_WooCommerceTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DC4526F9A7357761197EBF0 /* Pods_WooCommerceTests.framework */; };
10351035
BAE4F8432734325C00871344 /* SettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE4F8422734325C00871344 /* SettingsViewModel.swift */; };
1036-
BAFEF51C273B6CEC005F94CC /* SettingsFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAF1B3B42736596100BA11DC /* SettingsFactory.swift */; };
10371036
BAFEF51E273C2151005F94CC /* SettingsViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAFEF51D273C2151005F94CC /* SettingsViewModelTests.swift */; };
10381037
CC0324A3263AD9F40056C6B7 /* MockShippingLabelAccountSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC0324A2263AD9F40056C6B7 /* MockShippingLabelAccountSettings.swift */; };
10391038
CC078531266E706300BA9AC1 /* ErrorTopBannerFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC078530266E706300BA9AC1 /* ErrorTopBannerFactory.swift */; };
@@ -2504,7 +2503,6 @@
25042503
B63AAF4A254AD2C6000B28A2 /* URL+SurveyViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+SurveyViewControllerTests.swift"; sourceTree = "<group>"; };
25052504
BABE5E07DD787ECA6D2A76DE /* Pods_WooCommerce.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WooCommerce.framework; sourceTree = BUILT_PRODUCTS_DIR; };
25062505
BAE4F8422734325C00871344 /* SettingsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = "<group>"; };
2507-
BAF1B3B42736596100BA11DC /* SettingsFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsFactory.swift; sourceTree = "<group>"; };
25082506
BAFEF51D273C2151005F94CC /* SettingsViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsViewModelTests.swift; sourceTree = "<group>"; };
25092507
CC0324A2263AD9F40056C6B7 /* MockShippingLabelAccountSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockShippingLabelAccountSettings.swift; sourceTree = "<group>"; };
25102508
CC078530266E706300BA9AC1 /* ErrorTopBannerFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTopBannerFactory.swift; sourceTree = "<group>"; };
@@ -5672,7 +5670,6 @@
56725670
027D4A8B2526FD1700108626 /* SettingsViewController.swift */,
56735671
BAE4F8422734325C00871344 /* SettingsViewModel.swift */,
56745672
027D4A8C2526FD1700108626 /* SettingsViewController.xib */,
5675-
BAF1B3B42736596100BA11DC /* SettingsFactory.swift */,
56765673
);
56775674
path = Settings;
56785675
sourceTree = "<group>";
@@ -7646,7 +7643,6 @@
76467643
74B5713621CD7604008F9B8E /* SharingHelper.swift in Sources */,
76477644
260C315E2523CC4000157BC2 /* RefundProductsTotalViewModel.swift in Sources */,
76487645
0286B27D23C7051F003D784B /* ProductImagesViewController.swift in Sources */,
7649-
BAFEF51C273B6CEC005F94CC /* SettingsFactory.swift in Sources */,
76507646
4569317F2653E82B009ED69D /* ShippingLabelCarriers.swift in Sources */,
76517647
024DF30B23742297006658FE /* AztecFormatBarCommand.swift in Sources */,
76527648
262AF387271114CC00E39AFF /* SimplePaymentsAmountViewModel.swift in Sources */,

0 commit comments

Comments
 (0)