|
|
@ -400,6 +400,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
utiType = (NSString *)kUTTypeVideo;
|
|
|
|
utiType = (NSString *)kUTTypeVideo;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
NSData *data = [NSData dataWithContentsOfURL:self.fileURL];
|
|
|
|
NSData *data = [NSData dataWithContentsOfURL:self.fileURL];
|
|
|
|
|
|
|
|
if (!data) {
|
|
|
|
|
|
|
|
OWSAssert(data);
|
|
|
|
|
|
|
|
DDLogError(@"%@ Could not load data: %@", [self tag], [self.attachment mediaURL]);
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
[UIPasteboard.generalPasteboard setData:data forPasteboardType:utiType];
|
|
|
|
[UIPasteboard.generalPasteboard setData:data forPasteboardType:utiType];
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
} else if (action == NSSelectorFromString(@"save:")) {
|
|
|
|
} else if (action == NSSelectorFromString(@"save:")) {
|
|
|
@ -418,7 +423,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
NSData *data = [NSData dataWithContentsOfURL:self.fileURL];
|
|
|
|
NSData *data = [NSData dataWithContentsOfURL:self.fileURL];
|
|
|
|
|
|
|
|
if (!data) {
|
|
|
|
OWSAssert(data);
|
|
|
|
OWSAssert(data);
|
|
|
|
|
|
|
|
DDLogError(@"%@ Could not load data: %@", [self tag], [self.attachment mediaURL]);
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
[UIPasteboard.generalPasteboard setData:data forPasteboardType:utiType];
|
|
|
|
[UIPasteboard.generalPasteboard setData:data forPasteboardType:utiType];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -446,6 +455,18 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma mark - Logging
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ (NSString *)tag
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return [NSString stringWithFormat:@"[%@]", self.class];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- (NSString *)tag
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return self.class.tag;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@end
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|
|