first commit

This commit is contained in:
kishan06
2024-04-10 12:51:20 +05:30
commit 32ad61605c
818 changed files with 93618 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,31 @@
Extension Discovery Cache
=========================
This folder is used by `package:extension_discovery` to cache lists of
packages that contains extensions for other packages.
DO NOT USE THIS FOLDER
----------------------
* Do not read (or rely) the contents of this folder.
* Do write to this folder.
If you're interested in the lists of extensions stored in this folder use the
API offered by package `extension_discovery` to get this information.
If this package doesn't work for your use-case, then don't try to read the
contents of this folder. It may change, and will not remain stable.
Use package `extension_discovery`
---------------------------------
If you want to access information from this folder.
Feel free to delete this folder
-------------------------------
Files in this folder act as a cache, and the cache is discarded if the files
are older than the modification time of `.dart_tool/package_config.json`.
Hence, it should never be necessary to clear this cache manually, if you find a
need to do please file a bug.

View File

@@ -0,0 +1 @@
{"version":2,"entries":[{"package":"icdevicemanager_flutter","rootUri":"../","packageUri":"lib/"}]}

View File

@@ -0,0 +1,422 @@
{
"configVersion": 2,
"packages": [
{
"name": "_fe_analyzer_shared",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "analyzer",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/analyzer-2.8.0",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "args",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/args-2.4.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "async",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/async-2.10.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "boolean_selector",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "build",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build-2.0.3",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "build_config",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_config-0.4.7",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "build_daemon",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_daemon-2.1.10",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "build_resolvers",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_resolvers-2.0.6",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "build_runner",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner-1.12.2",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "build_runner_core",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner_core-6.1.12",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "built_collection",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_collection-5.1.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "built_value",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_value-8.4.3",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "change_app_package_name",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/change_app_package_name-1.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "characters",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/characters-1.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "checked_yaml",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/checked_yaml-2.0.2",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "cli_util",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/cli_util-0.3.5",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "clock",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/clock-1.1.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "code_builder",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/code_builder-3.7.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "collection",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/collection-1.17.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "convert",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/convert-3.1.1",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "crypto",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/crypto-3.0.2",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "dart_style",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/dart_style-2.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "fake_async",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fake_async-1.3.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "file",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/file-6.1.4",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "fixnum",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fixnum-1.1.0",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "flutter",
"rootUri": "file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "flutter_lints",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "flutter_test",
"rootUri": "file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter_test",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "glob",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/glob-2.1.1",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{
"name": "graphs",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/graphs-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "http_multi_server",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "http_parser",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_parser-4.0.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "io",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/io-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "js",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/js-0.6.5",
"packageUri": "lib/",
"languageVersion": "2.16"
},
{
"name": "json_annotation",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_annotation-4.6.0",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "json_serializable",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_serializable-6.3.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "lints",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/lints-2.0.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "logging",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/logging-1.1.1",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "matcher",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/matcher-0.12.13",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "material_color_utilities",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0",
"packageUri": "lib/",
"languageVersion": "2.13"
},
{
"name": "meta",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/meta-1.8.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "mime",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/mime-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "package_config",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/package_config-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "path",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/path-1.8.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "pedantic",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pedantic-1.11.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "plugin_platform_interface",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "pool",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pool-1.5.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "pub_semver",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pub_semver-2.1.3",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "pubspec_parse",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "shelf",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf-1.4.0",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "shelf_web_socket",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.3",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "sky_engine",
"rootUri": "file:///Users/macbookpro/flutteroldversion/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "source_gen",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_gen-1.0.5",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "source_helper",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_helper-1.3.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "source_span",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_span-1.9.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "stack_trace",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stack_trace-1.11.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "stream_channel",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_channel-2.1.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "stream_transform",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_transform-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "string_scanner",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/string_scanner-1.2.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "term_glyph",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/term_glyph-1.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "test_api",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/test_api-0.4.16",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "timing",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/timing-1.0.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "typed_data",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/typed_data-1.3.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "vector_math",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/vector_math-2.1.4",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "watcher",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/watcher-1.0.2",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "web_socket_channel",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/web_socket_channel-2.3.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "yaml",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/yaml-3.1.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "icdevicemanager_flutter",
"rootUri": "../",
"packageUri": "lib/",
"languageVersion": "2.17"
}
],
"generated": "2024-04-08T07:22:52.056049Z",
"generator": "pub",
"generatorVersion": "2.19.6"
}

View File

@@ -0,0 +1,277 @@
_fe_analyzer_shared
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0/lib/
analyzer
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/analyzer-2.8.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/analyzer-2.8.0/lib/
args
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/args-2.4.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/args-2.4.0/lib/
async
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/async-2.10.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/async-2.10.0/lib/
boolean_selector
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/
build
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build-2.0.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build-2.0.3/lib/
build_config
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_config-0.4.7/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_config-0.4.7/lib/
build_daemon
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_daemon-2.1.10/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_daemon-2.1.10/lib/
build_resolvers
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_resolvers-2.0.6/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_resolvers-2.0.6/lib/
build_runner
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner-1.12.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner-1.12.2/lib/
build_runner_core
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner_core-6.1.12/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner_core-6.1.12/lib/
built_collection
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_collection-5.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_collection-5.1.1/lib/
built_value
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_value-8.4.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_value-8.4.3/lib/
change_app_package_name
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/change_app_package_name-1.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/change_app_package_name-1.1.0/lib/
characters
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/characters-1.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/
checked_yaml
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/checked_yaml-2.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/checked_yaml-2.0.2/lib/
cli_util
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/cli_util-0.3.5/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/cli_util-0.3.5/lib/
clock
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/clock-1.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/
code_builder
2.7
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/code_builder-3.7.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/code_builder-3.7.0/lib/
collection
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/collection-1.17.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/
convert
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/convert-3.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/convert-3.1.1/lib/
crypto
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/crypto-3.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/crypto-3.0.2/lib/
dart_style
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/dart_style-2.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/dart_style-2.2.1/lib/
fake_async
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fake_async-1.3.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/
file
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/file-6.1.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/file-6.1.4/lib/
fixnum
2.19
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fixnum-1.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fixnum-1.1.0/lib/
flutter_lints
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/lib/
glob
2.15
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/glob-2.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/glob-2.1.1/lib/
graphs
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/graphs-1.0.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/graphs-1.0.0/lib/
http_multi_server
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/lib/
http_parser
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_parser-4.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib/
io
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/io-1.0.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/io-1.0.4/lib/
js
2.16
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/js-0.6.5/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/js-0.6.5/lib/
json_annotation
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_annotation-4.6.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_annotation-4.6.0/lib/
json_serializable
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_serializable-6.3.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_serializable-6.3.1/lib/
lints
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/lints-2.0.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/lints-2.0.1/lib/
logging
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/logging-1.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/logging-1.1.1/lib/
matcher
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/matcher-0.12.13/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/matcher-0.12.13/lib/
material_color_utilities
2.13
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/
meta
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/meta-1.8.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/
mime
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/mime-1.0.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/mime-1.0.4/lib/
package_config
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/package_config-2.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/package_config-2.1.0/lib/
path
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/path-1.8.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/path-1.8.2/lib/
pedantic
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pedantic-1.11.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pedantic-1.11.1/lib/
plugin_platform_interface
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib/
pool
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pool-1.5.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pool-1.5.1/lib/
pub_semver
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pub_semver-2.1.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pub_semver-2.1.3/lib/
pubspec_parse
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.1/lib/
shelf
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf-1.4.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf-1.4.0/lib/
shelf_web_socket
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.3/lib/
source_gen
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_gen-1.0.5/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_gen-1.0.5/lib/
source_helper
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_helper-1.3.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_helper-1.3.2/lib/
source_span
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_span-1.9.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_span-1.9.1/lib/
stack_trace
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib/
stream_channel
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib/
stream_transform
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_transform-2.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_transform-2.1.0/lib/
string_scanner
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/
term_glyph
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/
test_api
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/test_api-0.4.16/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/test_api-0.4.16/lib/
timing
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/timing-1.0.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/timing-1.0.1/lib/
typed_data
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/typed_data-1.3.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/typed_data-1.3.1/lib/
vector_math
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/vector_math-2.1.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/
watcher
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/watcher-1.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/watcher-1.0.2/lib/
web_socket_channel
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/web_socket_channel-2.3.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/web_socket_channel-2.3.0/lib/
yaml
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/yaml-3.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/yaml-3.1.1/lib/
icdevicemanager_flutter
2.17
file:///Users/macbookpro/Desktop/Flutter%20Projects%20/GSFV8/
file:///Users/macbookpro/Desktop/Flutter%20Projects%20/GSFV8/lib/
sky_engine
2.12
file:///Users/macbookpro/flutteroldversion/flutter/bin/cache/pkg/sky_engine/
file:///Users/macbookpro/flutteroldversion/flutter/bin/cache/pkg/sky_engine/lib/
flutter
2.17
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter/
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter/lib/
flutter_test
2.17
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter_test/
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter_test/lib/
2

1
.dart_tool/version Normal file
View File

@@ -0,0 +1 @@
3.7.10

