fix: suspend OTG live transfer on exit
This commit is contained in:
@ -197,6 +197,17 @@ final class WiredCameraTransferViewModelTests: XCTestCase {
|
||||
XCTAssertEqual(driver.downloadedObjectIds, [])
|
||||
XCTAssertTrue(viewModel.filteredPhotos().isEmpty)
|
||||
}
|
||||
|
||||
func testStopSuspendsLiveTransferPolling() {
|
||||
let context = makeOTGTestContext()
|
||||
let manager = MockWiredCameraConnectionManager(driver: MockCameraDriver(objects: []))
|
||||
let viewModel = makeWiredViewModel(context: context, manager: manager)
|
||||
|
||||
viewModel.start()
|
||||
viewModel.stop()
|
||||
|
||||
XCTAssertEqual(manager.suspendLiveTransferCallCount, 1)
|
||||
}
|
||||
}
|
||||
|
||||
/// 旅拍相册相机历史导入 ViewModel 测试。
|
||||
@ -437,6 +448,7 @@ private final class MockWiredCameraConnectionManager: WiredCameraConnectionManag
|
||||
var state: ConnectionState
|
||||
var currentDriver: CameraDriver?
|
||||
var isContentCatalogReady: Bool
|
||||
private(set) var suspendLiveTransferCallCount = 0
|
||||
|
||||
init(
|
||||
state: ConnectionState = .connected(platform: .canon, deviceName: "Canon"),
|
||||
@ -451,6 +463,9 @@ private final class MockWiredCameraConnectionManager: WiredCameraConnectionManag
|
||||
func configureLiveTransfer(albumID: Int?) {}
|
||||
func start() {}
|
||||
func unbindDelegate() {}
|
||||
func suspendLiveTransfer() {
|
||||
suspendLiveTransferCallCount += 1
|
||||
}
|
||||
func disconnect() {
|
||||
state = .disconnected
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user