Commit b62cf801 authored by Le Mai Viet Anh's avatar Le Mai Viet Anh

fix for return classes exposed

parent aa1847f8
This source diff could not be displayed because it is too large. You can view the blob instead.
/Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/assets/abc.txt /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/assets/NudeNet.onnx /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/assets/nude.jpg /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.bin /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z: /Users/aidenle/FlutterProjects/demo_nudedetector/pubspec.yaml /Users/aidenle/FlutterProjects/demo_nudedetector/assets/abc.txt /Users/aidenle/FlutterProjects/demo_nudedetector/assets/NudeNet.onnx /Users/aidenle/FlutterProjects/demo_nudedetector/assets/nude.jpg /Users/aidenle/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/assets/CupertinoIcons.ttf /Users/aidenle/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.otf /Users/aidenle/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag /Users/aidenle/.pub-cache/hosted/pub.dev/async-2.11.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/characters-1.3.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/clock-1.1.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/collection-1.18.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/fake_async-1.3.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/ffi-2.1.2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/leak_tracker-10.0.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/matcher-0.12.16+1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/meta-1.15.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path-1.9.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider-2.1.3/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_android-2.2.6/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler-11.3.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_android-12.0.7/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_apple-9.4.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_html-0.1.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-4.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_windows-0.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/platform-3.1.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/source_span-1.10.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/stream_channel-2.1.2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/test_api-0.7.2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/vector_math-2.1.4/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/vm_service-14.2.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/win32-5.5.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/xdg_directories-1.0.4/LICENSE /Users/aidenle/flutter/bin/cache/pkg/sky_engine/LICENSE /Users/aidenle/flutter/packages/flutter/LICENSE /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/assets/abc.txt /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/assets/NudeNet.onnx /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/assets/nude.jpg /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.bin /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z: /Users/aidenle/FlutterProjects/demo_nudedetector/pubspec.yaml /Users/aidenle/FlutterProjects/demo_nudedetector/assets/abc.txt /Users/aidenle/FlutterProjects/demo_nudedetector/assets/NudeNet.onnx /Users/aidenle/FlutterProjects/demo_nudedetector/assets/nude.jpg /Users/aidenle/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/assets/CupertinoIcons.ttf /Users/aidenle/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.otf /Users/aidenle/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag /Users/aidenle/.pub-cache/hosted/pub.dev/async-2.11.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/characters-1.3.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/clock-1.1.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/collection-1.18.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/fake_async-1.3.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/ffi-2.1.3/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/leak_tracker-10.0.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/matcher-0.12.16+1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/meta-1.15.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path-1.9.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider-2.1.4/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler-11.3.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_android-12.0.12/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_apple-9.4.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_html-0.1.3+2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-4.2.3/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_windows-0.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/platform-3.1.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/source_span-1.10.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/stream_channel-2.1.2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/test_api-0.7.2/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/vector_math-2.1.4/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/vm_service-14.2.5/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/web-1.1.0/LICENSE /Users/aidenle/.pub-cache/hosted/pub.dev/xdg_directories-1.0.4/LICENSE /Users/aidenle/flutter/bin/cache/pkg/sky_engine/LICENSE /Users/aidenle/flutter/packages/flutter/LICENSE
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// This file is generated from template in file `flutter_tools/lib/src/flutter_plugins.dart`. // This file is generated from template in file `flutter_tools/lib/src/flutter_plugins.dart`.
// //
// @dart = 3.3 // @dart = 3.5
import 'dart:io'; // flutter_ignore: dart_io_import. import 'dart:io'; // flutter_ignore: dart_io_import.
import 'package:path_provider_android/path_provider_android.dart'; import 'package:path_provider_android/path_provider_android.dart';
......
This diff is collapsed.
This diff is collapsed.
3.19.6 3.24.3
\ No newline at end of file \ No newline at end of file
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
path_provider=/home/thangdm/.pub-cache/hosted/pub.dev/path_provider-2.1.3/ path_provider=/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider-2.1.4/
path_provider_android=/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_android-2.2.4/ path_provider_android=/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/
path_provider_foundation=/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/ path_provider_foundation=/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/
path_provider_linux=/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ path_provider_linux=/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
path_provider_windows=/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/ path_provider_windows=/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
permission_handler=/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler-11.3.1/ permission_handler=/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler-11.3.1/
permission_handler_android=/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_android-12.0.7/ permission_handler_android=/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_android-12.0.12/
permission_handler_apple=/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_apple-9.4.5/ permission_handler_apple=/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_apple-9.4.5/
permission_handler_html=/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_html-0.1.1/ permission_handler_html=/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_html-0.1.3+2/
permission_handler_windows=/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_windows-0.2.1/ permission_handler_windows=/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_windows-0.2.1/
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_apple-9.4.5/","native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_android-2.2.4/","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_android-12.0.7/","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/thangdm/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_windows-0.2.1/","native_build":true,"dependencies":[]}],"web":[{"name":"permission_handler_html","path":"/home/thangdm/.pub-cache/hosted/pub.dev/permission_handler_html-0.1.1/","dependencies":[]}]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]}],"date_created":"2024-10-02 10:47:22.581332","version":"3.19.6"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_apple-9.4.5/","native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_android-12.0.12/","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_windows-0.2.1/","native_build":true,"dependencies":[]}],"web":[{"name":"permission_handler_html","path":"/Users/aidenle/.pub-cache/hosted/pub.dev/permission_handler_html-0.1.3+2/","dependencies":[]}]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]}],"date_created":"2024-10-02 15:12:28.828252","version":"3.24.3","swift_package_manager_enabled":false}
\ No newline at end of file \ No newline at end of file
...@@ -31,3 +31,19 @@ ...@@ -31,3 +31,19 @@
4 3959 1727832469 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/native_c.cpp.o 52cb00bf295b27f1 4 3959 1727832469 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/native_c.cpp.o 52cb00bf295b27f1
5 3960 1727832469 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/enginebase.cpp.o 9d6a99f4997b66b8 5 3960 1727832469 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/enginebase.cpp.o 9d6a99f4997b66b8
3960 5414 1727832471 /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/cxx/Debug/6c1t2c22/obj/arm64-v8a/libmyapplicationnativec.so 185e8fee5e0c5d1 3960 5414 1727832471 /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/cxx/Debug/6c1t2c22/obj/arm64-v8a/libmyapplicationnativec.so 185e8fee5e0c5d1
2 4326 1727841340 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/native_c.cpp.o 52cb00bf295b27f1
3 4326 1727841340 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/enginebase.cpp.o 9d6a99f4997b66b8
3 4415 1727841340 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/nudedetector.cpp.o 9996be27b2050d96
4415 5869 1727841341 /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/cxx/Debug/6c1t2c22/obj/arm64-v8a/libmyapplicationnativec.so 185e8fee5e0c5d1
2 2208 1727841519 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/utils.cpp.o e8547e84b627c4f6
5 2534 1727841519 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/enginebase.cpp.o a490a2ee83365e6e
3 2635 1727841520 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/nudedetector.cpp.o 4e9c7160aa42df07
2 1957 1727842859 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/utils.cpp.o ce60c4168bcb355
1 2244 1727842859 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/native_c.cpp.o 52cb00bf295b27f1
3 2248 1727842859 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/enginebase.cpp.o 9d6a99f4997b66b8
3 2357 1727842860 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/c/src/detector/nudedetector.cpp.o 9996be27b2050d96
2357 2562 1727842860 /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/cxx/Debug/6c1t2c22/obj/arm64-v8a/libmyapplicationnativec.so 185e8fee5e0c5d1
19 2433 1727853142 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/native_c.cpp.o 52cb00bf295b27f1
2433 2735 1727853142 /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/cxx/Debug/6c1t2c22/obj/arm64-v8a/libmyapplicationnativec.so 185e8fee5e0c5d1
2 1871 1727856084 CMakeFiles/myapplicationnativec.dir/Users/aidenle/FlutterProjects/demo_nudedetector/native_c.cpp.o 52cb00bf295b27f1
1872 3326 1727856085 /Users/aidenle/FlutterProjects/demo_nudedetector/build/app/intermediates/cxx/Debug/6c1t2c22/obj/arm64-v8a/libmyapplicationnativec.so 185e8fee5e0c5d1
assets/nude.jpg

