Files
mattermost-mobile/patches/react-native-create-thumbnail+1.6.4.patch
Elias Nahum 7aa5bd0611 Update Dependencies and bug fixes (#7000)
* update dependencies

* update dependencies

* feedback review

* update @mattermost/react-native-turbo-mailer
2023-01-24 09:14:23 +02:00

114 lines
5.9 KiB
Diff

diff --git a/node_modules/react-native-create-thumbnail/android/src/main/java/com/createthumbnail/CreateThumbnailModule.java b/node_modules/react-native-create-thumbnail/android/src/main/java/com/createthumbnail/CreateThumbnailModule.java
index 9bd67d8..bf4175a 100644
--- a/node_modules/react-native-create-thumbnail/android/src/main/java/com/createthumbnail/CreateThumbnailModule.java
+++ b/node_modules/react-native-create-thumbnail/android/src/main/java/com/createthumbnail/CreateThumbnailModule.java
@@ -169,31 +169,35 @@ public class CreateThumbnailModule extends ReactContextBaseJavaModule {
}
private static Bitmap getBitmapAtTime(Context context, String filePath, int time, Map headers) {
- MediaMetadataRetriever retriever = new MediaMetadataRetriever();
- if (URLUtil.isFileUrl(filePath)) {
- String decodedPath;
- try {
- decodedPath = URLDecoder.decode(filePath, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- decodedPath = filePath;
- }
+ try {
+ MediaMetadataRetriever retriever = new MediaMetadataRetriever();
+ if (URLUtil.isFileUrl(filePath)) {
+ String decodedPath;
+ try {
+ decodedPath = URLDecoder.decode(filePath, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ decodedPath = filePath;
+ }
- retriever.setDataSource(decodedPath.replace("file://", ""));
- } else if (filePath.contains("content://")) {
- retriever.setDataSource(context, Uri.parse(filePath));
- } else {
- if (VERSION.SDK_INT < 14) {
- throw new IllegalStateException("Remote videos aren't supported on sdk_version < 14");
+ retriever.setDataSource(decodedPath.replace("file://", ""));
+ } else if (filePath.contains("content://")) {
+ retriever.setDataSource(context, Uri.parse(filePath));
+ } else {
+ if (VERSION.SDK_INT < 14) {
+ throw new IllegalStateException("Remote videos aren't supported on sdk_version < 14");
+ }
+ retriever.setDataSource(filePath, headers);
}
- retriever.setDataSource(filePath, headers);
- }
- Bitmap image = retriever.getFrameAtTime(time * 1000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
- retriever.release();
- if (image == null) {
+ Bitmap image = retriever.getFrameAtTime(time * 1000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
+ retriever.release();
+ if (image == null) {
+ throw new IllegalStateException("File doesn't exist or not supported");
+ }
+ return image;
+ } catch (Exception e) {
throw new IllegalStateException("File doesn't exist or not supported");
}
- return image;
}
private static long getDirSize(File dir) {
diff --git a/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.h b/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.h
index 28b1d9b..cb63c52 100644
--- a/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.h
+++ b/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.h
@@ -3,5 +3,5 @@
#import <UIKit/UIKit.h>
@interface CreateThumbnail : NSObject <RCTBridgeModule>
-
++(void)create:(NSDictionary *)config findEventsWithResolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject;
@end
diff --git a/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.m b/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.m
index 92cc49f..a2bab15 100644
--- a/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.m
+++ b/node_modules/react-native-create-thumbnail/ios/CreateThumbnail.m
@@ -6,6 +6,10 @@ RCT_EXPORT_MODULE()
RCT_EXPORT_METHOD(create:(NSDictionary *)config findEventsWithResolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
{
+ [CreateThumbnail create:config findEventsWithResolver:resolve rejecter:reject];
+}
+
++(void) create:(NSDictionary *)config findEventsWithResolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject {
NSString *url = (NSString *)[config objectForKey:@"url"] ?: @"";
int timeStamp = [[config objectForKey:@"timeStamp"] intValue] ?: 0;
NSString *format = (NSString *)[config objectForKey:@"format"] ?: @"jpeg";
@@ -82,7 +86,7 @@ RCT_EXPORT_METHOD(create:(NSDictionary *)config findEventsWithResolver:(RCTPromi
}
}
-- (unsigned long long) sizeOfFolderAtPath:(NSString *)path {
++ (unsigned long long) sizeOfFolderAtPath:(NSString *)path {
NSArray *files = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:path error:nil];
NSEnumerator *enumerator = [files objectEnumerator];
NSString *fileName;
@@ -93,7 +97,7 @@ RCT_EXPORT_METHOD(create:(NSDictionary *)config findEventsWithResolver:(RCTPromi
return size;
}
-- (void) cleanDir:(NSString *)path forSpace:(unsigned long long)size {
++ (void) cleanDir:(NSString *)path forSpace:(unsigned long long)size {
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = nil;
unsigned long long deletedSize = 0;
@@ -110,7 +114,7 @@ RCT_EXPORT_METHOD(create:(NSDictionary *)config findEventsWithResolver:(RCTPromi
return;
}
-- (void) generateThumbImage:(AVURLAsset *)asset atTime:(int)timeStamp completion:(void (^)(UIImage* thumbnail))completion failure:(void (^)(NSError* error))failure {
++ (void) generateThumbImage:(AVURLAsset *)asset atTime:(int)timeStamp completion:(void (^)(UIImage* thumbnail))completion failure:(void (^)(NSError* error))failure {
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.appliesPreferredTrackTransform = YES;
generator.maximumSize = CGSizeMake(512, 512);