diff --git a/SessionShareExtension/ShareVC.swift b/SessionShareExtension/ShareVC.swift index d8677aa44..63e89d268 100644 --- a/SessionShareExtension/ShareVC.swift +++ b/SessionShareExtension/ShareVC.swift @@ -201,6 +201,7 @@ final class ShareVC : UINavigationController, ShareViewDelegate, AppModeManagerD private func showMainContent() { let threadPickerVC = ThreadPickerVC() setViewControllers([ threadPickerVC ], animated: false) + buildAttachments().retainUntilComplete() } func shareViewWasUnlocked() { @@ -548,6 +549,7 @@ final class ShareVC : UINavigationController, ShareViewDelegate, AppModeManagerD let (promise, exportSession) = SignalAttachment.compressVideoAsMp4(dataSource: dataSource, dataUTI: specificUTIType) + /* // TODO: How can we move waiting for this export to the end of the share flow rather than having to do it up front? // Ideally we'd be able to start it here, and not block the UI on conversion unless there's still work to be done // when the user hits "send". @@ -565,6 +567,7 @@ final class ShareVC : UINavigationController, ShareViewDelegate, AppModeManagerD loadViewController.progress = progressPoller.progress } } + */ return promise } diff --git a/SessionShareExtension/ThreadPickerVC.swift b/SessionShareExtension/ThreadPickerVC.swift index 7c9dd852a..73fdbc035 100644 --- a/SessionShareExtension/ThreadPickerVC.swift +++ b/SessionShareExtension/ThreadPickerVC.swift @@ -23,6 +23,14 @@ final class ThreadPickerVC : UIViewController, UITableViewDataSource { return result }() + private lazy var fadeView: UIView = { + let result = UIView() + let gradient = Gradients.homeVCFade + result.setGradient(gradient) + result.isUserInteractionEnabled = false + return result + }() + // MARK: Lifecycle override func viewDidLoad() { super.viewDidLoad() @@ -47,6 +55,12 @@ final class ThreadPickerVC : UIViewController, UITableViewDataSource { tableView.dataSource = self view.addSubview(tableView) tableView.pin(to: view) + view.addSubview(fadeView) + fadeView.pin(.leading, to: .leading, of: view) + let topInset = 0.15 * view.height() + fadeView.pin(.top, to: .top, of: view, withInset: topInset) + fadeView.pin(.trailing, to: .trailing, of: view) + fadeView.pin(.bottom, to: .bottom, of: view) // Reload reload() }