3
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_cropper/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_cropper/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_cropper/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_pdfview/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_pdfview/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_pdfview/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/fluttertoast/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/fluttertoast/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/fluttertoast/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_sim_country_code/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_sim_country_code/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_sim_country_code/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/share_plus/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/share_plus/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/share_plus/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/bluetooth_enable_fork/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/bluetooth_enable_fork/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/bluetooth_enable_fork/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/permission_handler_windows/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/permission_handler_windows/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/permission_handler_windows/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/fluttertoast/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/fluttertoast/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/fluttertoast/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/local_auth_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/local_auth_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/local_auth_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/shared_preferences_foundation/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/shared_preferences_foundation/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/shared_preferences_foundation/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/permission_handler_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/permission_handler_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/permission_handler_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/share_plus/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/share_plus/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/share_plus/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_pdfview/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_pdfview/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_pdfview/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_sim_country_code/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_sim_country_code/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_sim_country_code/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/share_plus/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/share_plus/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/share_plus/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/local_auth_ios/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/local_auth_ios/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/local_auth_ios/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_picker_ios/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_picker_ios/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_picker_ios/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_core/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_core/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_core/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audio_session/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audio_session/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audio_session/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/local_auth_windows/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/local_auth_windows/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/local_auth_windows/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/wakelock/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/wakelock/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/wakelock/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/bluetooth_enable_fork/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/bluetooth_enable_fork/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/bluetooth_enable_fork/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/permission_handler_apple/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/permission_handler_apple/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/permission_handler_apple/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/just_audio/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/just_audio/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/just_audio/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/sqflite/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/sqflite/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/sqflite/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/connectivity_plus_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/connectivity_plus_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/connectivity_plus_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_core/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_core/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_core/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/uni_links/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/uni_links/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/uni_links/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/vibration/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/vibration/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/vibration/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/alt_sms_autofill/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/alt_sms_autofill/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/alt_sms_autofill/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/onesignal_flutter/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/onesignal_flutter/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/onesignal_flutter/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/url_launcher_ios/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/url_launcher_ios/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/url_launcher_ios/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/alt_sms_autofill/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/alt_sms_autofill/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/alt_sms_autofill/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/connectivity_plus/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/connectivity_plus/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/connectivity_plus/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_dynamic_links/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_dynamic_links/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_dynamic_links/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/video_player_avfoundation/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/video_player_avfoundation/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/video_player_avfoundation/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/vibration/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/vibration/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/vibration/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/icdevicemanager_flutter/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/icdevicemanager_flutter/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/icdevicemanager_flutter/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/shared_preferences_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_dynamic_links/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_dynamic_links/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/firebase_dynamic_links/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/shared_preferences_foundation/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/shared_preferences_foundation/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/shared_preferences_foundation/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_blue_plus/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_blue_plus/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_blue_plus/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/path_provider_foundation/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/path_provider_foundation/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/path_provider_foundation/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/wakelock/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/wakelock/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/wakelock/.pub" />
<excludeFolder url="file://$MODULE_DIR$/.pub" />
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/uni_links/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/uni_links/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/uni_links/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_blue_plus/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_blue_plus/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/flutter_blue_plus/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/connectivity_plus/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/connectivity_plus/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/connectivity_plus/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_picker_ios/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_picker_ios/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_picker_ios/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/workmanager/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/workmanager/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/workmanager/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/local_auth_ios/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/local_auth_ios/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/local_auth_ios/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_cropper/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_cropper/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/image_cropper/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/video_player_avfoundation/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/video_player_avfoundation/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/video_player_avfoundation/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/path_provider_foundation/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/path_provider_foundation/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/path_provider_foundation/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/geolocator_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/geolocator_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/geolocator_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/workmanager/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/workmanager/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/workmanager/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/url_launcher_ios/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/url_launcher_ios/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/url_launcher_ios/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/just_audio/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/just_audio/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/just_audio/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audioplayers_darwin/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audioplayers_darwin/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audioplayers_darwin/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audio_session/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audio_session/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/audio_session/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/geolocator_windows/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/geolocator_windows/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/geolocator_windows/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/webview_flutter_wkwebview/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/webview_flutter_wkwebview/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/webview_flutter_wkwebview/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/webview_flutter_wkwebview/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/webview_flutter_wkwebview/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/webview_flutter_wkwebview/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/onesignal_flutter/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/onesignal_flutter/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/onesignal_flutter/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/sqflite/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/sqflite/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/sqflite/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/audioplayers_windows/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/audioplayers_windows/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/audioplayers_windows/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/geolocator_apple/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/geolocator_apple/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/geolocator_apple/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/geolocator_apple/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/geolocator_apple/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/geolocator_apple/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/share_plus/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/share_plus/example/build" />
<excludeFolder url="file://$MODULE_DIR$/gsf/windows/flutter/ephemeral/.plugin_symlinks/share_plus/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/permission_handler_apple/example/.pub" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/permission_handler_apple/example/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/gsf/ios/.symlinks/plugins/permission_handler_apple/example/build" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/icdevicemanager-flutter-with-scale.iml" filepath="$PROJECT_DIR$/.idea/icdevicemanager-flutter-with-scale.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/gsf" vcs="Git" />
</component>
</project>

33
.metadata Normal file
View File

@@ -0,0 +1,33 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
version:
revision: f1875d570e39de09040c8f79aa13cc56baab8db1
channel: stable
project_type: plugin
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: android
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: ios
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'

45
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,45 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "icdevicemanager-flutter-with-scale",
"request": "launch",
"type": "dart"
},
{
"name": "icdevicemanager-flutter-with-scale (profile mode)",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "icdevicemanager-flutter-with-scale (release mode)",
"request": "launch",
"type": "dart",
"flutterMode": "release"
},
{
"name": "gsf",
"cwd": "gsf",
"request": "launch",
"type": "dart"
},
{
"name": "gsf (profile mode)",
"cwd": "gsf",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "gsf (release mode)",
"cwd": "gsf",
"request": "launch",
"type": "dart",
"flutterMode": "release"
}
]
}

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"dart.flutterSdkPath": "~/Flutter/Sdk/3.7.12"
}

3
CHANGELOG.md Normal file
View File

@@ -0,0 +1,3 @@
## 0.0.1
* TODO: Describe initial release.

1
LICENSE Normal file
View File

@@ -0,0 +1 @@
TODO: Add your license here.

4
analysis_options.yaml Normal file
View File

@@ -0,0 +1,4 @@
include: package:flutter_lints/flutter.yaml
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

9
android/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.cxx

40
android/build.gradle Normal file
View File

@@ -0,0 +1,40 @@
group 'cn.icomon.icdevicemanager.flutter'
version '1.0.0'
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
}
}
rootProject.allprojects {
repositories {
google()
mavenCentral()
}
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 31
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
minSdkVersion 21
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.alibaba:fastjson:1.2.69'
}

Binary file not shown.

Binary file not shown.

BIN
android/libs/ICLogger.jar Normal file

Binary file not shown.

Binary file not shown.

1
android/settings.gradle Normal file
View File

@@ -0,0 +1 @@
rootProject.name = 'flutter_swift'

View File

@@ -0,0 +1,12 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.icomon.icdevicemanager.flutter">
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />
</manifest>

View File

