Fix SYIOS-14 Switch to using new media repo...

This commit is contained in:
giomfo 2014-12-19 18:55:42 +01:00
parent 1703573334
commit 84a3796ee8
3 changed files with 18 additions and 21 deletions

View file

@ -16,6 +16,8 @@
#import <MatrixSDK/MatrixSDK.h>
#define MX_PREFIX_CONTENT_URI @"mxc://"
extern NSString *const kMatrixHandlerUnsupportedMessagePrefix;
@interface MatrixHandler : NSObject

View file

@ -15,6 +15,7 @@
*/
#import "MediaManager.h"
#import "MatrixHandler.h"
NSString *const kMediaManagerPrefixForDummyURL = @"dummyUrl-";
@ -39,6 +40,17 @@ static MediaManager *sharedMediaManager = nil;
@implementation MediaLoader
- (NSString*)validateContentURL:(NSString*)contentURL {
// Detect matrix content url
if ([contentURL hasPrefix:MX_PREFIX_CONTENT_URI]) {
NSString *mxMediaPrefix = [NSString stringWithFormat:@"%@%@/download/", [[MatrixHandler sharedHandler] homeServerURL], kMXMediaPathPrefix];
// Set actual url
return [contentURL stringByReplacingOccurrencesOfString:MX_PREFIX_CONTENT_URI withString:mxMediaPrefix];
}
return contentURL;
}
- (void)downloadPicture:(NSString*)pictureURL
success:(blockMediaManager_onImageReady)success
failure:(blockMediaManager_onError)failure {
@ -74,7 +86,7 @@ static MediaManager *sharedMediaManager = nil;
onError = failure;
// Start downloading
NSURL *url = [NSURL URLWithString:aMediaURL];
NSURL *url = [NSURL URLWithString:[self validateContentURL:aMediaURL]];
downloadData = [[NSMutableData alloc] init];
downloadConnection = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:url] delegate:self];
}

View file

@ -19,8 +19,6 @@
#import "MatrixHandler.h"
#import "AppSettings.h"
#define MX_PREFIX_CONTENT_URI @"mxc://"
static NSAttributedString *messageSeparator = nil;
@interface RoomMessage() {
@ -28,9 +26,6 @@ static NSAttributedString *messageSeparator = nil;
NSMutableArray *messageComponents;
// Current text message reset at each component change (see attributedTextMessage property)
NSMutableAttributedString *currentAttributedTextMsg;
// Relative Matrix content uri
NSString *mxContentURI;
}
+ (NSAttributedString *)messageSeparator;
@ -60,20 +55,14 @@ static NSAttributedString *messageSeparator = nil;
// Retrieve content url/info
_attachmentURL = event.content[@"url"];
_attachmentInfo = event.content[@"info"];
if ([_attachmentURL hasPrefix:MX_PREFIX_CONTENT_URI]) {
mxContentURI = _attachmentURL;
NSString *mxMediaPrefix = [NSString stringWithFormat:@"%@/download/", kMXMediaPathPrefix];
// Set actual attachment url
_attachmentURL = [_attachmentURL stringByReplacingOccurrencesOfString:MX_PREFIX_CONTENT_URI withString:mxMediaPrefix];
}
// Handle thumbnail url/info
_thumbnailURL = event.content[@"thumbnail_url"];
_thumbnailInfo = event.content[@"thumbnail_info"];
if (!_thumbnailURL) {
if (mxContentURI) {
if ([_attachmentURL hasPrefix:MX_PREFIX_CONTENT_URI]) {
// Build the url to get the well adapted thumbnail from server
_thumbnailURL = mxContentURI;
NSString *mxThumbnailPrefix = [NSString stringWithFormat:@"%@/thumbnail/", kMXMediaPathPrefix];
_thumbnailURL = _attachmentURL;
NSString *mxThumbnailPrefix = [NSString stringWithFormat:@"%@%@/thumbnail/", [mxHandler homeServerURL], kMXMediaPathPrefix];
_thumbnailURL = [_thumbnailURL stringByReplacingOccurrencesOfString:MX_PREFIX_CONTENT_URI withString:mxThumbnailPrefix];
// Add parameters
_thumbnailURL = [NSString stringWithFormat:@"%@?width=%d&height=%d&method=scale", _thumbnailURL, (NSUInteger)self.contentSize.width, (NSUInteger)self.contentSize.height];
@ -89,12 +78,6 @@ static NSAttributedString *messageSeparator = nil;
// Retrieve content url/info
_attachmentURL = event.content[@"url"];
_attachmentInfo = event.content[@"info"];
if ([_attachmentURL hasPrefix:MX_PREFIX_CONTENT_URI]) {
mxContentURI = _attachmentURL;
NSString *mxMediaPrefix = [NSString stringWithFormat:@"%@/download/", kMXMediaPathPrefix];
// Set actual attachment url
_attachmentURL = [_attachmentURL stringByReplacingOccurrencesOfString:MX_PREFIX_CONTENT_URI withString:mxMediaPrefix];
}
if (_attachmentInfo) {
// Get video thumbnail info
_thumbnailURL = _attachmentInfo[@"thumbnail_url"];