mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-29 15:52:40 +00:00
Fix SYIOS-14 Switch to using new media repo...
This commit is contained in:
parent
1703573334
commit
84a3796ee8
3 changed files with 18 additions and 21 deletions
|
@ -16,6 +16,8 @@
|
|||
|
||||
#import <MatrixSDK/MatrixSDK.h>
|
||||
|
||||
#define MX_PREFIX_CONTENT_URI @"mxc://"
|
||||
|
||||
extern NSString *const kMatrixHandlerUnsupportedMessagePrefix;
|
||||
|
||||
@interface MatrixHandler : NSObject
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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"];
|
||||
|
|
Loading…
Reference in a new issue