remove redundant state

pull/2/head
Michael Kirk 6 years ago
parent fa2d5b422b
commit a8caae73cf

@ -2858,8 +2858,7 @@ typedef enum : NSUInteger {
UIViewController *pickerModal;
if (SSKFeatureFlags.useCustomPhotoCapture) {
SendMediaNavigationController *navController =
[SendMediaNavigationController showingCameraFirstWithMessageText:self.inputToolbar.messageText];
SendMediaNavigationController *navController = [SendMediaNavigationController showingCameraFirst];
navController.sendMediaNavDelegate = self;
pickerModal = navController;
} else {
@ -2904,8 +2903,7 @@ typedef enum : NSUInteger {
return;
}
SendMediaNavigationController *pickerModal =
[SendMediaNavigationController showingMediaLibraryFirstWithMessageText:self.inputToolbar.messageText];
SendMediaNavigationController *pickerModal = [SendMediaNavigationController showingMediaLibraryFirst];
pickerModal.sendMediaNavDelegate = self;
[self dismissKeyBoard];
@ -2941,9 +2939,26 @@ typedef enum : NSUInteger {
messageText:(nullable NSString *)messageText
{
[self tryToSendAttachments:attachments messageText:messageText];
[self.inputToolbar clearTextMessageAnimated:NO];
// we want to already be at the bottom when the user returns, rather than have to watch
// the new message scroll into view.
[self scrollToBottomAnimated:NO];
[self dismissViewControllerAnimated:YES completion:nil];
}
- (nullable NSString *)sendMediaNavInitialMessageText:(SendMediaNavigationController *)sendMediaNavigationController
{
return self.inputToolbar.messageText;
}
- (void)sendMediaNav:(SendMediaNavigationController *)sendMediaNavigationController
didChangeMessageText:(nullable NSString *)messageText
{
[self.inputToolbar setMessageText:messageText animated:NO];
}
#pragma mark - UIImagePickerControllerDelegate
/*
@ -3910,7 +3925,9 @@ typedef enum : NSUInteger {
messageText:(NSString *_Nullable)messageText
{
[self tryToSendAttachments:attachments messageText:messageText];
[self.inputToolbar clearTextMessageAnimated:NO];
[self dismissViewControllerAnimated:YES completion:nil];
// We always want to scroll to the bottom of the conversation after the local user
// sends a message. Normally, this is taken care of in yapDatabaseModified:, but
// we don't listen to db modifications when this view isn't visible, i.e. when the

@ -10,6 +10,9 @@ import PromiseKit
protocol SendMediaNavDelegate: AnyObject {
func sendMediaNavDidCancel(_ sendMediaNavigationController: SendMediaNavigationController)
func sendMediaNav(_ sendMediaNavigationController: SendMediaNavigationController, didApproveAttachments attachments: [SignalAttachment], messageText: String?)
func sendMediaNavInitialMessageText(_ sendMediaNavigationController: SendMediaNavigationController) -> String?
func sendMediaNav(_ sendMediaNavigationController: SendMediaNavigationController, didChangeMessageText newMessageText: String?)
}
@objc
@ -19,8 +22,6 @@ class SendMediaNavigationController: OWSNavigationController {
override var prefersStatusBarHidden: Bool { return true }
var messageText: String?
override func viewDidLoad() {
super.viewDidLoad()
@ -53,21 +54,19 @@ class SendMediaNavigationController: OWSNavigationController {
public weak var sendMediaNavDelegate: SendMediaNavDelegate?
@objc
public class func showingCameraFirst(messageText: String) -> SendMediaNavigationController {
public class func showingCameraFirst() -> SendMediaNavigationController {
let navController = SendMediaNavigationController()
navController.setViewControllers([navController.captureViewController], animated: false)
navController.updateButtons()
navController.messageText = messageText
return navController
}
@objc
public class func showingMediaLibraryFirst(messageText: String) -> SendMediaNavigationController {
public class func showingMediaLibraryFirst() -> SendMediaNavigationController {
let navController = SendMediaNavigationController()
navController.setViewControllers([navController.mediaLibraryViewController], animated: false)
navController.updateButtons()
navController.messageText = messageText
return navController
}
@ -212,9 +211,14 @@ class SendMediaNavigationController: OWSNavigationController {
}()
private func pushApprovalViewController() {
guard let sendMediaNavDelegate = self.sendMediaNavDelegate else {
owsFailDebug("sendMediaNavDelegate was unexpectedly nil")
return
}
let approvalViewController = AttachmentApprovalViewController(mode: .sharedNavigation, attachments: self.attachments)
approvalViewController.approvalDelegate = self
approvalViewController.messageText = messageText
approvalViewController.messageText = sendMediaNavDelegate.sendMediaNavInitialMessageText(self)
pushViewController(approvalViewController, animated: true)
updateButtons()
@ -367,7 +371,7 @@ extension SendMediaNavigationController: ImagePickerGridControllerDelegate {
extension SendMediaNavigationController: AttachmentApprovalViewControllerDelegate {
func attachmentApproval(_ attachmentApproval: AttachmentApprovalViewController, didChangeMessageText newMessageText: String?) {
self.messageText = newMessageText
sendMediaNavDelegate?.sendMediaNav(self, didChangeMessageText: newMessageText)
}
func attachmentApproval(_ attachmentApproval: AttachmentApprovalViewController, didRemoveAttachment attachment: SignalAttachment) {

Loading…
Cancel
Save