Handle completion
This commit is contained in:
parent
0cbcf0b169
commit
54684ba565
|
@ -201,8 +201,16 @@ final class ShareVC : UINavigationController, ShareViewDelegate, AppModeManagerD
|
|||
|
||||
private func showMainContent() {
|
||||
let threadPickerVC = ThreadPickerVC()
|
||||
threadPickerVC.shareVC = self
|
||||
setViewControllers([ threadPickerVC ], animated: false)
|
||||
ShareVC.attachmentPrepPromise = buildAttachments()
|
||||
showLoader()
|
||||
let promise = buildAttachments()
|
||||
promise.done { [weak self] _ in
|
||||
self?.hideLoader()
|
||||
}.catch { [weak self] _ in
|
||||
self?.hideLoader()
|
||||
}
|
||||
ShareVC.attachmentPrepPromise = promise
|
||||
}
|
||||
|
||||
func shareViewWasUnlocked() {
|
||||
|
@ -210,15 +218,23 @@ final class ShareVC : UINavigationController, ShareViewDelegate, AppModeManagerD
|
|||
}
|
||||
|
||||
func shareViewWasCompleted() {
|
||||
print("completed")
|
||||
extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
|
||||
}
|
||||
|
||||
func shareViewWasCancelled() {
|
||||
print("canceled")
|
||||
extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
|
||||
}
|
||||
|
||||
func shareViewFailed(error: Error) {
|
||||
print("failed")
|
||||
extensionContext!.cancelRequest(withError: error)
|
||||
}
|
||||
|
||||
func showLoader() {
|
||||
|
||||
}
|
||||
|
||||
func hideLoader() {
|
||||
|
||||
}
|
||||
|
||||
// MARK: Attachment Prep
|
||||
|
|
|
@ -50,7 +50,7 @@ final class SimplifiedConversationCell : UITableViewCell {
|
|||
profilePictureView.set(.height, to: profilePictureViewSize)
|
||||
profilePictureView.size = profilePictureViewSize
|
||||
// Main stack view
|
||||
let stackView = UIStackView(arrangedSubviews: [ accentLineView, profilePictureView, displayNameLabel ])
|
||||
let stackView = UIStackView(arrangedSubviews: [ accentLineView, profilePictureView, displayNameLabel, UIView.hSpacer(0) ])
|
||||
stackView.axis = .horizontal
|
||||
stackView.alignment = .center
|
||||
stackView.spacing = Values.mediumSpacing
|
||||
|
|
|
@ -4,6 +4,7 @@ final class ThreadPickerVC : UIViewController, UITableViewDataSource, UITableVie
|
|||
private var threads: YapDatabaseViewMappings!
|
||||
private var threadViewModelCache: [String:ThreadViewModel] = [:] // Thread ID to ThreadViewModel
|
||||
private var selectedThread: TSThread?
|
||||
var shareVC: ShareVC?
|
||||
|
||||
private var threadCount: UInt {
|
||||
threads.numberOfItems(inGroup: TSInboxGroup)
|
||||
|
@ -99,6 +100,7 @@ final class ThreadPickerVC : UIViewController, UITableViewDataSource, UITableVie
|
|||
}
|
||||
|
||||
func attachmentApproval(_ attachmentApproval: AttachmentApprovalViewController, didApproveAttachments attachments: [SignalAttachment], messageText: String?) {
|
||||
shareVC?.showLoader()
|
||||
let message = VisibleMessage()
|
||||
message.sentTimestamp = NSDate.millisecondTimestamp()
|
||||
message.text = messageText
|
||||
|
@ -107,16 +109,24 @@ final class ThreadPickerVC : UIViewController, UITableViewDataSource, UITableVie
|
|||
tsMessage.save(with: transaction)
|
||||
}
|
||||
Storage.write { transaction in
|
||||
MessageSender.sendNonDurably(message, with: attachments, in: self.selectedThread!, using: transaction).retainUntilComplete()
|
||||
MessageSender.sendNonDurably(message, with: attachments, in: self.selectedThread!, using: transaction).done { [weak self] _ in
|
||||
guard let self = self else { return }
|
||||
self.shareVC?.hideLoader()
|
||||
self.shareVC?.shareViewWasCompleted()
|
||||
}.catch { [weak self] error in
|
||||
guard let self = self else { return }
|
||||
self.shareVC?.hideLoader()
|
||||
self.shareVC?.shareViewFailed(error: error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func attachmentApprovalDidCancel(_ attachmentApproval: AttachmentApprovalViewController) {
|
||||
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
func attachmentApproval(_ attachmentApproval: AttachmentApprovalViewController, didChangeMessageText newMessageText: String?) {
|
||||
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
// MARK: Convenience
|
||||
|
|
Loading…
Reference in New Issue