forked from Ivasoft/mattermost-mobile
* update dependencies * update dependencies * feedback review * update @mattermost/react-native-turbo-mailer
114 lines
5.9 KiB
Diff
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);
|