Introduced new ShareExtensionDelegate method didStartSendingToRoom to notify the viewController when the request is initiated to only then show the loading hud, block interaction with the view, etc

This commit is contained in:
Aram Sargsyan
2017-08-21 01:39:08 +04:00
parent 224cf039f1
commit b1ae853be4
3 changed files with 24 additions and 3 deletions
@@ -164,7 +164,9 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
}
}
- (UIAlertController *)compressionPromptForImage:(UIImage *)image shareBlock:(nonnull void(^)())shareBlock
#pragma mark - Private
- (UIAlertController *)compressionPromptForImage:(UIImage *)image shareBlock:(void(^)())shareBlock
{
UIAlertController *compressionPrompt;
@@ -300,6 +302,14 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
return compressionPrompt;
}
- (void)didStartSendingToRoom:(MXRoom *)room
{
if ([self.delegate respondsToSelector:@selector(shareExtensionManager:didStartSendingContentToRoom:)])
{
[self.delegate shareExtensionManager:self didStartSendingContentToRoom:room];
}
}
#pragma mark - Notifications
- (void)onMediaUploadProgress:(NSNotification *)notification
@@ -314,6 +324,7 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
- (void)sendText:(NSString *)text toRoom:(MXRoom *)room extensionItem:(NSExtensionItem *)extensionItem failureBlock:(void(^)())failureBlock
{
[self didStartSendingToRoom:room];
if (!text)
{
NSLog(@"[ShareExtensionManager] loadItemForTypeIdentifier: failed.");
@@ -343,6 +354,7 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
- (void)sendFileWithUrl:(NSURL *)fileUrl toRoom:(MXRoom *)room extensionItem:(NSExtensionItem *)extensionItem failureBlock:(void(^)())failureBlock
{
[self didStartSendingToRoom:room];
if (!fileUrl)
{
NSLog(@"[ShareExtensionManager] loadItemForTypeIdentifier: failed.");
@@ -373,6 +385,7 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
- (void)sendImage:(NSData *)imageData withProvider:(NSItemProvider*)itemProvider toRoom:(MXRoom *)room extensionItem:(NSExtensionItem *)extensionItem failureBlock:(void(^)())failureBlock
{
[self didStartSendingToRoom:room];
if (!imageData)
{
NSLog(@"[ShareExtensionManager] loadItemForTypeIdentifier: failed.");
@@ -443,6 +456,7 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
- (void)sendVideo:(NSURL *)videoLocalUrl toRoom:(MXRoom *)room extensionItem:(NSExtensionItem *)extensionItem failureBlock:(void(^)())failureBlock
{
[self didStartSendingToRoom:room];
if (!videoLocalUrl)
{
NSLog(@"[ShareExtensionManager] loadItemForTypeIdentifier: failed.");