@@ -0,0 +1,332 @@
package cn.icomon.icdevicemanager.flutter;
import android.content.Context;
import android.util.Log;
import androidx.annotation.NonNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.icomon.icdevicemanager.model.data.ICSkipLightSettingData;
import cn.icomon.icdevicemanager.model.data.ICSkipSoundSettingData;
import cn.icomon.icdevicemanager.model.data.ICWeightData;
import cn.icomon.icdevicemanager.model.device.ICDevice;
import cn.icomon.icdevicemanager.model.device.ICUserInfo;
import cn.icomon.icdevicemanager.model.other.ICDeviceManagerConfig;
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
public class ICBluetoothSDKPlugin implements FlutterPlugin, MethodCallHandler {
private MethodChannel channel;
private Context mContext;
private final String TAG = "ICSDKManager";
@Override
public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "ic_bluetooth_sdk");
mContext = flutterPluginBinding.getApplicationContext();
channel.setMethodCallHandler(this);
ICSDKManager.channel = channel;
}
@Override
public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
Object arguments = call.arguments();
HashMap<String, Object> params = new HashMap<>();
HashMap<String, String> resultMap = new HashMap<>();
if (arguments instanceof HashMap) {
HashMap<String, Object> map = (HashMap<String, Object>) arguments;
for (Map.Entry<String, Object> entry : map.entrySet()) {
Log.e("Entry", entry.getKey() + " -----" + entry.getValue().toString());
}
params.putAll(map);
}
Object jsonObj = params.get(ICMapKey.JsonValue);
Object macObj = params.get(ICMapKey.Mac);
Object enumObj = params.get(ICMapKey.EnumName);
Object intObj = params.get(ICMapKey.IntValue);
String mac = "";
String cmdValue = "";
List<ICDevice> devList;
Object path;
String filePath = "";
int weight = 0;
Log.e("onMethodCall", call.method);
if (jsonObj != null) cmdValue = jsonObj.toString();
if (macObj != null) mac = macObj.toString();
if (intObj != null) weight = (int) intObj;
switch (call.method) {
case ICWPublishEvent.InitSDK:
ICDeviceManagerConfig config = new ICDeviceManagerConfig();
config.setContext(mContext);
ICSDKManager.getInstance().initSdk(config);
break;
case ICWPublishEvent.AddDevice:
ICSDKManager.getInstance().addDevice(mac, (dev, code) -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.AddDevices:
devList = ICJson.toJavaList(cmdValue, ICDevice.class);
ICSDKManager.getInstance().addDevices(devList, (device1, code) -> {
resultMap.put(ICMapKey.EnumName, code.name());
resultMap.put(ICMapKey.Mac, device1.macAddr);
result.success(resultMap);
});
break;
case ICWPublishEvent.DeleteDevice:
ICSDKManager.getInstance().removeDevice(mac, (device1, code) -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.DeleteDevices:
devList = ICJson.toJavaList(cmdValue, ICDevice.class);
ICSDKManager.getInstance().removeDevices(devList, (device1, code) -> {
resultMap.put(ICMapKey.EnumName, code.name());
resultMap.put(ICMapKey.Mac, device1.macAddr);
result.success(resultMap);
});
break;
case ICWPublishEvent.OTADevice:
path = params.get(ICMapKey.StringValue);
if (path != null) {
filePath = path.toString();
}
ICSDKManager.getInstance().upgradeDevice(mac, filePath, ICDataConvert.getSDKOTAMode(enumObj));
break;
case ICWPublishEvent.OTADevices:
devList = ICJson.toJavaList(cmdValue, ICDevice.class);
path = params.get(ICMapKey.StringValue);
if (path != null) {
filePath = path.toString();
}
ICSDKManager.getInstance().upgradeDevices(devList, filePath, ICDataConvert.getSDKOTAMode(enumObj));
break;
case ICWPublishEvent.StopOTADevice:
ICSDKManager.getInstance().stopUpgradeDevice(mac);
break;
case ICWPublishEvent.StopOTADevices:
devList = ICJson.toJavaList(cmdValue, ICDevice.class);
ICSDKManager.getInstance().stopUpgradeDevices(devList);
break;
case ICWPublishEvent.StartScan:
ICSDKManager.getInstance().scanDevice();
break;
case ICWPublishEvent.StopScan:
ICSDKManager.getInstance().stopScan();
break;
case ICWPublishEvent.ScaleConfigWifi:
Object ssidObj = params.get(ICMapKey.SSID);
Object passwordObj = params.get(ICMapKey.Password);
ICSDKManager.getInstance().configWifi(mac, ssidObj, passwordObj, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.ScaleUnitSetting:
ICSDKManager.getInstance().setScaleUnit(mac, ICDataConvert.getSDKScaleUnit(enumObj), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.RulerUnitSetting:
ICSDKManager.getInstance().setRulerUnit(mac, ICDataConvert.getRulerUnit(enumObj), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.RulerModeSetting:
ICSDKManager.getInstance().setRulerMeasureMode(mac, ICDataConvert.getRulerMode(enumObj), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.RulerBodyPartSetting:
ICSDKManager.getInstance().setRulerBodyPartsType(mac, ICDataConvert.getSDKRulerPart(enumObj), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.KitchenUnitSetting:
ICSDKManager.getInstance().setKitchenScaleUnit(mac, ICDataConvert.getSDKKitchenUnitUnit(enumObj), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.KitchenPowerOff:
ICSDKManager.getInstance().powerOffKitchenScale(mac, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.KitchenCMD:
break;
case ICWPublishEvent.KitchenTareWeight:
ICSDKManager.getInstance().deleteTareWeight(mac, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.KitchenFactory:
break;
case ICWPublishEvent.SetSkipMode:
case ICWPublishEvent.SkipStart:
Object settingObj = params.get(ICMapKey.IntValue);
int nSetting = 0;
if (settingObj != null) nSetting = (int) settingObj;
ICSDKManager.getInstance().startSkip(mac, ICDataConvert.getSkipMode(enumObj), nSetting, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.SkipStop:
ICSDKManager.getInstance().stopSkip(mac, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.SkipLightSetting:
List<SkipLightSettingData> lightSettingData = ICJson.toJavaList(cmdValue, SkipLightSettingData.class);
List<ICSkipLightSettingData> data = new ArrayList<>();
for (SkipLightSettingData item : lightSettingData) {
data.add(new ICSkipLightSettingData(item.r, item.g, item.b, item.rpm));
}
ICSDKManager.getInstance().setSkipLightSetting(mac, data, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.SkipSoundSetting:
ICSkipSoundSettingData soundSettingData = ICJson.typeToObject(cmdValue, ICSkipSoundSettingData.class);
if (soundSettingData != null) {
ICSDKManager.getInstance().setSkipVoiceSetting(mac, soundSettingData, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
}
break;
case ICWPublishEvent.SetUserInfo:
ICSDKManager.getInstance().syncUserInfo(ICJson.typeToObject(cmdValue, ICUserInfo.class));
break;
case ICWPublishEvent.SetUserList:
ICSDKManager.getInstance().syncUserList(ICJson.toJavaList(cmdValue, ICUserInfo.class));
break;
case ICWPublishEvent.SkipSetWeight:
ICSDKManager.getInstance().setWeight(mac, weight, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.KitchenSetNutritionFacts:
ICSDKManager.getInstance().setNutritionFacts(mac, ICDataConvert.getSDKNutritionFactType(enumObj), weight, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.SetServerUrl:
ICSDKManager.getInstance().setServerUrl(mac, params.get(ICMapKey.StringValue), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.SetOtherParams:
break;
case ICWPublishEvent.SetScaleUIItems:
break;
case ICWPublishEvent.SkipLockSt:
ICSDKManager.getInstance().lockStSkip(mac, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.QueryStAllNode:
ICSDKManager.getInstance().queryStAllNode(mac, code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.ChangeStName:
ICSDKManager.getInstance().changeStName(mac, params.get(ICMapKey.StringValue), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.ChangeStNo:
ICSDKManager.getInstance().changeStNo(mac, params.get(ICMapKey.DstId), params.get(ICMapKey.StNo), code -> {
resultMap.put(ICMapKey.EnumName, code.name());
result.success(resultMap);
});
break;
case ICWPublishEvent.GetLogPath:
String logPath = ICSDKManager.getInstance().getLogPath();
resultMap.put(ICMapKey.StringValue,logPath);
result.success(resultMap);
break;
case ICWPublishEvent.CalcBodyFat:
ICWeightData weightData = ICJson.typeToObject(cmdValue, ICWeightData.class);
Object userJson = params.get(ICMapKey.JsonValue2);
if (userJson != null) {
ICUserInfo userInfo = ICJson.typeToObject((String) userJson, ICUserInfo.class);
ICWeightData resultWeight = ICSDKManager.getInstance().CalcBodyFat(weightData, userInfo);
resultMap.put(ICMapKey.JsonValue, ICJson.beanToJson(resultWeight));
result.success(resultMap);
}
break;
default:
break;
}
}
@Override
public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
channel.setMethodCallHandler(null);
}
}

View File

@@ -0,0 +1,224 @@
package cn.icomon.icdevicemanager.flutter;
import java.lang.reflect.Field;
import java.util.Map;
import cn.icomon.icdevicemanager.model.data.ICSkipData;
import cn.icomon.icdevicemanager.model.other.ICConstant;
public class ICDataConvert {
public static ISkipData getSkipData(ICSkipData from) {
ISkipData iSkipData = new ISkipData();
iSkipData.isStabilized = from.isStabilized;
iSkipData.nodeId = from.nodeId;
iSkipData.battery = from.battery;
iSkipData.nodeInfo = from.nodeInfo;
iSkipData.time = from.time;
iSkipData.mode = from.mode.name();
iSkipData.setting = from.setting;
iSkipData.elapsed_time = from.elapsed_time;
iSkipData.actual_time = from.actual_time;
iSkipData.skip_count = from.skip_count;
iSkipData.avg_freq = from.avg_freq;
iSkipData.fastest_freq = from.fastest_freq;
iSkipData.freq_count = from.freq_count;
iSkipData.most_jump = from.most_jump;
iSkipData.calories_burned = from.calories_burned;
iSkipData.fat_burn_efficiency = from.fat_burn_efficiency;
iSkipData.freqs = ICJson.beanToJson(from.freqs);
return iSkipData;
}
public static ICConstant.ICWeightUnit getSDKScaleUnit(Object enumName) {
if (enumName == null) return ICConstant.ICWeightUnit.ICWeightUnitKg;
if (ICConstant.ICWeightUnit.ICWeightUnitJin.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICWeightUnit.ICWeightUnitJin;
} else if (ICConstant.ICWeightUnit.ICWeightUnitLb.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICWeightUnit.ICWeightUnitLb;
} else if (ICConstant.ICWeightUnit.ICWeightUnitSt.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICWeightUnit.ICWeightUnitSt;
} else {
return ICConstant.ICWeightUnit.ICWeightUnitKg;
}
}
public static ICConstant.ICOTAMode getSDKOTAMode(Object enumName) {
if (enumName == null) return ICConstant.ICOTAMode.ICOTAModeAuto;
if (ICConstant.ICOTAMode.ICOTAMode1.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICOTAMode.ICOTAMode1;
} else if (ICConstant.ICOTAMode.ICOTAMode2.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICOTAMode.ICOTAMode2;
} else if (ICConstant.ICOTAMode.ICOTAMode3.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICOTAMode.ICOTAMode3;
} else {
return ICConstant.ICOTAMode.ICOTAModeAuto;
}
}
public static ICConstant.ICKitchenScaleUnit getSDKKitchenUnitUnit(Object enumName) {
if (enumName == null) return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitG;
if (ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitMl.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitMl;
} else if (ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitLb.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitLb;
} else if (ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitOz.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitOz;
} else if (ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitMg.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitMg;
} else if (ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitMlMilk.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitMlMilk;
} else if (ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitFlOzWater.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitFlOzWater;
} else if (ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitFlOzMilk.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitFlOzMilk;
} else {
return ICConstant.ICKitchenScaleUnit.ICKitchenScaleUnitG;
}
}
public static ICConstant.ICRulerUnit getRulerUnit(Object enumName) {
if (enumName == null) return ICConstant.ICRulerUnit.ICRulerUnitCM;
if (ICConstant.ICRulerUnit.ICRulerUnitFtInch.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerUnit.ICRulerUnitFtInch;
} else if (ICConstant.ICRulerUnit.ICRulerUnitInch.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerUnit.ICRulerUnitInch;
} else {
return ICConstant.ICRulerUnit.ICRulerUnitCM;
}
}
public static ICConstant.ICRulerMeasureMode getRulerMode(Object enumName) {
if (enumName == null) return ICConstant.ICRulerMeasureMode.ICRulerMeasureModeLength;
if (ICConstant.ICRulerMeasureMode.ICRulerMeasureModeGirth.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerMeasureMode.ICRulerMeasureModeGirth;
} else {
return ICConstant.ICRulerMeasureMode.ICRulerMeasureModeLength;
}
}
public static ICConstant.ICRulerBodyPartsType getSDKRulerPart(Object enumName) {
if (enumName == null) return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeShoulder;
if (ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeBicep.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeBicep;
} else if (ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeChest.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeChest;
} else if (ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeWaist.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeWaist;
} else if (ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeHip.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeHip;
} else if (ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeThigh.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeThigh;
} else if (ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeCalf.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeCalf;
} else {
return ICConstant.ICRulerBodyPartsType.ICRulerPartsTypeShoulder;
}
}
public static ICConstant.ICKitchenScaleNutritionFactType getSDKNutritionFactType(Object enumName) {
if (enumName == null)
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeCalorie;
if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalCalorie.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalCalorie;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalFat.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalFat;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalProtein.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalProtein;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalCarbohydrates.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalCarbohydrates;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalFiber.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalFiber;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalCholesterd.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalCholesterd;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalSodium.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalSodium;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalSugar.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeTotalSugar;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeFat.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeFat;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeProtein.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeProtein;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeCarbohydrates.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeCarbohydrates;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeFiber.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeFiber;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeCholesterd.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeCholesterd;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeSodium.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeSodium;
} else if (ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeSugar.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeSugar;
} else {
return ICConstant.ICKitchenScaleNutritionFactType.ICKitchenScaleNutritionFactTypeCalorie;
}
}
public static ICConstant.ICSkipMode getSkipMode(Object enumName) {
if (enumName == null) return ICConstant.ICSkipMode.ICSkipModeFreedom;
if (ICConstant.ICSkipMode.ICSkipModeFreedom.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICSkipMode.ICSkipModeFreedom;
} else if (ICConstant.ICSkipMode.ICSkipModeCount.name().equalsIgnoreCase(enumName.toString())) {
return ICConstant.ICSkipMode.ICSkipModeCount;
} else {
return ICConstant.ICSkipMode.ICSkipModeTiming;
}
}
public static void setMap(Map<String, Object> map, Object obj) {
if (obj != null) {
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
if (!field.isAccessible()) {
field.setAccessible(true);
}
Object value = getDeclaredFieldValue(field, obj);
map.put(field.getName(), value);
}
}
}
/**
* 获取对象属性的值
*
* @param field
* @return
*/
public static Object getDeclaredFieldValue(Field field, Object obj) {
try {
return field.get(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
return null;
}
}
}

View File

@@ -0,0 +1,97 @@
package cn.icomon.icdevicemanager.flutter;
import android.text.TextUtils;
import android.util.Log;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class ICJson {
public static <T> T toJavaObject(String strJson, Class clazz) {
if (TextUtils.isEmpty(strJson)) {
return null;
}
T object = null;
try {
object = (T) JSON.parseObject(strJson, clazz);
} catch (Exception e) {
e.printStackTrace();
}
return object;
}
public static <T> List<T> toJavaList(String strJson, Class clazz) {
if (TextUtils.isEmpty(strJson)) {
return new ArrayList<>();
}
List<T> list = new ArrayList<>();
try {
list = JSON.parseArray(strJson, clazz);
} catch (Exception e) {
Log.e("toJavaList", "toJavaList "+e.toString());
}
return list;
}
public static <T> String beanToJson(T info) {
return JSON.toJSONString(info);
}
public static <T> T typeToObject(String strJson, Type type) {
if (TextUtils.isEmpty(strJson)) {
return null;
}
T object = null;
try {
object = JSON.parseObject(strJson, type);
} catch (Exception e) {
}
return object;
}
public static <T> HashMap<String, T> toJavaMap(String strJson) {
if (TextUtils.isEmpty(strJson)) {
return new HashMap<>();
}
HashMap<String, T> hashMap = null;
try {
hashMap = JSON.parseObject(strJson, new TypeReference<HashMap<String, T>>() {
});
} catch (Exception e) {
}
if (hashMap == null)
hashMap = new HashMap<>();
return hashMap;
}
public static <T> HashMap<Integer, T> toJavaMapInteger(String strJson) {
if (TextUtils.isEmpty(strJson)) {
return new HashMap<>();
}
HashMap<Integer, T> hashMap = null;
try {
hashMap = JSON.parseObject(strJson, new TypeReference<HashMap<Integer, T>>() {
});
} catch (Exception e) {
}
if (hashMap == null)
hashMap = new HashMap<>();
return hashMap;
}
}

View File

@@ -0,0 +1,18 @@
package cn.icomon.icdevicemanager.flutter;
public class ICMapKey {
static String Mac = "Mac";
static String Password = "Password";
static String SSID = "SSID";
static String DstId = "DstId";
static String StNo = "StNo";
static String JsonValue = "JsonValue";
static String JsonValue2 = "JsonValue2";
static String EnumName ="EnumName";
static String BoolValue ="BoolValue";
static String ObjectValue ="ObjectValue";
static String IntValue ="IntValue";
static String StringValue ="StringValue";
}

View File

@@ -0,0 +1,692 @@
package cn.icomon.icdevicemanager.flutter;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import java.util.HashMap;
import java.util.List;
import cn.icomon.icdevicemanager.ICDeviceManager;
import cn.icomon.icdevicemanager.ICDeviceManagerDelegate;
import cn.icomon.icdevicemanager.ICDeviceManagerSettingManager;
import cn.icomon.icdevicemanager.callback.ICScanDeviceDelegate;
import cn.icomon.icdevicemanager.common.ICLoggerHandler;
import cn.icomon.icdevicemanager.model.data.ICCoordData;
import cn.icomon.icdevicemanager.model.data.ICKitchenScaleData;
import cn.icomon.icdevicemanager.model.data.ICRulerData;
import cn.icomon.icdevicemanager.model.data.ICSkipData;
import cn.icomon.icdevicemanager.model.data.ICSkipLightSettingData;
import cn.icomon.icdevicemanager.model.data.ICSkipSoundSettingData;
import cn.icomon.icdevicemanager.model.data.ICWeightCenterData;
import cn.icomon.icdevicemanager.model.data.ICWeightData;
import cn.icomon.icdevicemanager.model.data.ICWeightHistoryData;
import cn.icomon.icdevicemanager.model.device.ICDevice;
import cn.icomon.icdevicemanager.model.device.ICDeviceInfo;
import cn.icomon.icdevicemanager.model.device.ICScanDeviceInfo;
import cn.icomon.icdevicemanager.model.device.ICUserInfo;
import cn.icomon.icdevicemanager.model.other.ICConstant;
import cn.icomon.icdevicemanager.model.other.ICDeviceManagerConfig;
import io.flutter.plugin.common.MethodChannel;
public class ICSDKManager implements ICDeviceManagerDelegate,
ICDeviceManagerSettingManager.ICSettingCallback,
ICConstant.ICAddDeviceCallBack,
ICConstant.ICRemoveDeviceCallBack,
ICScanDeviceDelegate {
private final String TAG = "ICSDKManager";
private volatile static ICSDKManager sdkManager;
public static MethodChannel channel;
private Handler handler = new Handler();
/**
* 7-14 1.2.0_build_687_71e503b_20220714164005
*/
private ICDeviceManager icDeviceManager;
public static ICSDKManager getInstance() {
if (sdkManager == null) {
synchronized (ICSDKManager.class) {
if (sdkManager == null) {
sdkManager = new ICSDKManager();
}
}
}
return sdkManager;
}
public MethodChannel getChannel() {
if (channel == null) {
// channel = ICFlutterMessageChannel.getInstance().getChannel();
}
return channel;
}
public void setChannel(MethodChannel channel) {
ICSDKManager.channel = channel;
}
public ICSDKManager() {
icDeviceManager = ICDeviceManager.shared();
icDeviceManager.setDelegate(this);
}
public ICDeviceManager getDeviceMgr() {
if (icDeviceManager == null) {
icDeviceManager = ICDeviceManager.shared();
icDeviceManager.setDelegate(this);
}
return icDeviceManager;
}
public void sendMsgToFlutter(String name, Object obj) {
handler.post(() -> {
MethodChannel channel = getChannel();
if (channel != null) {
Log.e(TAG, "安卓端发送信息 " + name);
channel.invokeMethod(name, obj);
}
});
}
public void addDevice(String macAddr, ICConstant.ICAddDeviceCallBack callBack) {
if (TextUtils.isEmpty(macAddr)) return;
getDeviceMgr().addDevice(getICDeviceByMac(macAddr), callBack);
}
public void addDevices(List<ICDevice> devices, ICConstant.ICAddDeviceCallBack callBack) {
getDeviceMgr().addDevices(devices, callBack);
}
public void removeDevice(String macAddr,ICConstant.ICRemoveDeviceCallBack callBack) {
if (TextUtils.isEmpty(macAddr)) return;
getDeviceMgr().removeDevice(getICDeviceByMac(macAddr), callBack);
}
public void removeDevices(List<ICDevice> devices,ICConstant.ICRemoveDeviceCallBack callBack) {
getDeviceMgr().removeDevices(devices, callBack);
}
public void upgradeDevice(String macAddr, String path, ICConstant.ICOTAMode icotaMode) {
if (TextUtils.isEmpty(macAddr)) return;
getDeviceMgr().upgradeDevice(getICDeviceByMac(macAddr), path, icotaMode);
}
public void upgradeDevices(List<ICDevice> devices, String path, ICConstant.ICOTAMode icotaMode) {
getDeviceMgr().upgradeDevices(devices, path, icotaMode);
}
public void stopUpgradeDevice(String macAddr) {
if (TextUtils.isEmpty(macAddr)) return;
getDeviceMgr().stopUpgradeDevice(getICDeviceByMac(macAddr));
}
public void stopUpgradeDevices(List<ICDevice> devices) {
getDeviceMgr().stopUpgradeDevices(devices);
}
public void scanDevice() {
getDeviceMgr().scanDevice(this);
}
public void stopScan() {
getDeviceMgr().stopScan();
}
public void initSdk(ICDeviceManagerConfig config) {
getDeviceMgr().initMgrWithConfig(config);
}
public void configWifi(String macAddr, Object ssid, Object password,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr) || ssid == null || password == null) return;
ICLoggerHandler.logInfo(TAG, "configWifi " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().configWifi(getICDeviceByMac(macAddr), ssid.toString(), password.toString(),callback);
}
public void setScaleUnit(String macAddr, ICConstant.ICWeightUnit unit,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "setScaleUnit " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().setScaleUnit(getICDeviceByMac(macAddr), unit, callback);
}
/*尺子设置-----------------------start*/
/**
* 设置尺子单位
*
* @param macAddr
* @param unit
*/
public void setRulerUnit(String macAddr, ICConstant.ICRulerUnit unit,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "setRulerUnit " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().setRulerUnit(getICDeviceByMac(macAddr), unit, callback);
}
public void setRulerBodyPartsType(String macAddr, ICConstant.ICRulerBodyPartsType unit,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "setRulerBodyPartsType " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().setRulerBodyPartsType(getICDeviceByMac(macAddr), unit, callback);
}
/**
* 设置测模式
*
* @param macAddr
* @param mode
*/
public void setRulerMeasureMode(String macAddr, ICConstant.ICRulerMeasureMode mode,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "setRulerMeasureMode " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().setRulerMeasureMode(getICDeviceByMac(macAddr), mode, callback);
}
/*尺子设置-----------------------end*/
/*厨房秤设置-----------------------start*/
/**
* 设置厨房秤单位
*
* @param macAddr
* @param unit
*/
public void setKitchenScaleUnit(String macAddr, ICConstant.ICKitchenScaleUnit unit,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "setKitchenScaleUnit " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().setKitchenScaleUnit(getICDeviceByMac(macAddr), unit, callback);
}
/**
* 厨房秤去皮
*/
public void deleteTareWeight(String macAddr,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "deleteTareWeight " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().deleteTareWeight(getICDeviceByMac(macAddr), callback);
}
/**
* 关机
*/
public void powerOffKitchenScale(String macAddr,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "powerOffKitchenScale " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().powerOffKitchenScale(getICDeviceByMac(macAddr), callback);
}
public void setNutritionFacts(String macAddr, ICConstant.ICKitchenScaleNutritionFactType type, int value,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "setNutritionFacts " );
getDeviceMgr().getSettingManager().setNutritionFacts(getICDeviceByMac(macAddr), type, value, callback);
}
/*厨房秤设置-----------------------end*/
/*彩屏称设置-----------------------start*/
public void setServerUrl(String macAddr, Object service,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr) || service == null) return;
ICLoggerHandler.logInfo(TAG, "setServerUrl " );
getDeviceMgr().getSettingManager().setServerUrl(getICDeviceByMac(macAddr), service.toString(), callback);
}
public void setOtherParams(String strMac ,int type, Object object,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac)) return;
ICLoggerHandler.logInfo(TAG, "setOtherParams " );
getDeviceMgr().getSettingManager().setOtherParams(getICDeviceByMac(strMac),type,object,callback);
}
public void queryStAllNode(String strMac,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac)) return;
ICLoggerHandler.logInfo(TAG, "queryStAllNode " );
getDeviceMgr().getSettingManager().queryStAllNode(getICDeviceByMac(strMac),callback);
}
public void changeStName(String strMac, Object name,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac) || name == null) return;
ICLoggerHandler.logInfo(TAG, "changeStName " );
getDeviceMgr().getSettingManager().changeStName(getICDeviceByMac(strMac), name.toString(), callback);
}
public void changeStNo(String strMac, Object dstId, Object st_no,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac) || dstId == null || st_no == null) return;
int id = 0, no = 0;
if (dstId instanceof Integer) id = (int) dstId;
if (st_no instanceof Integer) no = (int) st_no;
ICLoggerHandler.logInfo(TAG, "changeStNo " );
getDeviceMgr().getSettingManager().changeStNo(getICDeviceByMac(strMac), id, no, callback);
}
public ICWeightData CalcBodyFat(ICWeightData weightData,ICUserInfo userInfo) {
ICLoggerHandler.logInfo(TAG, "CalcBodyFat " );
return getDeviceMgr().getBodyFatAlgorithmsManager().reCalcBodyFatWithWeightData(weightData,userInfo);
}
public String getLogPath() {
ICLoggerHandler.logInfo(TAG, "getLogPath " );
return getDeviceMgr().getLogPath();
}
/*彩屏称设置-----------------------end*/
public void syncUserInfo(ICUserInfo userInfo) {
if (userInfo == null) return;
getDeviceMgr().updateUserInfo(userInfo);
ICLoggerHandler.logInfo(TAG, "syncUserInfo " );
}
public void syncUserList(List<ICUserInfo> list) {
getDeviceMgr().setUserList(list);
ICLoggerHandler.logInfo(TAG, "syncUserList " );
}
public void setWeight(String macAddr, int weight,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(macAddr)) return;
ICLoggerHandler.logInfo(TAG, "setWeight " + " mac: "+macAddr);
getDeviceMgr().getSettingManager().setWeight(getICDeviceByMac(macAddr), weight,callback);
}
/*跳绳设置-----------------------start*/
public void startSkip(String strMac, ICConstant.ICSkipMode skipMode, int nSetting,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac)) return;
ICLoggerHandler.logInfo(TAG, "startSkip " + " mac: "+strMac);
getDeviceMgr().getSettingManager().startSkipMode(getICDeviceByMac(strMac), skipMode, nSetting,callback);
}
public void stopSkip(String strMac,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac)) return;
ICLoggerHandler.logInfo(TAG, "stopSkip " + " mac: "+strMac);
getDeviceMgr().getSettingManager().stopSkip(getICDeviceByMac(strMac),callback);
}
/**
* 设置灯效跳绳设备灯效
*/
public void setSkipLightSetting(String strMac, List<ICSkipLightSettingData> data,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac) || data == null) return;
ICLoggerHandler.logInfo(TAG, "setSkipLightSetting " + " mac: "+strMac);
getDeviceMgr().getSettingManager().setSkipLightSetting(getICDeviceByMac(strMac), data, ICConstant.ICSkipLightMode.ICSkipLightModeRPM,callback);
}
/**
* 设置语音跳绳语音参数
*/
public void setSkipVoiceSetting(String strMac, ICSkipSoundSettingData data,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac) || data == null) return;
ICLoggerHandler.logInfo(TAG, "setSkipVoiceSetting " + " mac: "+strMac);
getDeviceMgr().getSettingManager().setSkipSoundSetting(getICDeviceByMac(strMac), data, callback);
}
public void lockStSkip(String strMac,ICDeviceManagerSettingManager.ICSettingCallback callback) {
if (TextUtils.isEmpty(strMac)) return;
ICLoggerHandler.logInfo(TAG, "lockStSkip " + " mac: "+strMac);
getDeviceMgr().getSettingManager().lockStSkip(getICDeviceByMac(strMac),callback);
}
/*跳绳设置-----------------------end*/
public ICDevice getICDeviceByMac(String strMac) {
ICDevice icDevice = new ICDevice();
icDevice.setMacAddr(strMac);
return icDevice;
}
@Override
public void onInitFinish(boolean b) {
ICLoggerHandler.logInfo(TAG, "onInitFinish " + b);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.BoolValue, b);
sendMsgToFlutter(ICWUploadEvent.TypeInitSDK, map);
}
@Override
public void onBleState(ICConstant.ICBleState icBleState) {
ICLoggerHandler.logInfo(TAG, "onBleState " + icBleState.toString());
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.EnumName, icBleState.name());
sendMsgToFlutter(ICWUploadEvent.TypeBluetoothChange, map);
}
@Override
public void onDeviceConnectionChanged(ICDevice icDevice, ICConstant.ICDeviceConnectState state) {
ICLoggerHandler.logInfo(TAG, "onDeviceConnectionChanged " + state.toString());
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.EnumName, state.name());
sendMsgToFlutter(ICWUploadEvent.TypeConnectChange, map);
}
@Override
public void onNodeConnectionChanged(ICDevice device, int nodeId, ICConstant.ICDeviceConnectState state) {
Log.e(TAG, "onReceiveWeightData " + device.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, device.getMacAddr());
map.put(ICMapKey.EnumName,state.name());
map.put(ICMapKey.IntValue,nodeId);
sendMsgToFlutter(ICWUploadEvent.onNodeConnectionChanged, map);
}
@Override
public void onReceiveWeightData(ICDevice icDevice, ICWeightData data) {
Log.e(TAG, "onReceiveWeightData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(data));
sendMsgToFlutter(ICWUploadEvent.TypeScaleData, map);
}
@Override
public void onReceiveKitchenScaleData(ICDevice icDevice, ICKitchenScaleData data) {
ICLoggerHandler.logInfo(TAG, "onReceiveKitchenScaleData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(data));
sendMsgToFlutter(ICWUploadEvent.TypeKitchenData, map);
}
@Override
public void onReceiveKitchenScaleUnitChanged(ICDevice icDevice, ICConstant.ICKitchenScaleUnit unit) {
ICLoggerHandler.logInfo(TAG, "onReceiveKitchenScaleUnitChanged " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.EnumName, unit.name());
sendMsgToFlutter(ICWUploadEvent.KitchenScaleUnitChanged, map);
}
@Override
public void onReceiveCoordData(ICDevice icDevice, ICCoordData icCoordData) {
ICLoggerHandler.logInfo(TAG, "onReceiveCoordData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(icCoordData));
sendMsgToFlutter(ICWUploadEvent.TypeCoordData, map);
}
@Override
public void onReceiveRulerData(ICDevice icDevice, ICRulerData data) {
ICLoggerHandler.logInfo(TAG, "onReceiveRulerData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(data));
sendMsgToFlutter(ICWUploadEvent.TypeRulerData, map);
}
@Override
public void onReceiveRulerHistoryData(ICDevice icDevice, ICRulerData data) {
ICLoggerHandler.logInfo(TAG, "onReceiveRulerHistoryData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(data));
sendMsgToFlutter(ICWUploadEvent.RulerHistoryData, map);
}
@Override
public void onReceiveWeightCenterData(ICDevice icDevice, ICWeightCenterData data) {
ICLoggerHandler.logInfo(TAG, "onReceiveWeightCenterData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(data));
sendMsgToFlutter(ICWUploadEvent.TypeScaleCenterData, map);
}
@Override
public void onReceiveWeightUnitChanged(ICDevice icDevice, ICConstant.ICWeightUnit unit) {
ICLoggerHandler.logInfo(TAG, "onReceiveWeightUnitChanged " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.EnumName, unit.name());
sendMsgToFlutter(ICWUploadEvent.TypeScaleUnitChange, map);
}
@Override
public void onReceiveRulerUnitChanged(ICDevice icDevice, ICConstant.ICRulerUnit unit) {
ICLoggerHandler.logInfo(TAG, "onReceiveRulerUnitChanged " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.EnumName, unit.name());
sendMsgToFlutter(ICWUploadEvent.TypeRulerUnitChange, map);
}
@Override
public void onReceiveRulerMeasureModeChanged(ICDevice icDevice, ICConstant.ICRulerMeasureMode mode) {
ICLoggerHandler.logInfo(TAG, "onReceiveRulerMeasureModeChanged " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.EnumName, mode.name());
sendMsgToFlutter(ICWUploadEvent.TypeRulerModeChange, map);
}
@Override
public void onReceiveMeasureStepData(ICDevice icDevice, ICConstant.ICMeasureStep step, Object o) {
ICLoggerHandler.logInfo(TAG, "onReceiveMeasureStepData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
// ICWeightData data = (ICWeightData) o;
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.EnumName, step.name());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(o));
sendMsgToFlutter(ICWUploadEvent.TypeScaleStepData, map);
}
@Override
public void onReceiveWeightHistoryData(ICDevice icDevice, ICWeightHistoryData data) {
ICLoggerHandler.logInfo(TAG, "onReceiveWeightHistoryData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(data));
sendMsgToFlutter(ICWUploadEvent.TypeScaleHistoryData, map);
}
@Override
public void onReceiveSkipData(ICDevice icDevice, ICSkipData data) {
ICLoggerHandler.logInfo(TAG, "onReceiveSkipData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(ICDataConvert.getSkipData(data)));
sendMsgToFlutter(ICWUploadEvent.TypeSkipData, map);
}
@Override
public void onReceiveHistorySkipData(ICDevice icDevice, ICSkipData data) {
ICLoggerHandler.logInfo(TAG, "onReceiveHistorySkipData " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(ICDataConvert.getSkipData(data)));
sendMsgToFlutter(ICWUploadEvent.TypeSkipHistoryData, map);
}
@Override
public void onReceiveBattery(ICDevice icDevice, int percent, Object o) {
ICLoggerHandler.logInfo(TAG, "onReceiveBattery " + " mac: "+icDevice.macAddr);
ICLoggerHandler.logInfo(TAG, "onReceiveBattery " + icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.IntValue, percent);
sendMsgToFlutter(ICWUploadEvent.TypeBattery, map);
}
@Override
public void onReceiveUpgradePercent(ICDevice icDevice, ICConstant.ICUpgradeStatus icUpgradeStatus, int percent) {
ICLoggerHandler.logInfo(TAG, "onReceiveUpgradePercent " + " mac: "+icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.EnumName, icUpgradeStatus.name());
map.put(ICMapKey.IntValue, percent);
sendMsgToFlutter(ICWUploadEvent.TypeUpgrade, map);
}
@Override
public void onReceiveDeviceInfo(ICDevice icDevice, ICDeviceInfo data) {
ICLoggerHandler.logInfo(TAG, "onReceiveDeviceInfo " + " mac: "+icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.getMacAddr());
map.put(ICMapKey.JsonValue, ICJson.beanToJson(data));
sendMsgToFlutter(ICWUploadEvent.TypeDeviceInfo, map);
}
@Override
public void onReceiveDebugData(ICDevice icDevice, int i, Object o) {
ICLoggerHandler.logInfo(TAG, "onReceiveDebugData " + " mac: "+icDevice.macAddr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.macAddr);
map.put(ICMapKey.IntValue, i);
map.put(ICMapKey.ObjectValue, o);
sendMsgToFlutter(ICWUploadEvent.TypeDebugData, map);
}
@Override
public void onReceiveConfigWifiResult(ICDevice icDevice, ICConstant.ICConfigWifiState result) {
ICLoggerHandler.logInfo(TAG, "onReceiveConfigWifiResult " + result);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.macAddr);
map.put(ICMapKey.EnumName, result.name());
sendMsgToFlutter(ICWUploadEvent.TypeConfigWifi, map);
}
@Override
public void onReceiveHR(ICDevice icDevice, int hr) {
ICLoggerHandler.logInfo(TAG, "onReceiveHR " + " mac: "+icDevice.macAddr+" Hr:"+hr);
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.IntValue, hr);
map.put(ICMapKey.Mac, icDevice.macAddr);
sendMsgToFlutter(ICWUploadEvent.TypeHrData, map);
}
@Override
public void onReceiveUserInfo(ICDevice device, ICUserInfo userInfo) {
}
@Override
public void onReceiveRSSI(ICDevice device, int rssi) {
}
@Override
public void onScanResult(ICScanDeviceInfo icScanDeviceInfo) {
ICLoggerHandler.logInfo(TAG, "onScanResult " + icScanDeviceInfo.toString());
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.JsonValue, ICJson.beanToJson(icScanDeviceInfo));
sendMsgToFlutter(ICWUploadEvent.TypeDeviceScan, map);
}
@Override
public void onCallBack(ICConstant.ICSettingCallBackCode code) {
ICLoggerHandler.logInfo(TAG, "onCallBack " + code.toString());
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.EnumName, code.name());
sendMsgToFlutter(ICWUploadEvent.TypeSettingResult, map);
}
@Override
public void onCallBack(ICDevice icDevice, ICConstant.ICAddDeviceCallBackCode code) {
ICLoggerHandler.logInfo(TAG, "ICAddDeviceCallBackCode " + code.toString());
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.macAddr);
map.put(ICMapKey.EnumName, code.name());
sendMsgToFlutter(ICWUploadEvent.TypeAddDeviceResult, map);
}
@Override
public void onCallBack(ICDevice icDevice, ICConstant.ICRemoveDeviceCallBackCode code) {
ICLoggerHandler.logInfo(TAG, "ICRemoveDeviceCallBackCode " + code.toString());
HashMap<String, Object> map = new HashMap<>();
map.put(ICMapKey.Mac, icDevice.macAddr);
map.put(ICMapKey.EnumName, code.name());
sendMsgToFlutter(ICWUploadEvent.TypeRemoveDeviceResult, map);
}
}

View File

@@ -0,0 +1,62 @@
package cn.icomon.icdevicemanager.flutter;
class ICWPublishEvent {
final static String InitSDK = "InitSDK";
final static String AddDevice = "AddDevice";
final static String AddDevices = "AddDevices";
final static String DeleteDevice = "RemoveDevice";
final static String DeleteDevices = "RemoveDevices";
final static String OTADevice = "OTADevice";
final static String OTADevices = "OTADevices";
final static String StopOTADevice = "StopOTADevice";
final static String StopOTADevices = "StopOTADevices";
final static String StopScan = "StopScan";
final static String StartScan = "StartScan";
final static String SetUserInfo = "SetUserInfo";
final static String SetUserList = "SetUserList";
final static String ScaleConfigWifi = "configWifi";
final static String ScaleUnitSetting = "setScaleUnit";
final static String RulerUnitSetting = "RulerUnitSetting";
final static String RulerModeSetting = "RulerModeSetting";
final static String RulerBodyPartSetting = "RulerBodyPartSetting";
final static String KitchenUnitSetting = "KitchenUnitSetting";
final static String KitchenPowerOff = "KitchenPowerOff";
final static String KitchenCMD = "KitchenCMD";
final static String KitchenTareWeight = "KitchenTareWeight";
final static String KitchenFactory = "KitchenFactory";
final static String KitchenSetNutritionFacts = "KitchenSetNutritionFacts";
final static String SkipStop = "SkipStop";
final static String SkipStart = "SkipStart";
final static String SetSkipMode = "SetSkipMode";
final static String SkipLightSetting = "SkipLightSetting";
final static String SkipSoundSetting = "SkipSoundSetting";
final static String SkipLockSt = "SkipLockSt";
final static String SkipSetWeight = "SkipSetWeight";
final static String SkipSetUserInfo = "SkipSetUserInfo";
final static String SetServerUrl = "setServerUrl";
final static String SetOtherParams = "setOtherParams";
final static String SetScaleUIItems = "setScaleUIItems";
final static String QueryStAllNode = "queryStAllNode";
final static String ChangeStName = "changeStName";
final static String ChangeStNo = "changeStNo";
final static String CalcBodyFat = "CalcBodyFat";
final static String GetLogPath ="LogPath";
}

View File

@@ -0,0 +1,55 @@
package cn.icomon.icdevicemanager.flutter;
class ICWUploadEvent {
static String TypeInitSDK = "InitSDK";
static String TypeUpgrade = "onReceiveUpgradePercent";
static String TypeBattery = "onReceiveBattery";
static String TypeConfigWifi = "onReceiveConfigWifiResult";
static String TypeDeviceScan = "onScanResult";
static String TypeSettingResult = "onSettingCallBack";
static String TypeAddDeviceResult = "onAddDeviceCallBack";
static String TypeRemoveDeviceResult = "onRemoveDeviceCallBack";
static String TypeBluetoothChange = "onBleState";
static String TypeScaleData = "onReceiveWeightData";
static String TypeCoordData = "onReceiveCoordData";
static String TypeScaleStepData = "onReceiveMeasureStepData";
static String TypeScaleCenterData = "onReceiveWeightCenterData";
static String TypeScaleHistoryData = "onReceiveWeightHistoryData";
static String TypeScaleUnitChange = "onReceiveWeightUnitChanged";
static String TypeRulerData = "onReceiveRulerData";
static String RulerHistoryData = "onReceiveRulerHistoryData";
static String TypeRulerUnitChange = "onReceiveRulerUnitChanged";
static String TypeRulerModeChange = "onReceiveRulerMeasureModeChanged";
static String TypeKitchenData = "onReceiveKitchenScaleData";
static String TypeSkipData = "onReceiveSkipData";
static String TypeDeviceInfo = "onReceiveDeviceInfo";
static String TypeSkipBattery = "onReceiveSkipBattery";
static String TypeSkipHistoryData = "onReceiveHistorySkipData";
static String TypeHrData = "onReceiveHrData";
static String TypeDebugData = "TypeDebugData";
static String TypeConnectChange = "onDeviceConnectionChanged";
static String onNodeConnectionChanged = "onNodeConnectionChanged";
static String KitchenScaleUnitChanged = "onReceiveKitchenScaleUnitChanged";
}

View File

@@ -0,0 +1,23 @@
package cn.icomon.icdevicemanager.flutter;
public class ISkipData {
public boolean isStabilized;
public int nodeId;
public int battery;
public int nodeInfo;
public int time = 0;
public String mode;
public int setting;
public int elapsed_time;
public int actual_time;
public int skip_count;
public int avg_freq;
public int fastest_freq;
public int freq_count;
public int most_jump;
public double calories_burned;
public double fat_burn_efficiency;
public String freqs;
}

View File

@@ -0,0 +1,18 @@
package cn.icomon.icdevicemanager.flutter;
public class SkipLightSettingData {
public int r;
public int g;
public int b;
public int rpm;
@Override
public String toString() {
return "SkipLightSettingData{" +
"r=" + r +
", g=" + g +
", b=" + b +
", rpm=" + rpm +
'}';
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

95
gsf/.gitignore vendored Normal file
View File

@@ -0,0 +1,95 @@
<<<<<<< HEAD
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/
# Web related
lib/generated_plugin_registrant.dart
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
=======
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/
# Web related
lib/generated_plugin_registrant.dart
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
>>>>>>> bf782164e8554ef4207be582358b5a6a35902fc7

30
gsf/.metadata Normal file
View File

@@ -0,0 +1,30 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
version:
revision: 7048ed95a5ad3e43d697e0c397464193991fc230
channel: stable
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 7048ed95a5ad3e43d697e0c397464193991fc230
base_revision: 7048ed95a5ad3e43d697e0c397464193991fc230
- platform: android
create_revision: 7048ed95a5ad3e43d697e0c397464193991fc230
base_revision: 7048ed95a5ad3e43d697e0c397464193991fc230
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'

14
gsf/README.md Normal file
View File

@@ -0,0 +1,14 @@
A new Flutter project.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.

29
gsf/analysis_options.yaml Normal file
View File

@@ -0,0 +1,29 @@
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.
# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at
# https://dart-lang.github.io/linter/lints/index.html.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

13
gsf/android/.gitignore vendored Normal file
View File

@@ -0,0 +1,13 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
**/*.keystore
**/*.jks

View File

@@ -0,0 +1,13 @@
arguments=--init-script /var/folders/q9/5h6ys3_x50l83ldgtll0fvd80000gn/T/d146c9752a26f79b52047fb6dc6ed385d064e120494f96f08ca63a317c41f94c.gradle --init-script /var/folders/q9/5h6ys3_x50l83ldgtll0fvd80000gn/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle
auto.sync=false
build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
java.home=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
jvm.arguments=
offline.mode=false
override.workspace.settings=true
show.console.view=true
show.executions.view=true

View File

@@ -0,0 +1,116 @@
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
// def keystorePropertiesFile = rootProject.file("key.properties")
// def keystoreProperties = new Properties()
// keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 34
ndkVersion flutter.ndkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.getsetfit.gsf"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 26
targetSdkVersion 33
versionCode 14//flutterVersionCode.toInteger()//3
versionName "1.0"//flutterVersionName //"1.0"
manifestPlaceholders['foregroundServiceType'] = 'health'
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
// signingConfig signingConfigs.debug
signingConfig signingConfigs.release
shrinkResources false // this line
minifyEnabled false // this line
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
// buildTypes {
// release {
// // TODO: Add your own signing config for the release build.
// // Signing with the debug keys for now, so `flutter run --release` works.
// signingConfig signingConfigs.debug
// // signingConfig signingConfigs.release
// shrinkResources false // this line
// minifyEnabled false // this line
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// }
// }
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation platform('com.google.firebase:firebase-bom:31.3.0')
// Add the dependencies for the Crashlytics and Analytics libraries
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation("com.google.firebase:firebase-crashlytics")
implementation("com.google.firebase:firebase-analytics")
}

View File

@@ -0,0 +1,39 @@
{
"project_info": {
"project_number": "751933368781",
"project_id": "gsf-live",
"storage_bucket": "gsf-live.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:751933368781:android:020c5f5f7ec8ea880dfc84",
"android_client_info": {
"package_name": "com.getsetfit.gsf"
}
},
"oauth_client": [
{
"client_id": "751933368781-v8k9ajguhps61ged7eis0ol1olflhfhv.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDd4MVv-SL6rw3t7aYtCW74_lA_GBMwJ_g"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "751933368781-v8k9ajguhps61ged7eis0ol1olflhfhv.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

View File

@@ -0,0 +1,39 @@
{
"project_info": {
"project_number": "651220635880",
"project_id": "gsf-onesignal-6f89f",
"storage_bucket": "gsf-onesignal-6f89f.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:651220635880:android:24aee68602d1ef9f35395d",
"android_client_info": {
"package_name": "com.getsetfit.gsf"
}
},
"oauth_client": [
{
"client_id": "651220635880-cp0s67o4mqui86pi44ulmld30mds77eb.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCFMQh30hzQwPOBITe1zv-Aeya_Z5j94hg"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "651220635880-cp0s67o4mqui86pi44ulmld30mds77eb.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

10
gsf/android/app/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,10 @@
-keep class com.android.library.dataModels.** { *; }
-keep class com.android.library.publicInterface.** { *; }
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class io.flutter.embedding.** { *; }
-dontwarn io.flutter.embedding.**

View File

@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.getsetfit.gsf">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

View File

@@ -0,0 +1,160 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.getsetfit.gsf">
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_TYPE_HEALTH"/>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission
android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.VIBRATE"/>
<uses-permission
android:name="android.permission.USE_BIOMETRIC"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.CAMERA"/>
<uses-feature
android:name="android.hardware.camera"/>
<uses-feature
android:name="android.hardware.camera.autofocus"/>
<!-- New Bluetooth permissions in Android 12
https://developer.android.com/about/versions/12/features/bluetooth-permissions -->
<uses-permission
android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation"/>
<uses-permission
android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
android:maxSdkVersion="30"/>
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->
<!-- legacy for Android 11 or lower -->
<uses-permission
android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30"/>
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion="30"/>
<!-- legacy for Android 9 or lower -->
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- gfetuegute -->
<!-- legacy for Android 11 or lower -->
<uses-feature
android:name="android.hardware.bluetooth_le"
android:required="true"/>
<application
android:label="GetSetFit"
android:name="${applicationName}"
android:usesCleartextTraffic="true"
android:icon="@mipmap/ic_launcher">
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action
android:name="android.intent.action.VIEW"/>
<category
android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="https"/>
</intent-filter>
<!--short videos deep link-->
<!-- <meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="getsetfit.page.link" />
<data android:scheme="https" />
</intent-filter> -->
<!-- Branch URI Scheme -->
<intent-filter>
<!-- If utilizing $deeplink_path please explicitly declare your hosts, or utilize a wildcard(*) -->
<data
android:scheme="gsf"
android:host="open"/>
<action
android:name="android.intent.action.VIEW"/>
<category
android:name="android.intent.category.DEFAULT"/>
<category
android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
<!-- Branch App Links - Live App -->
<intent-filter
android:autoVerify="true">
<action
android:name="android.intent.action.VIEW"/>
<category
android:name="android.intent.category.DEFAULT"/>
<category
android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="https"
android:host="gsf019y3.app.link"/>
<!-- example-alternate domain is required for App Links when the Journeys/Web SDK and Deepviews are used inside your website. -->
<data
android:scheme="https"
android:host="gsf019y3-alternate.app.link"/>
</intent-filter>
<!-- Branch App Links - Test App -->
<intent-filter
android:autoVerify="true">
<action
android:name="android.intent.action.VIEW"/>
<category
android:name="android.intent.category.DEFAULT"/>
<category
android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="https"
android:host="gsf019y3.app.link"/>
<!-- example-alternate domain is required for App Links when the Journeys/Web SDK and Deepviews are used inside your website. -->
<data
android:scheme="https"
android:host="gsf019y3-alternate.app.link"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2"/>
<!-- Branch init -->
<meta-data
android:name="io.branch.sdk.BranchKey"
android:value="key_live_oEih3MwUt9Gn9S0LKaoG6jfovAedOTUv"/>
<meta-data
android:name="io.branch.sdk.BranchKey.test"
android:value="key_test_hlxrWC5Zx16DkYmWu4AHiimdqugRYMr"/>
<meta-data
android:name="io.branch.sdk.TestMode"
android:value="false"/>
<!-- Set to true to use Branch_Test_Key (useful when simulating installs and/or switching between debug and production flavors) -->
</application>
</manifest>

View File

@@ -0,0 +1,7 @@
package com.getsetfit.gsf
import io.flutter.embedding.android.FlutterFragmentActivity
class MainActivity: FlutterFragmentActivity() {
// ...
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
</layer-list>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
</layer-list>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.getsetfit.gsf">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

34
gsf/android/build.gradle Normal file
View File

@@ -0,0 +1,34 @@
buildscript {
ext.kotlin_version = '1.8.0'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.15'
// Add the dependency for the Crashlytics Gradle plugin
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}

View File

@@ -0,0 +1,3 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true

View File

@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

View File

@@ -0,0 +1,11 @@
include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

BIN
gsf/assets/audio/nature.mp3 Normal file

Binary file not shown.

198
gsf/assets/audio/sample.pdf Normal file
View File

@@ -0,0 +1,198 @@
%PDF-1.3
%<25><><EFBFBD><EFBFBD>
1 0 obj
<<
/Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>>
endobj
2 0 obj
<<
/Type /Outlines
/Count 0
>>
endobj
3 0 obj
<<
/Type /Pages
/Count 2
/Kids [ 4 0 R 6 0 R ]
>>
endobj
4 0 obj
<<
/Type /Page
/Parent 3 0 R
/Resources <<
/Font <<
/F1 9 0 R
>>
/ProcSet 8 0 R
>>
/MediaBox [0 0 612.0000 792.0000]
/Contents 5 0 R
>>
endobj
5 0 obj
<< /Length 1074 >>
stream
2 J
BT
0 0 0 rg
/F1 0027 Tf
57.3750 722.2800 Td
( A Simple PDF File ) Tj
ET
BT
/F1 0010 Tf
69.2500 688.6080 Td
( This is a small demonstration .pdf file - ) Tj
ET
BT
/F1 0010 Tf
69.2500 664.7040 Td
( just for use in the Virtual Mechanics tutorials. More text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 652.7520 Td
( text. And more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 628.8480 Td
( And more text. And more text. And more text. And more text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 616.8960 Td
( text. And more text. Boring, zzzzz. And more text. And more text. And ) Tj
ET
BT
/F1 0010 Tf
69.2500 604.9440 Td
( more text. And more text. And more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 592.9920 Td
( And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 569.0880 Td
( And more text. And more text. And more text. And more text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 557.1360 Td
( text. And more text. And more text. Even more. Continued on page 2 ...) Tj
ET
endstream
endobj
6 0 obj
<<
/Type /Page
/Parent 3 0 R
/Resources <<
/Font <<
/F1 9 0 R
>>
/ProcSet 8 0 R
>>
/MediaBox [0 0 612.0000 792.0000]
/Contents 7 0 R
>>
endobj
7 0 obj
<< /Length 676 >>
stream
2 J
BT
0 0 0 rg
/F1 0027 Tf
57.3750 722.2800 Td
( Simple PDF File 2 ) Tj
ET
BT
/F1 0010 Tf
69.2500 688.6080 Td
( ...continued from page 1. Yet more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 676.6560 Td
( And more text. And more text. And more text. And more text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 664.7040 Td
( text. Oh, how boring typing this stuff. But not as boring as watching ) Tj
ET
BT
/F1 0010 Tf
69.2500 652.7520 Td
( paint dry. And more text. And more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 640.8000 Td
( Boring. More, a little more text. The end, and just as well. ) Tj
ET
endstream
endobj
8 0 obj
[/PDF /Text]
endobj
9 0 obj
<<
/Type /Font
/Subtype /Type1
/Name /F1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
10 0 obj
<<
/Creator (Rave \(http://www.nevrona.com/rave\))
/Producer (Nevrona Designs)
/CreationDate (D:20060301072826)
>>
endobj
xref
0 11
0000000000 65535 f
0000000019 00000 n
0000000093 00000 n
0000000147 00000 n
0000000222 00000 n
0000000390 00000 n
0000001522 00000 n
0000001690 00000 n
0000002423 00000 n
0000002456 00000 n
0000002574 00000 n
trailer
<<
/Size 11
/Root 1 0 R
/Info 10 0 R
>>
startxref
2714
%%EOF

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
gsf/assets/image/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,7 @@
<svg width="23" height="14" viewBox="0 0 23 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group 11467">
<g id="Group">
<path id="Vector" d="M19.4524 0.000549542C19.3867 0.00361454 19.3223 0.0195855 19.2628 0.04755C19.2033 0.0755145 19.1499 0.114925 19.1056 0.16353C19.0614 0.212136 19.0271 0.268984 19.0048 0.330829C18.9825 0.392674 18.9726 0.458304 18.9757 0.523971C18.9788 0.589638 18.9948 0.654055 19.0228 0.713544C19.0507 0.773033 19.0902 0.826428 19.1388 0.87068C19.1874 0.914932 19.2442 0.949174 19.3061 0.971451C19.3679 0.993727 19.4336 1.0036 19.4992 1.00051H21.4132L16.0384 7.92211C15.7952 7.81613 15.5302 7.75025 15.2494 7.75025C14.7492 7.75025 14.2889 7.94294 13.937 8.25023L10.8824 6.16437C10.956 5.9568 10.9996 5.73207 10.9996 5.50033C10.9996 4.40173 10.0983 3.50041 8.99965 3.50041C7.90104 3.50041 6.99973 4.40173 6.99973 5.50033C6.99973 5.84365 7.08735 6.17013 7.2419 6.45342L3.078 10.3205C2.76636 10.1194 2.39569 10.0002 1.99992 10.0002C0.901317 10.0002 0 10.9015 0 12.0001C0 13.0987 0.901317 14 1.99992 14C3.09853 14 3.99984 13.0987 3.99984 12.0001C3.99984 11.6529 3.90763 11.3325 3.74985 11.047L7.92156 7.17996C8.23321 7.38098 8.60388 7.50026 8.99965 7.50026C9.50583 7.50026 9.97417 7.31409 10.3277 7.00028L13.3745 9.07051C13.2956 9.28458 13.2495 9.50985 13.2495 9.75017C13.2495 10.8488 14.1508 11.7501 15.2494 11.7501C16.348 11.7501 17.2493 10.8488 17.2493 9.75017C17.2493 9.29315 17.0887 8.87733 16.8275 8.53928L21.9991 1.8911V3.50041C21.9982 3.56667 22.0104 3.63245 22.0351 3.69393C22.0599 3.75541 22.0965 3.81137 22.1431 3.85855C22.1896 3.90574 22.245 3.9432 22.3061 3.96877C22.3673 3.99435 22.4329 4.00752 22.4991 4.00752C22.5654 4.00752 22.631 3.99435 22.6921 3.96877C22.7532 3.9432 22.8087 3.90574 22.8552 3.85855C22.9017 3.81137 22.9384 3.75541 22.9631 3.69393C22.9878 3.63245 23 3.56667 22.9991 3.50041V0.50053C22.9991 0.367931 22.9464 0.240767 22.8526 0.147005C22.7589 0.0532437 22.6317 0.000562813 22.4991 0.000549542H19.4992C19.4836 -0.000183181 19.468 -0.000183181 19.4524 0.000549542ZM8.99965 4.50037C9.55783 4.50037 9.99961 4.94215 9.99961 5.50033C9.99961 6.05852 9.55783 6.50029 8.99965 6.50029C8.44147 6.50029 7.99969 6.05852 7.99969 5.50033C7.99969 4.94215 8.44146 4.50037 8.99965 4.50037ZM15.2494 8.75021C15.8076 8.75021 16.2494 9.19199 16.2494 9.75017C16.2494 10.3083 15.8076 10.7501 15.2494 10.7501C14.6912 10.7501 14.2494 10.3083 14.2494 9.75017C14.2494 9.19199 14.6912 8.75021 15.2494 8.75021ZM1.99992 11.0001C2.55811 11.0001 2.99988 11.4419 2.99988 12.0001C2.99988 12.5583 2.55811 13 1.99992 13C1.44174 13 0.999961 12.5583 0.999961 12.0001C0.999961 11.4419 1.44174 11.0001 1.99992 11.0001Z" fill="black"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,5 @@
<svg width="21" height="18" viewBox="0 0 21 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group 11468">
<path id="Vector" d="M18.0854 9.70482V1.8802C18.0854 1.50685 17.7827 1.20412 17.4093 1.20412H14.5359V0.676084C14.5359 0.302737 14.2332 0 13.8599 0C13.4865 0 13.1838 0.302737 13.1838 0.676084V1.20412H9.71884V0.676084C9.71884 0.302737 9.41615 0 9.04276 0C8.66937 0 8.36668 0.302737 8.36668 0.676084V1.20412H4.90174V0.676084C4.90174 0.302737 4.599 0 4.22562 0C3.85227 0 3.54957 0.302737 3.54957 0.676084V1.20412H0.676084C0.302737 1.20412 0 1.50685 0 1.8802V15.3597C0 15.7331 0.302737 16.0358 0.676084 16.0358H11.9562C12.7676 17.2207 14.13 18 15.6714 18C18.1529 18 20.1716 15.9812 20.1716 13.4998C20.1716 11.9063 19.3384 10.5047 18.0854 9.70482ZM1.35217 2.55628H3.54957V3.08431C3.54957 3.4577 3.85227 3.7604 4.22562 3.7604C4.599 3.7604 4.90174 3.4577 4.90174 3.08431V2.55628H8.36668V3.08431C8.36668 3.4577 8.66937 3.7604 9.04276 3.7604C9.41615 3.7604 9.71884 3.4577 9.71884 3.08431V2.55628H13.1838V3.08431C13.1838 3.4577 13.4865 3.7604 13.8599 3.7604C14.2332 3.7604 14.5359 3.4577 14.5359 3.08431V2.55628H16.7333V4.9226H1.35217V2.55628ZM11.3296 14.6836H1.35217V6.27477H16.7333V9.12667C16.7235 9.1243 16.7135 9.12273 16.7037 9.12044C16.6355 9.10437 16.5669 9.08984 16.4976 9.07692C16.4792 9.0735 16.4608 9.07025 16.4423 9.06703C16.377 9.0557 16.3113 9.04589 16.2451 9.03744C16.2245 9.03478 16.2039 9.03191 16.1832 9.02954C16.1179 9.0221 16.0522 9.01642 15.9861 9.01182C15.966 9.01041 15.946 9.00836 15.9259 9.00723C15.8416 9.00249 15.7569 8.9996 15.6714 8.9996C13.19 8.9996 11.1712 11.0184 11.1712 13.4998C11.1712 13.5922 11.1749 13.6837 11.1804 13.7748C11.1818 13.798 11.1839 13.8212 11.1857 13.8444C11.1913 13.9174 11.1986 13.9898 11.2076 14.0618C11.2101 14.0819 11.2124 14.102 11.2152 14.1221C11.241 14.3078 11.278 14.4899 11.3258 14.6677C11.3273 14.6729 11.3282 14.6783 11.3296 14.6836ZM15.6714 16.6478C14.4782 16.6478 13.438 15.9805 12.9042 14.9996L12.9032 14.9977C12.8585 14.9153 12.8181 14.8302 12.7807 14.7436C12.776 14.7329 12.7711 14.7223 12.7666 14.7115C12.7311 14.6267 12.6994 14.54 12.6713 14.4517C12.6659 14.4346 12.6613 14.4173 12.6562 14.4001C12.6337 14.325 12.6142 14.2488 12.5973 14.1715C12.5933 14.1532 12.5886 14.135 12.5849 14.1166C12.5675 14.0292 12.5542 13.9404 12.5442 13.8506C12.5417 13.8284 12.5398 13.8061 12.5378 13.7839C12.5294 13.6902 12.5234 13.5957 12.5234 13.4998C12.5234 11.764 13.9355 10.3518 15.6714 10.3518C15.7729 10.3518 15.8731 10.3576 15.9722 10.367C15.9829 10.368 15.9936 10.3687 16.0043 10.3698C16.1032 10.3802 16.2007 10.3951 16.2967 10.4145C16.3026 10.4157 16.3085 10.417 16.3145 10.4183C17.7429 10.716 18.8194 11.9844 18.8194 13.4998C18.8194 15.2356 17.4073 16.6478 15.6714 16.6478ZM16.3475 11.3763V13.4998C16.3475 13.6791 16.2763 13.851 16.1495 13.9778L15.3232 14.8041C15.1912 14.9361 15.0181 15.0022 14.8451 15.0022C14.6721 15.0022 14.4991 14.9361 14.367 14.8041C14.103 14.5402 14.103 14.112 14.367 13.8481L14.9953 13.2197V11.3763C14.9953 11.0029 15.2981 10.7002 15.6714 10.7002C16.0448 10.7002 16.3475 11.0029 16.3475 11.3763Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Some files were not shown because too many files have changed in this diff Show More