mirror of
https://github.com/luxfi/safe-ios.git
synced 2026-10-30 15:19:20 +00:00
49 lines
1.3 KiB
Swift
49 lines
1.3 KiB
Swift
//
|
|
// ExportInProgressViewController.swift
|
|
// Multisig
|
|
//
|
|
// Created by Dmitrii Bespalov on 05.06.24.
|
|
// Copyright © 2024 Core Contributors GmbH. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class ExportInProgressViewController: UIViewController {
|
|
|
|
var userPassword: String!
|
|
var completion: (_ result: (tempFileURL: URL?, logs: [String])) -> Void = { _ in }
|
|
|
|
private var didExport: Bool = false
|
|
private var exportController = ImportExportDataController()
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
title = "Exporting data..."
|
|
}
|
|
|
|
override func viewDidAppear(_ animated: Bool) {
|
|
super.viewDidAppear(true)
|
|
guard !didExport else { return }
|
|
didExport = true
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1), execute: { [weak self] in
|
|
self?.exportData()
|
|
})
|
|
}
|
|
|
|
func exportData() {
|
|
Task { @MainActor in
|
|
guard let userPassword = userPassword else {
|
|
return
|
|
}
|
|
let tempFileURL = await exportController.exportToTemporaryFile(key: userPassword)
|
|
let isOnScreen = viewIfLoaded?.window != nil
|
|
guard isOnScreen else {
|
|
return
|
|
}
|
|
completion((tempFileURL, exportController.logs))
|
|
}
|
|
}
|
|
|
|
}
|