TF-2602 Add detect file charset on mobile
This commit is contained in:
@@ -333,6 +333,38 @@ packages:
|
|||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
flutter_charset_detector:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector
|
||||||
|
sha256: "45de8a4b4255c1ea850a30955e7456091899ed4ff8b75593e14ec59f629b4b56"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
|
flutter_charset_detector_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_android
|
||||||
|
sha256: bee057133d5f134fe211523a27200dd22c782b93777f43359a571bd2c77da2cc
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.1"
|
||||||
|
flutter_charset_detector_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_ios
|
||||||
|
sha256: e0e2c7b819cd1f7c9a50da94bf7f0e6d7a095eb64e81196ec758e77793903d43
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.2"
|
||||||
|
flutter_charset_detector_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_platform_interface
|
||||||
|
sha256: "1c09ed7b314a5a9dde76057b98b7d35458ba881eed03d5e5b6f7f74b4869d18c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
flutter_image_compress:
|
flutter_image_compress:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -5,9 +5,12 @@ import 'package:core/domain/exceptions/download_file_exception.dart';
|
|||||||
import 'package:core/utils/app_logger.dart';
|
import 'package:core/utils/app_logger.dart';
|
||||||
import 'package:core/utils/platform_info.dart';
|
import 'package:core/utils/platform_info.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter_charset_detector/flutter_charset_detector.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
|
||||||
class FileUtils {
|
class FileUtils {
|
||||||
|
static const String DEFAULT_CHARSET = 'UTF-8';
|
||||||
|
static const String TEXT_PLAIN_MIME_TYPE = 'text/plain';
|
||||||
|
|
||||||
Future<String> _getInternalStorageDirPath({
|
Future<String> _getInternalStorageDirPath({
|
||||||
required String nameFile,
|
required String nameFile,
|
||||||
@@ -135,4 +138,16 @@ class FileUtils {
|
|||||||
logError('$runtimeType::deleteCompressedFileOnMobile: error: $e');
|
logError('$runtimeType::deleteCompressedFileOnMobile: error: $e');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<String> getFileCharset(String filePath) async {
|
||||||
|
try {
|
||||||
|
final file = File(filePath);
|
||||||
|
final decodingResult = await CharsetDetector.autoDecode(file.readAsBytesSync());
|
||||||
|
logError('FileUtils::getFileCharset: FILE_CHARSET = ${decodingResult.charset}');
|
||||||
|
return decodingResult.charset;
|
||||||
|
} catch (e) {
|
||||||
|
logError('FileUtils::getFileCharset: Exception: $e');
|
||||||
|
return DEFAULT_CHARSET;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -326,6 +326,38 @@ packages:
|
|||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
flutter_charset_detector:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector
|
||||||
|
sha256: "45de8a4b4255c1ea850a30955e7456091899ed4ff8b75593e14ec59f629b4b56"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
|
flutter_charset_detector_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_android
|
||||||
|
sha256: "43d0c0063242d036b873ade737ebae38716af5cd8b2a4df1754adfd186d58e2c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
|
flutter_charset_detector_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_ios
|
||||||
|
sha256: e0e2c7b819cd1f7c9a50da94bf7f0e6d7a095eb64e81196ec758e77793903d43
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.2"
|
||||||
|
flutter_charset_detector_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_platform_interface
|
||||||
|
sha256: fcb61de27285031164c945aca4b42e4d36f9a9e359212f21ab652275c9c723ec
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.0"
|
||||||
flutter_image_compress:
|
flutter_image_compress:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -79,6 +79,8 @@ dependencies:
|
|||||||
|
|
||||||
fk_user_agent: 2.1.0
|
fk_user_agent: 2.1.0
|
||||||
|
|
||||||
|
flutter_charset_detector: 2.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|||||||
@@ -90,6 +90,9 @@ PODS:
|
|||||||
- flutter_appauth (0.0.1):
|
- flutter_appauth (0.0.1):
|
||||||
- AppAuth (= 1.7.4)
|
- AppAuth (= 1.7.4)
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- flutter_charset_detector_ios (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- UniversalDetector2 (= 2.0.1)
|
||||||
- flutter_downloader (0.0.1):
|
- flutter_downloader (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- flutter_image_compress_common (1.0.0):
|
- flutter_image_compress_common (1.0.0):
|
||||||
@@ -183,6 +186,7 @@ PODS:
|
|||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
- SwiftyGif (5.4.4)
|
- SwiftyGif (5.4.4)
|
||||||
|
- UniversalDetector2 (2.0.1)
|
||||||
- url_launcher_ios (0.0.1):
|
- url_launcher_ios (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- workmanager (0.0.1):
|
- workmanager (0.0.1):
|
||||||
@@ -201,6 +205,7 @@ DEPENDENCIES:
|
|||||||
- fk_user_agent (from `.symlinks/plugins/fk_user_agent/ios`)
|
- fk_user_agent (from `.symlinks/plugins/fk_user_agent/ios`)
|
||||||
- Flutter (from `Flutter`)
|
- Flutter (from `Flutter`)
|
||||||
- flutter_appauth (from `.symlinks/plugins/flutter_appauth/ios`)
|
- flutter_appauth (from `.symlinks/plugins/flutter_appauth/ios`)
|
||||||
|
- flutter_charset_detector_ios (from `.symlinks/plugins/flutter_charset_detector_ios/ios`)
|
||||||
- flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`)
|
- flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`)
|
||||||
- flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`)
|
- flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`)
|
||||||
- flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
|
- flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
|
||||||
@@ -241,6 +246,7 @@ SPEC REPOS:
|
|||||||
- SDWebImage
|
- SDWebImage
|
||||||
- SDWebImageWebPCoder
|
- SDWebImageWebPCoder
|
||||||
- SwiftyGif
|
- SwiftyGif
|
||||||
|
- UniversalDetector2
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
app_settings:
|
app_settings:
|
||||||
@@ -267,6 +273,8 @@ EXTERNAL SOURCES:
|
|||||||
:path: Flutter
|
:path: Flutter
|
||||||
flutter_appauth:
|
flutter_appauth:
|
||||||
:path: ".symlinks/plugins/flutter_appauth/ios"
|
:path: ".symlinks/plugins/flutter_appauth/ios"
|
||||||
|
flutter_charset_detector_ios:
|
||||||
|
:path: ".symlinks/plugins/flutter_charset_detector_ios/ios"
|
||||||
flutter_downloader:
|
flutter_downloader:
|
||||||
:path: ".symlinks/plugins/flutter_downloader/ios"
|
:path: ".symlinks/plugins/flutter_downloader/ios"
|
||||||
flutter_image_compress_common:
|
flutter_image_compress_common:
|
||||||
@@ -325,6 +333,7 @@ SPEC CHECKSUMS:
|
|||||||
fk_user_agent: 1f47ec39291e8372b1d692b50084b0d54103c545
|
fk_user_agent: 1f47ec39291e8372b1d692b50084b0d54103c545
|
||||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
||||||
flutter_appauth: 1ce438877bc111c5d8f42da47729909290624886
|
flutter_appauth: 1ce438877bc111c5d8f42da47729909290624886
|
||||||
|
flutter_charset_detector_ios: 5157d0104855b9deb78e1395515a287197bc2d55
|
||||||
flutter_downloader: b7301ae057deadd4b1650dc7c05375f10ff12c39
|
flutter_downloader: b7301ae057deadd4b1650dc7c05375f10ff12c39
|
||||||
flutter_image_compress_common: ec1d45c362c9d30a3f6a0426c297f47c52007e3e
|
flutter_image_compress_common: ec1d45c362c9d30a3f6a0426c297f47c52007e3e
|
||||||
flutter_inappwebview_ios: 97215cf7d4677db55df76782dbd2930c5e1c1ea0
|
flutter_inappwebview_ios: 97215cf7d4677db55df76782dbd2930c5e1c1ea0
|
||||||
@@ -352,6 +361,7 @@ SPEC CHECKSUMS:
|
|||||||
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
|
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
|
||||||
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
|
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
|
||||||
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
||||||
|
UniversalDetector2: 7c9ffd935cf050eeb19edf7e90f6febe3743a1af
|
||||||
url_launcher_ios: 68d46cc9766d0c41dbdc884310529557e3cd7a86
|
url_launcher_ios: 68d46cc9766d0c41dbdc884310529557e3cd7a86
|
||||||
workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
|
workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
|
||||||
|
|
||||||
|
|||||||
@@ -333,6 +333,38 @@ packages:
|
|||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
flutter_charset_detector:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector
|
||||||
|
sha256: "45de8a4b4255c1ea850a30955e7456091899ed4ff8b75593e14ec59f629b4b56"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
|
flutter_charset_detector_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_android
|
||||||
|
sha256: bee057133d5f134fe211523a27200dd22c782b93777f43359a571bd2c77da2cc
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.1"
|
||||||
|
flutter_charset_detector_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_ios
|
||||||
|
sha256: e0e2c7b819cd1f7c9a50da94bf7f0e6d7a095eb64e81196ec758e77793903d43
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.2"
|
||||||
|
flutter_charset_detector_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_platform_interface
|
||||||
|
sha256: "1c09ed7b314a5a9dde76057b98b7d35458ba881eed03d5e5b6f7f74b4869d18c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
flutter_image_compress:
|
flutter_image_compress:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -655,6 +655,38 @@ packages:
|
|||||||
url: "https://github.com/CarlosPacheco/flutter_appauth_web.git"
|
url: "https://github.com/CarlosPacheco/flutter_appauth_web.git"
|
||||||
source: git
|
source: git
|
||||||
version: "0.0.3"
|
version: "0.0.3"
|
||||||
|
flutter_charset_detector:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector
|
||||||
|
sha256: "45de8a4b4255c1ea850a30955e7456091899ed4ff8b75593e14ec59f629b4b56"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
|
flutter_charset_detector_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_android
|
||||||
|
sha256: "43d0c0063242d036b873ade737ebae38716af5cd8b2a4df1754adfd186d58e2c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
|
flutter_charset_detector_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_ios
|
||||||
|
sha256: e0e2c7b819cd1f7c9a50da94bf7f0e6d7a095eb64e81196ec758e77793903d43
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.2"
|
||||||
|
flutter_charset_detector_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_charset_detector_platform_interface
|
||||||
|
sha256: fcb61de27285031164c945aca4b42e4d36f9a9e359212f21ab652275c9c723ec
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.0"
|
||||||
flutter_colorpicker:
|
flutter_colorpicker:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
Reference in New Issue
Block a user