Replace the deprecated MXMediaManager and MXMediaLoader interfaces use

This commit is contained in:
Giom Foret
2018-11-10 14:28:08 +01:00
parent 7f636ed48f
commit 0d68e42fb4
3 changed files with 82 additions and 39 deletions
@@ -58,7 +58,7 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
sharedInstance.pendingImages = [NSMutableArray array];
sharedInstance.imageUploadProgresses = [NSMutableDictionary dictionary];
[[NSNotificationCenter defaultCenter] addObserver:sharedInstance selector:@selector(onMediaUploadProgress:) name:kMXMediaUploadProgressNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:sharedInstance selector:@selector(onMediaLoaderStateDidChange:) name:kMXMediaLoaderStateDidChangeNotification object:nil];
// Add observer to handle logout
[[NSNotificationCenter defaultCenter] addObserver:sharedInstance selector:@selector(checkUserAccount) name:kMXKAccountManagerDidRemoveAccountNotification object:nil];
@@ -503,21 +503,30 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
#pragma mark - Notifications
- (void)onMediaUploadProgress:(NSNotification *)notification
- (void)onMediaLoaderStateDidChange:(NSNotification *)notification
{
self.imageUploadProgresses[notification.object] = (NSNumber *)notification.userInfo[kMXMediaLoaderProgressValueKey];
if ([self.delegate respondsToSelector:@selector(shareExtensionManager:mediaUploadProgress:)])
{
const NSInteger totalImagesCount = self.pendingImages.count;
CGFloat totalProgress = 0.0;
for (NSNumber *progress in self.imageUploadProgresses.allValues)
MXMediaLoader *loader = (MXMediaLoader*)notification.object;
// Consider only upload progress
switch (loader.state) {
case MXMediaLoaderStateUploadInProgress:
{
totalProgress += progress.floatValue/totalImagesCount;
self.imageUploadProgresses[loader.uploadId] = (NSNumber *)loader.statisticsDict[kMXMediaLoaderProgressValueKey];
if ([self.delegate respondsToSelector:@selector(shareExtensionManager:mediaUploadProgress:)])
{
const NSInteger totalImagesCount = self.pendingImages.count;
CGFloat totalProgress = 0.0;
for (NSNumber *progress in self.imageUploadProgresses.allValues)
{
totalProgress += progress.floatValue/totalImagesCount;
}
[self.delegate shareExtensionManager:self mediaUploadProgress:totalProgress];
}
break;
}
[self.delegate shareExtensionManager:self mediaUploadProgress:totalProgress];
default:
break;
}
}