mirror of
https://github.com/Finb/Bark.git
synced 2025-12-08 21:36:01 +00:00
去掉不必要的藕合依赖
This commit is contained in:
parent
e035f50a55
commit
1e71ac8113
@ -71,6 +71,7 @@
|
|||||||
064CAB9E256BE9090018155C /* PreviewCardCellViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064CAB9D256BE9090018155C /* PreviewCardCellViewModel.swift */; };
|
064CAB9E256BE9090018155C /* PreviewCardCellViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064CAB9D256BE9090018155C /* PreviewCardCellViewModel.swift */; };
|
||||||
064CABA6256BE9510018155C /* PreviewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064CABA5256BE9510018155C /* PreviewModel.swift */; };
|
064CABA6256BE9510018155C /* PreviewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064CABA5256BE9510018155C /* PreviewModel.swift */; };
|
||||||
065A4D4220EE1A31002EB2DB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 063C499720E36BF9001BCA35 /* Localizable.strings */; };
|
065A4D4220EE1A31002EB2DB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 063C499720E36BF9001BCA35 /* Localizable.strings */; };
|
||||||
|
065AE76B2987777F00323230 /* ArchiveSettingRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065AE76A2987777F00323230 /* ArchiveSettingRelay.swift */; };
|
||||||
065BE4402563D649002A8CA4 /* SoundsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065BE43F2563D649002A8CA4 /* SoundsViewModel.swift */; };
|
065BE4402563D649002A8CA4 /* SoundsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065BE43F2563D649002A8CA4 /* SoundsViewModel.swift */; };
|
||||||
065BE4462563D7E5002A8CA4 /* ViewModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065BE4452563D7E5002A8CA4 /* ViewModelType.swift */; };
|
065BE4462563D7E5002A8CA4 /* ViewModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065BE4452563D7E5002A8CA4 /* ViewModelType.swift */; };
|
||||||
065BE44B2563D8E1002A8CA4 /* Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065BE44A2563D8E1002A8CA4 /* Reusable.swift */; };
|
065BE44B2563D8E1002A8CA4 /* Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065BE44A2563D8E1002A8CA4 /* Reusable.swift */; };
|
||||||
@ -118,6 +119,8 @@
|
|||||||
06CF784721C7A50300A052D7 /* NotificationServiceExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 06CF784021C7A50300A052D7 /* NotificationServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
06CF784721C7A50300A052D7 /* NotificationServiceExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 06CF784021C7A50300A052D7 /* NotificationServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
06CF784C21C7A51200A052D7 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CF784B21C7A51200A052D7 /* NotificationService.swift */; };
|
06CF784C21C7A51200A052D7 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CF784B21C7A51200A052D7 /* NotificationService.swift */; };
|
||||||
06EE1FD326843E9300586708 /* BarkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06EE1FD226843E9300586708 /* BarkTests.swift */; };
|
06EE1FD326843E9300586708 /* BarkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06EE1FD226843E9300586708 /* BarkTests.swift */; };
|
||||||
|
06EEF333291CCFF400CA228A /* CryptoSettingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06EEF332291CCFF400CA228A /* CryptoSettingController.swift */; };
|
||||||
|
06EEF335291CD00000CA228A /* CryptoSettingModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06EEF334291CD00000CA228A /* CryptoSettingModel.swift */; };
|
||||||
06F11E7727D9D5FB00F00298 /* QRScannerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06F11E7627D9D5FB00F00298 /* QRScannerViewController.swift */; };
|
06F11E7727D9D5FB00F00298 /* QRScannerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06F11E7627D9D5FB00F00298 /* QRScannerViewController.swift */; };
|
||||||
3428272069AFAFE2C683FEB0 /* libPods-Bark.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CCC722470308049D180876C7 /* libPods-Bark.a */; };
|
3428272069AFAFE2C683FEB0 /* libPods-Bark.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CCC722470308049D180876C7 /* libPods-Bark.a */; };
|
||||||
879AE4D4178855A9672009E4 /* libPods-NotificationServiceExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B7F8BDFAA047451561798F58 /* libPods-NotificationServiceExtension.a */; };
|
879AE4D4178855A9672009E4 /* libPods-NotificationServiceExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B7F8BDFAA047451561798F58 /* libPods-NotificationServiceExtension.a */; };
|
||||||
@ -235,6 +238,7 @@
|
|||||||
0642B55B27EB149900453D91 /* MutableTextCellViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutableTextCellViewModel.swift; sourceTree = "<group>"; };
|
0642B55B27EB149900453D91 /* MutableTextCellViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutableTextCellViewModel.swift; sourceTree = "<group>"; };
|
||||||
064CAB9D256BE9090018155C /* PreviewCardCellViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewCardCellViewModel.swift; sourceTree = "<group>"; };
|
064CAB9D256BE9090018155C /* PreviewCardCellViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewCardCellViewModel.swift; sourceTree = "<group>"; };
|
||||||
064CABA5256BE9510018155C /* PreviewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewModel.swift; sourceTree = "<group>"; };
|
064CABA5256BE9510018155C /* PreviewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewModel.swift; sourceTree = "<group>"; };
|
||||||
|
065AE76A2987777F00323230 /* ArchiveSettingRelay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchiveSettingRelay.swift; sourceTree = "<group>"; };
|
||||||
065BE43F2563D649002A8CA4 /* SoundsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoundsViewModel.swift; sourceTree = "<group>"; };
|
065BE43F2563D649002A8CA4 /* SoundsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoundsViewModel.swift; sourceTree = "<group>"; };
|
||||||
065BE4452563D7E5002A8CA4 /* ViewModelType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewModelType.swift; sourceTree = "<group>"; };
|
065BE4452563D7E5002A8CA4 /* ViewModelType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewModelType.swift; sourceTree = "<group>"; };
|
||||||
065BE44A2563D8E1002A8CA4 /* Reusable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reusable.swift; sourceTree = "<group>"; };
|
065BE44A2563D8E1002A8CA4 /* Reusable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reusable.swift; sourceTree = "<group>"; };
|
||||||
@ -289,6 +293,8 @@
|
|||||||
06EE1FD026843E9300586708 /* BarkTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BarkTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
06EE1FD026843E9300586708 /* BarkTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BarkTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
06EE1FD226843E9300586708 /* BarkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BarkTests.swift; sourceTree = "<group>"; };
|
06EE1FD226843E9300586708 /* BarkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BarkTests.swift; sourceTree = "<group>"; };
|
||||||
06EE1FD426843E9300586708 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
06EE1FD426843E9300586708 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
06EEF332291CCFF400CA228A /* CryptoSettingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CryptoSettingController.swift; sourceTree = "<group>"; };
|
||||||
|
06EEF334291CD00000CA228A /* CryptoSettingModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CryptoSettingModel.swift; sourceTree = "<group>"; };
|
||||||
06F11E7627D9D5FB00F00298 /* QRScannerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRScannerViewController.swift; sourceTree = "<group>"; };
|
06F11E7627D9D5FB00F00298 /* QRScannerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRScannerViewController.swift; sourceTree = "<group>"; };
|
||||||
121D9B1ED4E8D26F345BC5C0 /* Pods-BarkTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BarkTests.release.xcconfig"; path = "Target Support Files/Pods-BarkTests/Pods-BarkTests.release.xcconfig"; sourceTree = "<group>"; };
|
121D9B1ED4E8D26F345BC5C0 /* Pods-BarkTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BarkTests.release.xcconfig"; path = "Target Support Files/Pods-BarkTests/Pods-BarkTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
138CE8CB688587E893BC5C44 /* Pods-Bark.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bark.debug.xcconfig"; path = "Target Support Files/Pods-Bark/Pods-Bark.debug.xcconfig"; sourceTree = "<group>"; };
|
138CE8CB688587E893BC5C44 /* Pods-Bark.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bark.debug.xcconfig"; path = "Target Support Files/Pods-Bark/Pods-Bark.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
@ -368,6 +374,8 @@
|
|||||||
06F11E7627D9D5FB00F00298 /* QRScannerViewController.swift */,
|
06F11E7627D9D5FB00F00298 /* QRScannerViewController.swift */,
|
||||||
068EC15727ED99C900D5D11E /* ServerListViewController.swift */,
|
068EC15727ED99C900D5D11E /* ServerListViewController.swift */,
|
||||||
068EC15927ED99E700D5D11E /* ServerListViewModel.swift */,
|
068EC15927ED99E700D5D11E /* ServerListViewModel.swift */,
|
||||||
|
06EEF332291CCFF400CA228A /* CryptoSettingController.swift */,
|
||||||
|
06EEF334291CD00000CA228A /* CryptoSettingModel.swift */,
|
||||||
);
|
);
|
||||||
path = Controller;
|
path = Controller;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -477,6 +485,7 @@
|
|||||||
06BBB8C82567B6730076F63E /* Operators.swift */,
|
06BBB8C82567B6730076F63E /* Operators.swift */,
|
||||||
0633E809256A091B00ED0680 /* MJRefresh+Rx.swift */,
|
0633E809256A091B00ED0680 /* MJRefresh+Rx.swift */,
|
||||||
06840DBA272298FB001B3193 /* BKColor.swift */,
|
06840DBA272298FB001B3193 /* BKColor.swift */,
|
||||||
|
065AE76A2987777F00323230 /* ArchiveSettingRelay.swift */,
|
||||||
);
|
);
|
||||||
path = Common;
|
path = Common;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -953,6 +962,7 @@
|
|||||||
0642B55C27EB149900453D91 /* MutableTextCellViewModel.swift in Sources */,
|
0642B55C27EB149900453D91 /* MutableTextCellViewModel.swift in Sources */,
|
||||||
062B98C8251B27AE004562E7 /* UINavigationItem+Extension.swift in Sources */,
|
062B98C8251B27AE004562E7 /* UINavigationItem+Extension.swift in Sources */,
|
||||||
060481EE250F404500BC9799 /* SoundsViewController.swift in Sources */,
|
060481EE250F404500BC9799 /* SoundsViewController.swift in Sources */,
|
||||||
|
06EEF333291CCFF400CA228A /* CryptoSettingController.swift in Sources */,
|
||||||
0603706D20E23EC000F4CA05 /* BarkSFSafariViewController.swift in Sources */,
|
0603706D20E23EC000F4CA05 /* BarkSFSafariViewController.swift in Sources */,
|
||||||
06AE311A266F4E6600B39FBB /* GroupFilterViewModel.swift in Sources */,
|
06AE311A266F4E6600B39FBB /* GroupFilterViewModel.swift in Sources */,
|
||||||
06BD4DAA2901352E003364DB /* Object+Dictionary.swift in Sources */,
|
06BD4DAA2901352E003364DB /* Object+Dictionary.swift in Sources */,
|
||||||
@ -993,6 +1003,7 @@
|
|||||||
06C2CF252685BDB80034B127 /* SpacerCell.swift in Sources */,
|
06C2CF252685BDB80034B127 /* SpacerCell.swift in Sources */,
|
||||||
06BBB8BC2567B3AD0076F63E /* ArchiveSettingCellViewModel.swift in Sources */,
|
06BBB8BC2567B3AD0076F63E /* ArchiveSettingCellViewModel.swift in Sources */,
|
||||||
0642B55A27EB13F100453D91 /* MutableTextCell.swift in Sources */,
|
0642B55A27EB13F100453D91 /* MutableTextCell.swift in Sources */,
|
||||||
|
06EEF335291CD00000CA228A /* CryptoSettingModel.swift in Sources */,
|
||||||
0637FA8020E0981E00E80174 /* BarkSettings.swift in Sources */,
|
0637FA8020E0981E00E80174 /* BarkSettings.swift in Sources */,
|
||||||
065BE4402563D649002A8CA4 /* SoundsViewModel.swift in Sources */,
|
065BE4402563D649002A8CA4 /* SoundsViewModel.swift in Sources */,
|
||||||
065BE4462563D7E5002A8CA4 /* ViewModelType.swift in Sources */,
|
065BE4462563D7E5002A8CA4 /* ViewModelType.swift in Sources */,
|
||||||
@ -1001,6 +1012,7 @@
|
|||||||
06BBB8B72567AC140076F63E /* MessageSettingsViewModel.swift in Sources */,
|
06BBB8B72567AC140076F63E /* MessageSettingsViewModel.swift in Sources */,
|
||||||
06BBB8C12567B3EF0076F63E /* BaseTableViewCell.swift in Sources */,
|
06BBB8C12567B3EF0076F63E /* BaseTableViewCell.swift in Sources */,
|
||||||
0661A543204FDA4100965E4E /* AppDelegate.swift in Sources */,
|
0661A543204FDA4100965E4E /* AppDelegate.swift in Sources */,
|
||||||
|
065AE76B2987777F00323230 /* ArchiveSettingRelay.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
23
Common/ArchiveSettingRelay.swift
Normal file
23
Common/ArchiveSettingRelay.swift
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
//
|
||||||
|
// ArchiveSettingRelay.swift
|
||||||
|
// Bark
|
||||||
|
//
|
||||||
|
// Created by huangfeng on 2023/1/30.
|
||||||
|
// Copyright © 2023 Fin. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import RxCocoa
|
||||||
|
import UIKit
|
||||||
|
class ArchiveSettingRelay: NSObject {
|
||||||
|
static let shared = ArchiveSettingRelay()
|
||||||
|
let isArchiveRelay: BehaviorRelay<Bool>
|
||||||
|
|
||||||
|
override private init() {
|
||||||
|
self.isArchiveRelay = BehaviorRelay<Bool>(value: ArchiveSettingManager.shared.isArchive)
|
||||||
|
super.init()
|
||||||
|
|
||||||
|
self.isArchiveRelay.subscribe { val in
|
||||||
|
ArchiveSettingManager.shared.isArchive = val
|
||||||
|
}.disposed(by: rx.disposeBag)
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -121,7 +121,8 @@ class MessageSettingsViewController: BaseViewController<MessageSettingsViewModel
|
|||||||
backupAction: actions.0,
|
backupAction: actions.0,
|
||||||
restoreAction: actions.1,
|
restoreAction: actions.1,
|
||||||
viewDidAppear: self.rx.methodInvoked(#selector(viewDidAppear(_:)))
|
viewDidAppear: self.rx.methodInvoked(#selector(viewDidAppear(_:)))
|
||||||
.map { _ in () }
|
.map { _ in () },
|
||||||
|
archiveSettingRelay: ArchiveSettingRelay.shared.isArchiveRelay
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,7 @@ class MessageSettingsViewModel: ViewModel, ViewModelType {
|
|||||||
var backupAction: Driver<Void>
|
var backupAction: Driver<Void>
|
||||||
var restoreAction: Driver<Data>
|
var restoreAction: Driver<Data>
|
||||||
var viewDidAppear: Observable<Void>
|
var viewDidAppear: Observable<Void>
|
||||||
|
var archiveSettingRelay: BehaviorRelay<Bool>
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Output {
|
struct Output {
|
||||||
@ -90,7 +91,7 @@ class MessageSettingsViewModel: ViewModel, ViewModelType {
|
|||||||
.asDriver(onErrorDriveWith: .empty()))
|
.asDriver(onErrorDriveWith: .empty()))
|
||||||
))
|
))
|
||||||
settings.append(.label(text: NSLocalizedString("exportOrImport")))
|
settings.append(.label(text: NSLocalizedString("exportOrImport")))
|
||||||
settings.append(.archiveSetting(viewModel: ArchiveSettingCellViewModel(on: ArchiveSettingManager.shared.isArchive)))
|
settings.append(.archiveSetting(viewModel: ArchiveSettingCellViewModel(on: input.archiveSettingRelay)))
|
||||||
settings.append(.label(text: NSLocalizedString("archiveNote")))
|
settings.append(.label(text: NSLocalizedString("archiveNote")))
|
||||||
|
|
||||||
settings.append(.label(text: NSLocalizedString("info")))
|
settings.append(.label(text: NSLocalizedString("info")))
|
||||||
@ -143,18 +144,6 @@ class MessageSettingsViewModel: ViewModel, ViewModelType {
|
|||||||
return settings
|
return settings
|
||||||
}()
|
}()
|
||||||
|
|
||||||
settings.compactMap { item -> ArchiveSettingCellViewModel? in
|
|
||||||
if case let MessageSettingItem.archiveSetting(viewModel) = item {
|
|
||||||
return viewModel
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
.first?
|
|
||||||
.on
|
|
||||||
.subscribe(onNext: { on in
|
|
||||||
ArchiveSettingManager.shared.isArchive = on
|
|
||||||
}).disposed(by: rx.disposeBag)
|
|
||||||
|
|
||||||
let openUrl = input.itemSelected.compactMap { item -> URL? in
|
let openUrl = input.itemSelected.compactMap { item -> URL? in
|
||||||
if case let MessageSettingItem.detail(_, _, _, url) = item {
|
if case let MessageSettingItem.detail(_, _, _, url) = item {
|
||||||
return url
|
return url
|
||||||
|
|||||||
@ -10,8 +10,8 @@ import Foundation
|
|||||||
import RxCocoa
|
import RxCocoa
|
||||||
class ArchiveSettingCellViewModel: ViewModel {
|
class ArchiveSettingCellViewModel: ViewModel {
|
||||||
var on: BehaviorRelay<Bool>
|
var on: BehaviorRelay<Bool>
|
||||||
init(on: Bool) {
|
init(on: BehaviorRelay<Bool>) {
|
||||||
self.on = BehaviorRelay<Bool>(value: on)
|
self.on = on
|
||||||
super.init()
|
super.init()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user