38.3 KB | W: | H:

assets/nude.jpg

25.4 KB | W: | H:

assets/nude.jpg
assets/nude.jpg
assets/nude.jpg
assets/nude.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -7,7 +7,7 @@ import 'package:path_provider/path_provider.dart'; ...@@ -7,7 +7,7 @@ import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'check_storage.dart'; import 'check_storage.dart';
import 'native_add.dart'; import 'native_ffi.dart';
import 'package:path/path.dart'; import 'package:path/path.dart';
...@@ -172,6 +172,17 @@ class _ImageFromDocumentsState extends State<ImageFromDocuments> { ...@@ -172,6 +172,17 @@ class _ImageFromDocumentsState extends State<ImageFromDocuments> {
} }
} }
@override
void didChangeDependencies() async {
super.didChangeDependencies();
var result = await loadModelFile();
String modelPath = result.$1;
setState(() {
this.imagePath = result.$2;
});
initEngine(modelPath.toNativeUtf8(), imagePath.toNativeUtf8());
}
void loadDocumentImageAndroid() async { void loadDocumentImageAndroid() async {
var documentPath = await documentPathNative; var documentPath = await documentPathNative;
print("documentPath: ${documentPath} "); print("documentPath: ${documentPath} ");
...@@ -206,30 +217,12 @@ class _ImageFromDocumentsState extends State<ImageFromDocuments> { ...@@ -206,30 +217,12 @@ class _ImageFromDocumentsState extends State<ImageFromDocuments> {
}, child: Text("ios")), }, child: Text("ios")),
ElevatedButton(onPressed: () async { ElevatedButton(onPressed: () async {
String assetPath = ""; StringArray data = await getInsentiveClassInfo(imagePath.toNativeUtf8());
print("Data ${data}");
var status = await Permission.manageExternalStorage.status; for (var i = 0; i < data.size; i++) {
//chưa cấp quyền print("Class ${data.data[i].toDartString()}");
if (!status.isGranted) {
await Permission.manageExternalStorage.request();
status = await Permission.manageExternalStorage.status;
// Kiểm tra xem quyền đã được cấp hay chưa
if (!status.isGranted) {
print("khong co quyen");
}else{
var result = await loadModelFile();
String modelPath = result.$1;
String imagePath = result.$2;
initEngine(modelPath.toNativeUtf8(), imagePath.toNativeUtf8(), "NudeNet".toNativeUtf8());
} }
print("Done");
}else{
var result = await loadModelFile();
String modelPath = result.$1;
String imagePath = result.$2;
initEngine(modelPath.toNativeUtf8(), imagePath.toNativeUtf8(), "NudeNet".toNativeUtf8());
}
}, child: Text("android")) }, child: Text("android"))
], ],
), ),
......
...@@ -17,12 +17,21 @@ _lib.lookup<NativeFunction<Float Function(Float, Float)>>("native_add_floats").a ...@@ -17,12 +17,21 @@ _lib.lookup<NativeFunction<Float Function(Float, Float)>>("native_add_floats").a
final bool Function(int x, int y) nativeCompare = final bool Function(int x, int y) nativeCompare =
_lib.lookup<NativeFunction<Bool Function(Int32, Int32)>>("native_compare_int").asFunction(); _lib.lookup<NativeFunction<Bool Function(Int32, Int32)>>("native_compare_int").asFunction();
final class StringArray extends Struct {
external Pointer<Pointer<Utf8>> data; // Pointer to an array of C strings
@Int32()
external int size;
}
// Map the native_get_wstring function // Map the native_get_wstring function
final ffi.Pointer<ffi.WChar> Function(ffi.Pointer<ffi.WChar>) nativeGetWString = final ffi.Pointer<ffi.WChar> Function(ffi.Pointer<ffi.WChar>) nativeGetWString =
_lib.lookup<NativeFunction<Pointer<WChar> Function(Pointer<WChar>)>>("native_get_wstring").asFunction(); _lib.lookup<NativeFunction<Pointer<WChar> Function(Pointer<WChar>)>>("native_get_wstring").asFunction();
final void Function(ffi.Pointer<Utf8>, ffi.Pointer<Utf8>, ffi.Pointer<Utf8>) initEngine = final void Function(ffi.Pointer<Utf8>, ffi.Pointer<Utf8>) initEngine =
_lib.lookup<NativeFunction<Void Function(Pointer<Utf8>,Pointer<Utf8>,Pointer<Utf8>)>>("init_engine").asFunction(); _lib.lookup<NativeFunction<Void Function(Pointer<Utf8>,Pointer<Utf8>)>>("init_engine").asFunction();
final StringArray Function(ffi.Pointer<Utf8>) getInsentiveClassInfo =
_lib.lookup<NativeFunction<StringArray Function(ffi.Pointer<Utf8>)>>("get_insentive_class_info").asFunction();
final void Function() initEngine2 = final void Function() initEngine2 =
_lib.lookup<NativeFunction<Void Function()>>("init_engine2").asFunction(); _lib.lookup<NativeFunction<Void Function()>>("init_engine2").asFunction();
\ No newline at end of file
...@@ -6,6 +6,11 @@ ...@@ -6,6 +6,11 @@
//#include <opencv2/opencv.hpp> //#include <opencv2/opencv.hpp>
#define LOGR(x) __android_log_print(ANDROID_LOG_DEBUG, "flutter", x); #define LOGR(x) __android_log_print(ANDROID_LOG_DEBUG, "flutter", x);
struct StringArray {
const char** data;
int size;
};
extern "C" __attribute__((visibility("default"))) __attribute__((used)) extern "C" __attribute__((visibility("default"))) __attribute__((used))
int32_t native_add(int32_t x, int32_t y) { int32_t native_add(int32_t x, int32_t y) {
// LOGR("test from c native_add") // LOGR("test from c native_add")
...@@ -36,9 +41,10 @@ void test() { ...@@ -36,9 +41,10 @@ void test() {
printf("hello mon"); printf("hello mon");
} }
NudeDetector *nudeEngine = new NudeDetector;
extern "C" __attribute__((visibility("default"))) __attribute__((used)) extern "C" __attribute__((visibility("default"))) __attribute__((used))
void init_engine(const char* modelPath, const char* imgPath, const char* documentsPath) { void init_engine(const char* modelPath, const char* documentsPath) {
NudeDetector *nudeEngine = new NudeDetector;
// nudeEngine->modelPath = "/storage/emulated/0/Models/Yolov8/NudeNet/NudeNet.onnx"; // nudeEngine->modelPath = "/storage/emulated/0/Models/Yolov8/NudeNet/NudeNet.onnx";
nudeEngine->modelPath = modelPath; nudeEngine->modelPath = modelPath;
...@@ -52,15 +58,12 @@ void init_engine(const char* modelPath, const char* imgPath, const char* documen ...@@ -52,15 +58,12 @@ void init_engine(const char* modelPath, const char* imgPath, const char* documen
nudeEngine->InitEngine(); nudeEngine->InitEngine();
// LOGR("init engine done"); // LOGR("init engine done");
cv::Mat nudeImage = cv::imread(imgPath);
LOG_C("documentsPath: " <<documentsPath); LOG_C("documentsPath: " <<documentsPath);
// cv::imwrite(documentsPath, drawing); // cv::imwrite(documentsPath, drawing);
auto firstBlood = CURRENT_MILIS; auto firstBlood = CURRENT_MILIS;
nudeEngine->InferenceEngine(nudeImage);
// LOGR("first blood: " + std::to_string(CURRENT_MILIS - firstBlood)); // LOGR("first blood: " + std::to_string(CURRENT_MILIS - firstBlood));
auto start = CURRENT_MILIS; auto start = CURRENT_MILIS;
uint total=0; uint total=0;
...@@ -76,7 +79,6 @@ void init_engine(const char* modelPath, const char* imgPath, const char* documen ...@@ -76,7 +79,6 @@ void init_engine(const char* modelPath, const char* imgPath, const char* documen
extern "C" __attribute__((visibility("default"))) __attribute__((used)) extern "C" __attribute__((visibility("default"))) __attribute__((used))
void init_engine2() { void init_engine2() {
// LOGR("init engine 2"); // LOGR("init engine 2");
NudeDetector *nudeEngine = new NudeDetector;
nudeEngine->modelPath = "./assets/NudeNet.onnx"; nudeEngine->modelPath = "./assets/NudeNet.onnx";
nudeEngine->numThread = 1; nudeEngine->numThread = 1;
nudeEngine->modelShape = cv::Size(320,320); nudeEngine->modelShape = cv::Size(320,320);
...@@ -88,7 +90,6 @@ void init_engine2() { ...@@ -88,7 +90,6 @@ void init_engine2() {
cv::Mat nudeImage = cv::imread("./assets/nude.jpg"); cv::Mat nudeImage = cv::imread("./assets/nude.jpg");
auto firstBlood = CURRENT_MILIS; auto firstBlood = CURRENT_MILIS;
std::vector<NudeDetector::NudeInfo> nude_info = nudeEngine->InferenceEngine(nudeImage); std::vector<NudeDetector::NudeInfo> nude_info = nudeEngine->InferenceEngine(nudeImage);
// LOGR("first blood: " + std::to_string(CURRENT_MILIS - firstBlood));
auto start = CURRENT_MILIS; auto start = CURRENT_MILIS;
uint total=0; uint total=0;
// for(uint i=0; i < 100 ; i++){ // for(uint i=0; i < 100 ; i++){
...@@ -99,3 +100,30 @@ void init_engine2() { ...@@ -99,3 +100,30 @@ void init_engine2() {
// LOGR("average process time: " + std::to_string(total/100) + "ms"); // LOGR("average process time: " + std::to_string(total/100) + "ms");
// LOGR("finished") // LOGR("finished")
} }
// must call after init_engine
extern "C" __attribute__((visibility("default"))) __attribute__((used))
StringArray get_insentive_class_info(const char* imgPath) {
cv::Mat nudeImage = cv::imread(imgPath);
std::vector<NudeDetector::NudeInfo> nudeInfos = nudeEngine->InferenceEngine(nudeImage);
char* results[] = {};
// for (auto i: nudeInfos)
// results.push_back(i.className);
const char** c_strings = (const char**)malloc(nudeInfos.size() * sizeof(char*));
for (int i = 0; i < nudeInfos.size(); ++i) {
c_strings[i] = strdup(nudeInfos[i].className.c_str()); // Duplicate strings into C-style char arrays
}
return {c_strings, static_cast<int>(nudeInfos.size())};
}
void free_string_array(StringArray arr) {
for (int i = 0; i < arr.size; ++i) {
free((void*)arr.data[i]); // free individual strings
}
free(arr.data); // free the array itself
}
\ No newline at end of file
...@@ -61,10 +61,10 @@ packages: ...@@ -61,10 +61,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: ffi name: ffi
sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.2" version: "2.1.3"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
...@@ -84,26 +84,26 @@ packages: ...@@ -84,26 +84,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.0" version: "10.0.5"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "3.0.5"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_testing name: leak_tracker_testing
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "3.0.1"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
...@@ -116,18 +116,18 @@ packages: ...@@ -116,18 +116,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.0" version: "0.11.1"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.0" version: "1.15.0"
path: path:
dependency: transitive dependency: transitive
description: description:
...@@ -140,18 +140,18 @@ packages: ...@@ -140,18 +140,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: path_provider name: path_provider
sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.3" version: "2.1.4"
path_provider_android: path_provider_android:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.4" version: "2.2.10"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
...@@ -180,10 +180,10 @@ packages: ...@@ -180,10 +180,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path_provider_windows name: path_provider_windows
sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.1" version: "2.3.0"
permission_handler: permission_handler:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -196,10 +196,10 @@ packages: ...@@ -196,10 +196,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_android name: permission_handler_android
sha256: b29a799ca03be9f999aa6c39f7de5209482d638e6f857f6b93b0875c618b7e54 sha256: "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "12.0.7" version: "12.0.12"
permission_handler_apple: permission_handler_apple:
dependency: transitive dependency: transitive
description: description:
...@@ -212,18 +212,18 @@ packages: ...@@ -212,18 +212,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_html name: permission_handler_html
sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.1" version: "0.1.3+2"
permission_handler_platform_interface: permission_handler_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_platform_interface name: permission_handler_platform_interface
sha256: "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20" sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.1" version: "4.2.3"
permission_handler_windows: permission_handler_windows:
dependency: transitive dependency: transitive
description: description:
...@@ -297,10 +297,10 @@ packages: ...@@ -297,10 +297,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.1" version: "0.7.2"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
...@@ -313,18 +313,18 @@ packages: ...@@ -313,18 +313,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "13.0.0" version: "14.2.5"
win32: web:
dependency: transitive dependency: transitive
description: description:
name: win32 name: web
sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.5.0" version: "1.1.0"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
...@@ -334,5 +334,5 @@ packages: ...@@ -334,5 +334,5 @@ packages:
source: hosted source: hosted
version: "1.0.4" version: "1.0.4"
sdks: sdks:
dart: ">=3.3.4 <4.0.0" dart: "3.5.3"
flutter: ">=3.16.6" flutter: ">=3.22.0"
...@@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev ...@@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=3.3.4 <4.0.0' sdk: '3.5.3'
# Dependencies specify other packages that your package needs in order to work. # Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions # To automatically upgrade your package dependencies to the latest versions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment