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 */; };
|
||||
064CABA6256BE9510018155C /* PreviewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064CABA5256BE9510018155C /* PreviewModel.swift */; };
|
||||
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 */; };
|
||||
065BE4462563D7E5002A8CA4 /* ViewModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065BE4452563D7E5002A8CA4 /* ViewModelType.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, ); }; };
|
||||
06CF784C21C7A51200A052D7 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CF784B21C7A51200A052D7 /* NotificationService.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 */; };
|
||||
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 */; };
|
||||
@ -235,6 +238,7 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@ -289,6 +293,8 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@ -368,6 +374,8 @@
|
||||
06F11E7627D9D5FB00F00298 /* QRScannerViewController.swift */,
|
||||
068EC15727ED99C900D5D11E /* ServerListViewController.swift */,
|
||||
068EC15927ED99E700D5D11E /* ServerListViewModel.swift */,
|
||||
06EEF332291CCFF400CA228A /* CryptoSettingController.swift */,
|
||||
06EEF334291CD00000CA228A /* CryptoSettingModel.swift */,
|
||||
);
|
||||
path = Controller;
|
||||
sourceTree = "<group>";
|
||||
@ -477,6 +485,7 @@
|
||||
06BBB8C82567B6730076F63E /* Operators.swift */,
|
||||
0633E809256A091B00ED0680 /* MJRefresh+Rx.swift */,
|
||||
06840DBA272298FB001B3193 /* BKColor.swift */,
|
||||
065AE76A2987777F00323230 /* ArchiveSettingRelay.swift */,
|
||||
);
|
||||
path = Common;
|
||||
sourceTree = "<group>";
|
||||
@ -953,6 +962,7 @@
|
||||
0642B55C27EB149900453D91 /* MutableTextCellViewModel.swift in Sources */,
|
||||
062B98C8251B27AE004562E7 /* UINavigationItem+Extension.swift in Sources */,
|
||||
060481EE250F404500BC9799 /* SoundsViewController.swift in Sources */,
|
||||
06EEF333291CCFF400CA228A /* CryptoSettingController.swift in Sources */,
|
||||
0603706D20E23EC000F4CA05 /* BarkSFSafariViewController.swift in Sources */,
|
||||
06AE311A266F4E6600B39FBB /* GroupFilterViewModel.swift in Sources */,
|
||||
06BD4DAA2901352E003364DB /* Object+Dictionary.swift in Sources */,
|
||||
@ -993,6 +1003,7 @@
|
||||
06C2CF252685BDB80034B127 /* SpacerCell.swift in Sources */,
|
||||
06BBB8BC2567B3AD0076F63E /* ArchiveSettingCellViewModel.swift in Sources */,
|
||||
0642B55A27EB13F100453D91 /* MutableTextCell.swift in Sources */,
|
||||
06EEF335291CD00000CA228A /* CryptoSettingModel.swift in Sources */,
|
||||
0637FA8020E0981E00E80174 /* BarkSettings.swift in Sources */,
|
||||
065BE4402563D649002A8CA4 /* SoundsViewModel.swift in Sources */,
|
||||
065BE4462563D7E5002A8CA4 /* ViewModelType.swift in Sources */,
|
||||
@ -1001,6 +1012,7 @@
|
||||
06BBB8B72567AC140076F63E /* MessageSettingsViewModel.swift in Sources */,
|
||||
06BBB8C12567B3EF0076F63E /* BaseTableViewCell.swift in Sources */,
|
||||
0661A543204FDA4100965E4E /* AppDelegate.swift in Sources */,
|
||||
065AE76B2987777F00323230 /* ArchiveSettingRelay.swift in Sources */,
|
||||
);
|
||||
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,
|
||||
restoreAction: actions.1,
|
||||
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 restoreAction: Driver<Data>
|
||||
var viewDidAppear: Observable<Void>
|
||||
var archiveSettingRelay: BehaviorRelay<Bool>
|
||||
}
|
||||
|
||||
struct Output {
|
||||
@ -90,7 +91,7 @@ class MessageSettingsViewModel: ViewModel, ViewModelType {
|
||||
.asDriver(onErrorDriveWith: .empty()))
|
||||
))
|
||||
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("info")))
|
||||
@ -143,18 +144,6 @@ class MessageSettingsViewModel: ViewModel, ViewModelType {
|
||||
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
|
||||
if case let MessageSettingItem.detail(_, _, _, url) = item {
|
||||
return url
|
||||
|
||||
@ -10,8 +10,8 @@ import Foundation
|
||||
import RxCocoa
|
||||
class ArchiveSettingCellViewModel: ViewModel {
|
||||
var on: BehaviorRelay<Bool>
|
||||
init(on: Bool) {
|
||||
self.on = BehaviorRelay<Bool>(value: on)
|
||||
init(on: BehaviorRelay<Bool>) {
|
||||
self.on = on
|
||||
super.init()
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user