Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS-2548 support new di #1177

Merged
merged 3 commits into from
Apr 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions Anytype.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,6 @@
2A6574682A4456F6002F568C /* ObjectIconExample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6574672A4456F6002F568C /* ObjectIconExample.swift */; };
2A65E9B22AE1290300D40657 /* InitialCoordinatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A65E9B12AE1290300D40657 /* InitialCoordinatorView.swift */; };
2A65E9B42AE1294900D40657 /* InitialCoordinatorViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A65E9B32AE1294900D40657 /* InitialCoordinatorViewModel.swift */; };
2A65E9B62AE1297800D40657 /* InitialCoordinatorAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A65E9B52AE1297800D40657 /* InitialCoordinatorAssembly.swift */; };
2A6688932A1CCB1100D80CED /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6688922A1CCB1100D80CED /* AboutView.swift */; };
2A6688952A1CCB3D00D80CED /* AboutViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6688942A1CCB3D00D80CED /* AboutViewModel.swift */; };
2A668F152BB2BC0200460C68 /* AsyncStandardButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A668F142BB2BC0200460C68 /* AsyncStandardButtonGroup.swift */; };
Expand Down Expand Up @@ -1010,7 +1009,6 @@
2E8387BD291A520C00506766 /* GroupObjectIds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8387BC291A520C00506766 /* GroupObjectIds.swift */; };
2E8387BF291A521900506766 /* EditorSetViewModel+DragAndDropDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8387BE291A521900506766 /* EditorSetViewModel+DragAndDropDelegate.swift */; };
2E8387C1291A897700506766 /* BlockDataview+Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8387C0291A897700506766 /* BlockDataview+Group.swift */; };
2E8E8D122A262C7F009BC3B0 /* CreatingSoulViewModuleAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8E8D112A262C7F009BC3B0 /* CreatingSoulViewModuleAssembly.swift */; };
2E8E8D142A262CB6009BC3B0 /* CreatingSoulViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8E8D132A262CB6009BC3B0 /* CreatingSoulViewModel.swift */; };
2E8E8D162A262D2E009BC3B0 /* CreatingSoulView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E8E8D152A262D2E009BC3B0 /* CreatingSoulView.swift */; };
2E92219D294B8B5000968750 /* DataViewBlockViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E92219C294B8B5000968750 /* DataViewBlockViewModel.swift */; };
Expand Down Expand Up @@ -2251,7 +2249,6 @@
2A6574672A4456F6002F568C /* ObjectIconExample.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectIconExample.swift; sourceTree = "<group>"; };
2A65E9B12AE1290300D40657 /* InitialCoordinatorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InitialCoordinatorView.swift; sourceTree = "<group>"; };
2A65E9B32AE1294900D40657 /* InitialCoordinatorViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InitialCoordinatorViewModel.swift; sourceTree = "<group>"; };
2A65E9B52AE1297800D40657 /* InitialCoordinatorAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InitialCoordinatorAssembly.swift; sourceTree = "<group>"; };
2A6688922A1CCB1100D80CED /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
2A6688942A1CCB3D00D80CED /* AboutViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutViewModel.swift; sourceTree = "<group>"; };
2A668F142BB2BC0200460C68 /* AsyncStandardButtonGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncStandardButtonGroup.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2783,7 +2780,6 @@
2E8387BC291A520C00506766 /* GroupObjectIds.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupObjectIds.swift; sourceTree = "<group>"; };
2E8387BE291A521900506766 /* EditorSetViewModel+DragAndDropDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorSetViewModel+DragAndDropDelegate.swift"; sourceTree = "<group>"; };
2E8387C0291A897700506766 /* BlockDataview+Group.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BlockDataview+Group.swift"; sourceTree = "<group>"; };
2E8E8D112A262C7F009BC3B0 /* CreatingSoulViewModuleAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatingSoulViewModuleAssembly.swift; sourceTree = "<group>"; };
2E8E8D132A262CB6009BC3B0 /* CreatingSoulViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatingSoulViewModel.swift; sourceTree = "<group>"; };
2E8E8D152A262D2E009BC3B0 /* CreatingSoulView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatingSoulView.swift; sourceTree = "<group>"; };
2E92219C294B8B5000968750 /* DataViewBlockViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataViewBlockViewModel.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -5880,7 +5876,6 @@
children = (
2A65E9B12AE1290300D40657 /* InitialCoordinatorView.swift */,
2A65E9B32AE1294900D40657 /* InitialCoordinatorViewModel.swift */,
2A65E9B52AE1297800D40657 /* InitialCoordinatorAssembly.swift */,
);
path = InitialCoordinator;
sourceTree = "<group>";
Expand Down Expand Up @@ -7412,7 +7407,6 @@
2E8E8D102A261DA4009BC3B0 /* CreatingSoulView */ = {
isa = PBXGroup;
children = (
2E8E8D112A262C7F009BC3B0 /* CreatingSoulViewModuleAssembly.swift */,
2E8E8D132A262CB6009BC3B0 /* CreatingSoulViewModel.swift */,
2E8E8D152A262D2E009BC3B0 /* CreatingSoulView.swift */,
);
Expand Down Expand Up @@ -10654,7 +10648,6 @@
3DDC9F262B694D5500A00C99 /* ObjectTypeSearchViewModel+State.swift in Sources */,
2A8A2DCA2AB9956000105549 /* AppAction.swift in Sources */,
3D17025C2716E4F60079B65B /* EditorBarItemState.swift in Sources */,
2A65E9B62AE1297800D40657 /* InitialCoordinatorAssembly.swift in Sources */,
1289C51628105A2D005085E2 /* FileDownloadingViewModel.swift in Sources */,
2A673C1D29B0FA2800E3D672 /* AnytypeDismiss.swift in Sources */,
12CAF37226D6A9E3001E56B2 /* ImageStorageProtocol.swift in Sources */,
Expand Down Expand Up @@ -11914,7 +11907,6 @@
2A9486562950A41B007A5586 /* HomeWidgetsView.swift in Sources */,
2A947B372A30CDCF00119140 /* WidgetDataviewInternalViewModelProtocol.swift in Sources */,
3D932D5726317EFC00C7D1EA /* CommonViews+Pickers+File+UIKit.swift in Sources */,
2E8E8D122A262C7F009BC3B0 /* CreatingSoulViewModuleAssembly.swift in Sources */,
125683F227DF808E003A8251 /* NewSearchViewModel+SelectionMode.swift in Sources */,
C9CD66AC27EB3BDE001F1860 /* UnsplashItemsViewModel.swift in Sources */,
3DAE1C89273E6A59009A72F3 /* String+Range.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import AnytypeCore
import Services


final class MiddlewareMerticsConfigurator: AppConfiguratorProtocol {

private let metricsService = ServiceLocator.shared.metricsService()
@Injected(\.metricsService)
private var metricsService: MetricsServiceProtocol

func configure() {
let appVersion = MetadataProvider.appVersion ?? ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ final class ApplicationCoordinatorAssembly: ApplicationCoordinatorAssemblyProtoc
model: ApplicationCoordinatorViewModel(
authCoordinatorAssembly: self.coordinatorsDI.authorization(),
homeCoordinatorAssembly: self.coordinatorsDI.home(),
deleteAccountModuleAssembly: self.modulesDI.deleteAccount(),
initialCoordinatorAssembly: self.coordinatorsDI.initial(),
deleteAccountModuleAssembly: self.modulesDI.deleteAccount(),
navigationContext: self.uiHelpersDI.commonNavigationContext()
)
).eraseToAnyView()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ struct ApplicationCoordinatorView: View {
var applicationView: some View {
switch model.applicationState {
case .initial:
model.initialView()
InitialCoordinatorView()
case .auth:
model.authView()
.preferredColorScheme(.dark)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ final class ApplicationCoordinatorViewModel: ObservableObject {
private let authCoordinatorAssembly: AuthCoordinatorAssemblyProtocol
private let homeCoordinatorAssembly: HomeCoordinatorAssemblyProtocol
private let deleteAccountModuleAssembly: DeleteAccountModuleAssemblyProtocol
private let initialCoordinatorAssembly: InitialCoordinatorAssemblyProtocol
private let navigationContext: NavigationContextProtocol

private var authCoordinator: AuthCoordinatorProtocol?
Expand All @@ -38,24 +37,18 @@ final class ApplicationCoordinatorViewModel: ObservableObject {
authCoordinatorAssembly: AuthCoordinatorAssemblyProtocol,
homeCoordinatorAssembly: HomeCoordinatorAssemblyProtocol,
deleteAccountModuleAssembly: DeleteAccountModuleAssemblyProtocol,
initialCoordinatorAssembly: InitialCoordinatorAssemblyProtocol,
navigationContext: NavigationContextProtocol
) {
self.authCoordinatorAssembly = authCoordinatorAssembly
self.homeCoordinatorAssembly = homeCoordinatorAssembly
self.deleteAccountModuleAssembly = deleteAccountModuleAssembly
self.initialCoordinatorAssembly = initialCoordinatorAssembly
self.navigationContext = navigationContext
}

func onAppear() {
runAtFirstLaunch()
startObserve()
}

func initialView() -> AnyView {
return initialCoordinatorAssembly.make()
}

func authView() -> AnyView {
if let authCoordinator {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,6 @@ final class CoordinatorsDI: CoordinatorsDIProtocol {
EditorSetModuleAssembly(serviceLocator: serviceLocator, coordinatorsDI: self, modulesDI: modulesDI, uiHelpersDI: uiHelpersDI)
}

func initial() -> InitialCoordinatorAssemblyProtocol {
InitialCoordinatorAssembly(serviceLocator: serviceLocator)
}

func spaceSwitch() -> SpaceSwitchCoordinatorAssemblyProtocol {
SpaceSwitchCoordinatorAssembly(modulesDI: modulesDI, coordinatorsDI: self)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ protocol CoordinatorsDIProtocol: AnyObject {
func editorSet() -> EditorSetCoordinatorAssemblyProtocol
func editorPage() -> EditorPageCoordinatorAssemblyProtocol
func setObjectCreationSettings() -> SetObjectCreationSettingsCoordinatorAssemblyProtocol
func initial() -> InitialCoordinatorAssemblyProtocol
func spaceSwitch() -> SpaceSwitchCoordinatorAssemblyProtocol
func setObjectCreation() -> SetObjectCreationCoordinatorAssemblyProtocol
func sharingTip() -> SharingTipCoordinatorProtocol
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,6 @@ final class ModulesDI: ModulesDIProtocol {
func authKey() -> KeyPhraseViewModuleAssemblyProtocol {
return KeyPhraseViewModuleAssembly(uiHelpersDI: uiHelpersDI)
}

func authCreatingSoul() -> CreatingSoulViewModuleAssemblyProtocol {
return CreatingSoulViewModuleAssembly(serviceLocator: serviceLocator)
}

func setObjectCreationSettings() -> SetObjectCreationSettingsModuleAssemblyProtocol {
return SetObjectCreationSettingsModuleAssembly(serviceLocator: serviceLocator, uiHelperDI: uiHelpersDI)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ protocol ModulesDIProtocol: AnyObject {
func settingsAppearance() -> SettingsAppearanceModuleAssemblyProtocol
func dashboardAlerts() -> DashboardAlertsAssemblyProtocol
func authKey() -> KeyPhraseViewModuleAssemblyProtocol
func authCreatingSoul() -> CreatingSoulViewModuleAssemblyProtocol
func setObjectCreationSettings() -> SetObjectCreationSettingsModuleAssemblyProtocol
func setViewSettingsList() -> SetViewSettingsListModuleAssemblyProtocol
func setFiltersListModule() -> SetFiltersListModuleAssemblyProtocol
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ import SwiftUI

struct CreatingSoulView: View {

@StateObject var model: CreatingSoulViewModel
@StateObject private var model: CreatingSoulViewModel

init(state: JoinFlowState, output: JoinFlowStepOutput?) {
_model = StateObject(wrappedValue: CreatingSoulViewModel(state: state, output: output))
}

var body: some View {
GeometryReader { geo in
Expand Down Expand Up @@ -94,16 +98,6 @@ private extension CreatingSoulView {

struct CreatingSoulView_Previews : PreviewProvider {
static var previews: some View {
CreatingSoulView(
model: CreatingSoulViewModel(
state: JoinFlowState(),
output: nil,
accountManager: DI.preview.serviceLocator.accountManager(),
subscriptionService: DI.preview.serviceLocator.singleObjectSubscriptionService(),
authService: DI.preview.serviceLocator.authService(),
seedService: DI.preview.serviceLocator.seedService(),
usecaseService: DI.preview.serviceLocator.usecaseService()
)
)
CreatingSoulView(state: JoinFlowState(), output: nil)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,16 @@ final class CreatingSoulViewModel: ObservableObject {
accountManager.account.id
}

private let accountManager: AccountManagerProtocol
private let subscriptionService: SingleObjectSubscriptionServiceProtocol
private let authService: AuthServiceProtocol
private let seedService: SeedServiceProtocol
private let usecaseService: UsecaseServiceProtocol
@Injected(\.accountManager)
private var accountManager: AccountManagerProtocol
@Injected(\.singleObjectSubscriptionService)
private var subscriptionService: SingleObjectSubscriptionServiceProtocol
@Injected(\.authService)
private var authService: AuthServiceProtocol
@Injected(\.seedService)
private var seedService: SeedServiceProtocol
@Injected(\.usecaseService)
private var usecaseService: UsecaseServiceProtocol
private weak var output: JoinFlowStepOutput?

private var animationInProgress = false
Expand All @@ -28,20 +33,10 @@ final class CreatingSoulViewModel: ObservableObject {

init(
state: JoinFlowState,
output: JoinFlowStepOutput?,
accountManager: AccountManagerProtocol,
subscriptionService: SingleObjectSubscriptionServiceProtocol,
authService: AuthServiceProtocol,
seedService: SeedServiceProtocol,
usecaseService: UsecaseServiceProtocol
output: JoinFlowStepOutput?
) {
self.state = state
self.output = output
self.accountManager = accountManager
self.subscriptionService = subscriptionService
self.authService = authService
self.seedService = seedService
self.usecaseService = usecaseService
self.createAccount()
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ final class LoopingPlayerUIView: UIView, SceneStateListener {
private let playerLayer = AVPlayerLayer()
private var playerLooper: AVPlayerLooper?
private let player = AVQueuePlayer()
private let sceneStateNotifier = ServiceLocator.shared.sceneStateNotifier()
@Injected(\.sceneStateNotifier)
private var sceneStateNotifier: SceneStateNotifierProtocol

init(url: URL) {
super.init(frame: .zero)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import SwiftUI

struct InitialCoordinatorView: View {

@StateObject var model: InitialCoordinatorViewModel
@StateObject private var model = InitialCoordinatorViewModel()

var body: some View {
ZStack {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,23 @@ import Services
@MainActor
final class InitialCoordinatorViewModel: ObservableObject {

private let middlewareConfigurationProvider: MiddlewareConfigurationProviderProtocol
private let applicationStateService: ApplicationStateServiceProtocol
private let seedService: SeedServiceProtocol
private let localAuthService: LocalAuthServiceProtocol
private let localRepoService: LocalRepoServiceProtocol
@Injected(\.middlewareConfigurationProvider)
private var middlewareConfigurationProvider: MiddlewareConfigurationProviderProtocol
@Injected(\.applicationStateService)
private var applicationStateService: ApplicationStateServiceProtocol
@Injected(\.seedService)
private var seedService: SeedServiceProtocol
@Injected(\.localAuthService)
private var localAuthService: LocalAuthServiceProtocol
@Injected(\.localRepoService)
private var localRepoService: LocalRepoServiceProtocol

@Published var showWarningAlert: Bool = false
@Published var showSaveBackupAlert: Bool = false
@Published var toastBarData: ToastBarData = .empty
@Published var middlewareShareFile: URL? = nil
@Published var localStoreURL: URL? = nil

init(
middlewareConfigurationProvider: MiddlewareConfigurationProviderProtocol,
applicationStateService: ApplicationStateServiceProtocol,
seedService: SeedServiceProtocol,
localAuthService: LocalAuthServiceProtocol,
localRepoService: LocalRepoServiceProtocol
) {
self.middlewareConfigurationProvider = middlewareConfigurationProvider
self.applicationStateService = applicationStateService
self.seedService = seedService
self.localAuthService = localAuthService
self.localRepoService = localRepoService
}

func onAppear() {
checkCrash()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ final class DeviceSceneStateListener: DeviceSceneStateListenerProtocol, SceneSta

@Injected(\.sceneLifecycleStateService)
private var lifecycleStateService: SceneLifecycleStateServiceProtocol
private let sceneStateNotifier = ServiceLocator.shared.sceneStateNotifier()
@Injected(\.sceneStateNotifier)
private var sceneStateNotifier: SceneStateNotifierProtocol

// MARK: - DeviceSceneStateListenerProtocol

Expand Down
Loading
Loading