Merge pull request #26 from WhisperSystems/read-voice-messages

Read voice messages
pull/1/head
Michael Kirk 9 years ago committed by GitHub
commit d802918603

@ -61,6 +61,7 @@ NS_ASSUME_NONNULL_BEGIN
[supportedAttachmentPointers addObject:pointer];
[supportedAttachmentIds addObject:pointer.uniqueId];
} else {
DDLogError(@"%@ Received unsupported attachment of type: %@", self.tag, pointer.contentType);
TSInfoMessage *infoMessage = [[TSInfoMessage alloc] initWithTimestamp:timestamp
inThread:thread
messageType:TSInfoMessageTypeUnsupportedMessage];
@ -87,6 +88,16 @@ NS_ASSUME_NONNULL_BEGIN
return self.supportedAttachmentPointers.count > 0;
}
+ (NSString *)tag
{
return [NSString stringWithFormat:@"[%@]", self.class];
}
- (NSString *)tag
{
return self.class.tag;
}
@end
NS_ASSUME_NONNULL_END

@ -6,6 +6,8 @@
#import <UIKit/UIKit.h>
#endif
NS_ASSUME_NONNULL_BEGIN
@interface TSAttachmentStream : TSAttachment
@property (nonatomic) BOOL isDownloaded;
@ -16,17 +18,19 @@
contentType:(NSString *)contentType NS_DESIGNATED_INITIALIZER;
#if TARGET_OS_IPHONE
- (UIImage *)image;
- (nullable UIImage *)image;
#endif
- (BOOL)isAnimated;
- (BOOL)isImage;
- (BOOL)isVideo;
- (NSString *)filePath;
- (NSURL *)mediaURL;
- (nullable NSString *)filePath;
- (nullable NSURL *)mediaURL;
+ (void)deleteAttachments;
+ (NSString *)attachmentsFolder;
+ (NSUInteger)numberOfItemsInAttachmentsFolder;
@end
NS_ASSUME_NONNULL_END

@ -6,6 +6,8 @@
#import <AVFoundation/AVFoundation.h>
#import <YapDatabase/YapDatabaseTransaction.h>
NS_ASSUME_NONNULL_BEGIN
@implementation TSAttachmentStream
- (instancetype)initWithIdentifier:(NSString *)identifier
@ -73,15 +75,17 @@
return count;
}
- (NSString *)filePath
- (nullable NSString *)filePath
{
return [MIMETypeUtil filePathForAttachment:self.uniqueId
ofMIMEType:self.contentType
inFolder:[[self class] attachmentsFolder]];
}
- (NSURL *)mediaURL {
return [NSURL fileURLWithPath:[self filePath]];
- (nullable NSURL *)mediaURL
{
NSString *filePath = self.filePath;
return filePath ? [NSURL fileURLWithPath:filePath] : nil;
}
- (BOOL)isAnimated {
@ -100,7 +104,8 @@
return [MIMETypeUtil isAudio:self.contentType];
}
- (UIImage *)image {
- (nullable UIImage *)image
{
if ([self isVideo] || [self isAudio]) {
return [self videoThumbnail];
} else {
@ -109,7 +114,8 @@
}
}
- (UIImage *)videoThumbnail {
- (nullable UIImage *)videoThumbnail
{
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:self.filePath] options:nil];
AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generate.appliesPreferredTrackTransform = YES;
@ -129,3 +135,5 @@
}
@end
NS_ASSUME_NONNULL_END

@ -20,6 +20,7 @@ NSString *const OWSMimeTypeImagePng = @"image/png";
+ (NSDictionary *)supportedAudioMIMETypesToExtensionTypes {
return @{
@"audio/aac" : @"m4a",
@"audio/x-m4p" : @"m4p",
@"audio/x-m4b" : @"m4b",
@"audio/x-m4a" : @"m4a",

Loading…
Cancel
Save