From 44bedc1cb4519d222b340f06ab35ff8e3d0aa0b3 Mon Sep 17 00:00:00 2001 From: JianYe Date: Tue, 6 Apr 2021 22:56:10 +0800 Subject: [PATCH] add null safety --- .dart_tool/package_config.json | 296 ++++++++++-------- .gitignore | 5 +- .packages | 118 +++---- example/.flutter-plugins-dependencies | 2 +- .../ios/Flutter/flutter_export_environment.sh | 10 +- example/lib/main.dart | 6 +- example/pubspec.lock | 197 ++++++------ example/pubspec.yaml | 8 +- lib/jpush_flutter.dart | 75 +++-- pubspec.lock | 223 +++++++------ pubspec.yaml | 8 +- test/jpush_flutter_test.dart | 117 +++---- 12 files changed, 588 insertions(+), 477 deletions(-) diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index 5a7cfcab..93b6a16e 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -1,344 +1,374 @@ { "configVersion": 2, "packages": [ + { + "name": "_fe_analyzer_shared", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/_fe_analyzer_shared-19.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, { "name": "analyzer", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/analyzer-0.37.0", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/analyzer-1.3.0", "packageUri": "lib/", - "languageVersion": "2.2" + "languageVersion": "2.12" }, { "name": "args", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.5.2", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-2.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "async", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.3.0", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "boolean_selector", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-1.0.5", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "build", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/build-2.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" + }, + { + "name": "built_collection", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/built_collection-5.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "built_value", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/built_value-8.0.4", + "packageUri": "lib/", + "languageVersion": "2.12" }, { "name": "characters", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0", "packageUri": "lib/", - "languageVersion": "2.10" + "languageVersion": "2.12" }, { "name": "charcode", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.1.2", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "cli_util", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/cli_util-0.3.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "code_builder", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/code_builder-3.7.0", "packageUri": "lib/", - "languageVersion": "1.0" + "languageVersion": "2.7" }, { "name": "collection", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0", "packageUri": "lib/", - "languageVersion": "2.10" + "languageVersion": "2.12" }, { "name": "convert", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-3.0.0", "packageUri": "lib/", - "languageVersion": "1.17" + "languageVersion": "2.12" }, { - "name": "crypto", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.0.6", + "name": "coverage", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/coverage-1.0.2", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { - "name": "csslib", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/csslib-0.16.1", + "name": "crypto", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-3.0.1", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" }, { - "name": "flutter", - "rootUri": "file:///Applications/flutter/packages/flutter", + "name": "dart_style", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/dart_style-2.0.0", "packageUri": "lib/", - "languageVersion": "2.10" + "languageVersion": "2.12" }, { - "name": "front_end", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/front_end-0.1.20", + "name": "file", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-6.1.0", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" }, { - "name": "glob", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/glob-1.1.7", + "name": "fixnum", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/fixnum-1.0.0", "packageUri": "lib/", - "languageVersion": "1.23" + "languageVersion": "2.12" }, { - "name": "html", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/html-0.14.0+2", + "name": "flutter", + "rootUri": "file:///Applications/flutter/packages/flutter", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { - "name": "http", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.0+2", + "name": "glob", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/glob-2.0.1", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "http_multi_server", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_multi_server-2.1.0", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_multi_server-3.0.0", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" }, { "name": "http_parser", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "io", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/io-0.3.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/io-1.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "js", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/js-0.6.1+1", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/js-0.6.3", "packageUri": "lib/", - "languageVersion": "1.19" + "languageVersion": "2.12" }, { - "name": "kernel", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/kernel-0.3.20", + "name": "logging", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/logging-1.0.1", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "matcher", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.5", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "meta", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0", "packageUri": "lib/", - "languageVersion": "2.10" + "languageVersion": "2.12" }, { "name": "mime", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mime-0.9.6+3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mime-1.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "mockito", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mockito-3.0.2", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mockito-5.0.3", "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "multi_server_socket", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/multi_server_socket-1.0.2", - "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "node_preamble", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/node_preamble-1.4.5", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/node_preamble-2.0.0", "packageUri": "lib/", - "languageVersion": "1.24" + "languageVersion": "2.12" }, { "name": "package_config", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_config-1.0.5", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "package_resolver", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_resolver-1.0.10", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_config-2.0.0", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" }, { "name": "path", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.6.2", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "pedantic", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.8.0+1", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.11.0", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" }, { "name": "platform", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.0", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-3.0.0", "packageUri": "lib/", - "languageVersion": "1.24" + "languageVersion": "2.12" }, { "name": "pool", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pool-1.4.0", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pool-1.5.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "pub_semver", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pub_semver-1.4.2", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pub_semver-2.0.0", "packageUri": "lib/", - "languageVersion": "1.0" + "languageVersion": "2.12" }, { "name": "shelf", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf-0.7.5", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf-1.1.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "shelf_packages_handler", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_packages_handler-1.0.4", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_packages_handler-3.0.0", "packageUri": "lib/", - "languageVersion": "1.22" + "languageVersion": "2.12" }, { "name": "shelf_static", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_static-0.2.8", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_static-1.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "shelf_web_socket", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_web_socket-0.2.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_web_socket-1.0.1", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "sky_engine", "rootUri": "file:///Applications/flutter/bin/cache/pkg/sky_engine", "packageUri": "lib/", - "languageVersion": "1.11" + "languageVersion": "2.12" + }, + { + "name": "source_gen", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_gen-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" }, { "name": "source_map_stack_trace", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_map_stack_trace-1.1.5", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_map_stack_trace-2.1.0", "packageUri": "lib/", - "languageVersion": "1.8" + "languageVersion": "2.12" }, { "name": "source_maps", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_maps-0.10.8", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_maps-0.10.10", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "source_span", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.5.5", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1", "packageUri": "lib/", - "languageVersion": "1.8" + "languageVersion": "2.12" }, { "name": "stack_trace", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.9.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0", "packageUri": "lib/", - "languageVersion": "1.23" + "languageVersion": "2.12" }, { "name": "stream_channel", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.0.0", - "packageUri": "lib/", - "languageVersion": "2.0" - }, - { - "name": "stream_transform", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_transform-0.0.19", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0", "packageUri": "lib/", - "languageVersion": "2.2" + "languageVersion": "2.12" }, { "name": "string_scanner", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.4", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0", "packageUri": "lib/", - "languageVersion": "1.8" + "languageVersion": "2.12" }, { "name": "term_glyph", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.1.0", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0", "packageUri": "lib/", - "languageVersion": "1.8" + "languageVersion": "2.12" }, { "name": "test", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test-1.6.5", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test-1.16.8", "packageUri": "lib/", - "languageVersion": "2.2" + "languageVersion": "2.12" }, { "name": "test_api", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.6", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.3.0", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" }, { "name": "test_core", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_core-0.2.7", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_core-0.3.19", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" }, { "name": "typed_data", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0", "packageUri": "lib/", - "languageVersion": "2.10" + "languageVersion": "2.12" }, { "name": "vector_math", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0", "packageUri": "lib/", - "languageVersion": "2.10" + "languageVersion": "2.12" }, { - "name": "vm_service_lib", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vm_service_lib-3.22.2", + "name": "vm_service", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vm_service-6.2.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "watcher", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/watcher-0.9.7+12", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/watcher-1.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "web_socket_channel", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/web_socket_channel-1.0.14", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/web_socket_channel-2.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "webkit_inspection_protocol", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/webkit_inspection_protocol-1.0.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "yaml", - "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/yaml-2.1.16", + "rootUri": "file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/yaml-3.1.0", "packageUri": "lib/", - "languageVersion": "2.0" + "languageVersion": "2.12" }, { "name": "jpush_flutter", "rootUri": "../", "packageUri": "lib/", - "languageVersion": "2.1" + "languageVersion": "2.12" } ], - "generated": "2021-01-26T08:47:21.076726Z", + "generated": "2021-04-06T14:52:49.208804Z", "generator": "pub", - "generatorVersion": "2.10.4" + "generatorVersion": "2.12.2" } diff --git a/.gitignore b/.gitignore index b9e999a9..36a7ca80 100644 --- a/.gitignore +++ b/.gitignore @@ -144,4 +144,7 @@ fastlane/report.xml fastlane/Preview.html fastlane/screenshots fastlane/test_output -fastlane/readme.md \ No newline at end of file +fastlane/readme.md + +.dart_tool/ +.packages \ No newline at end of file diff --git a/.packages b/.packages index ea443365..f404fe8b 100644 --- a/.packages +++ b/.packages @@ -1,57 +1,67 @@ -# Generated by pub on 2021-01-26 16:47:21.044882. -analyzer:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/analyzer-0.37.0/lib/ -args:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.5.2/lib/ -async:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.3.0/lib/ -boolean_selector:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-1.0.5/lib/ -characters:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0-nullsafety.3/lib/ -charcode:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.1.2/lib/ -collection:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0-nullsafety.3/lib/ -convert:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1/lib/ -crypto:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.0.6/lib/ -csslib:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/csslib-0.16.1/lib/ +# This file is deprecated. Tools should instead consume +# `.dart_tools/package_config.json`. +# +# For more info see: https://dart.dev/go/dot-packages-deprecation +# +# Generated by pub on 2021-04-06 22:56:35.095745. +_fe_analyzer_shared:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/_fe_analyzer_shared-19.0.0/lib/ +analyzer:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/analyzer-1.3.0/lib/ +args:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-2.0.0/lib/ +async:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.5.0/lib/ +boolean_selector:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-2.1.0/lib/ +build:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/build-2.0.0/lib/ +built_collection:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/built_collection-5.0.0/lib/ +built_value:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/built_value-8.0.4/lib/ +characters:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/characters-1.1.0/lib/ +charcode:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.2.0/lib/ +cli_util:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/cli_util-0.3.0/lib/ +code_builder:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/code_builder-3.7.0/lib/ +collection:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.15.0/lib/ +convert:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-3.0.0/lib/ +coverage:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/coverage-1.0.2/lib/ +crypto:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-3.0.1/lib/ +dart_style:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/dart_style-2.0.0/lib/ +file:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/file-6.1.0/lib/ +fixnum:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/fixnum-1.0.0/lib/ flutter:file:///Applications/flutter/packages/flutter/lib/ -front_end:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/front_end-0.1.20/lib/ -glob:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/glob-1.1.7/lib/ -html:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/html-0.14.0+2/lib/ -http:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.0+2/lib/ -http_multi_server:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_multi_server-2.1.0/lib/ -http_parser:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.3/lib/ -io:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/io-0.3.3/lib/ -js:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/js-0.6.1+1/lib/ -kernel:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/kernel-0.3.20/lib/ -matcher:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.5/lib/ -meta:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0-nullsafety.3/lib/ -mime:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mime-0.9.6+3/lib/ -mockito:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mockito-3.0.2/lib/ -multi_server_socket:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/multi_server_socket-1.0.2/lib/ -node_preamble:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/node_preamble-1.4.5/lib/ -package_config:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_config-1.0.5/lib/ -package_resolver:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_resolver-1.0.10/lib/ -path:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.6.2/lib/ -pedantic:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.8.0+1/lib/ -platform:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.0/lib/ -pool:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pool-1.4.0/lib/ -pub_semver:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pub_semver-1.4.2/lib/ -shelf:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf-0.7.5/lib/ -shelf_packages_handler:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_packages_handler-1.0.4/lib/ -shelf_static:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_static-0.2.8/lib/ -shelf_web_socket:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_web_socket-0.2.3/lib/ +glob:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/glob-2.0.1/lib/ +http_multi_server:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_multi_server-3.0.0/lib/ +http_parser:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-4.0.0/lib/ +io:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/io-1.0.0/lib/ +js:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/js-0.6.3/lib/ +logging:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/logging-1.0.1/lib/ +matcher:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.10/lib/ +meta:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.3.0/lib/ +mime:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mime-1.0.0/lib/ +mockito:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/mockito-5.0.3/lib/ +node_preamble:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/node_preamble-2.0.0/lib/ +package_config:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/package_config-2.0.0/lib/ +path:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.8.0/lib/ +pedantic:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.11.0/lib/ +platform:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-3.0.0/lib/ +pool:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pool-1.5.0/lib/ +pub_semver:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/pub_semver-2.0.0/lib/ +shelf:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf-1.1.0/lib/ +shelf_packages_handler:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_packages_handler-3.0.0/lib/ +shelf_static:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_static-1.0.0/lib/ +shelf_web_socket:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/shelf_web_socket-1.0.1/lib/ sky_engine:file:///Applications/flutter/bin/cache/pkg/sky_engine/lib/ -source_map_stack_trace:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_map_stack_trace-1.1.5/lib/ -source_maps:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_maps-0.10.8/lib/ -source_span:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.5.5/lib/ -stack_trace:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.9.3/lib/ -stream_channel:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.0.0/lib/ -stream_transform:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_transform-0.0.19/lib/ -string_scanner:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.4/lib/ -term_glyph:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.1.0/lib/ -test:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test-1.6.5/lib/ -test_api:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.6/lib/ -test_core:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_core-0.2.7/lib/ -typed_data:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0-nullsafety.3/lib/ -vector_math:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0-nullsafety.3/lib/ -vm_service_lib:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vm_service_lib-3.22.2/lib/ -watcher:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/watcher-0.9.7+12/lib/ -web_socket_channel:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/web_socket_channel-1.0.14/lib/ -yaml:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/yaml-2.1.16/lib/ +source_gen:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_gen-1.0.0/lib/ +source_map_stack_trace:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_map_stack_trace-2.1.0/lib/ +source_maps:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_maps-0.10.10/lib/ +source_span:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.8.1/lib/ +stack_trace:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.10.0/lib/ +stream_channel:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.1.0/lib/ +string_scanner:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.1.0/lib/ +term_glyph:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.2.0/lib/ +test:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test-1.16.8/lib/ +test_api:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.3.0/lib/ +test_core:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_core-0.3.19/lib/ +typed_data:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.3.0/lib/ +vector_math:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.1.0/lib/ +vm_service:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/vm_service-6.2.0/lib/ +watcher:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/watcher-1.0.0/lib/ +web_socket_channel:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/web_socket_channel-2.0.0/lib/ +webkit_inspection_protocol:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/webkit_inspection_protocol-1.0.0/lib/ +yaml:file:///Applications/flutter/.pub-cache/hosted/pub.flutter-io.cn/yaml-3.1.0/lib/ jpush_flutter:lib/ diff --git a/example/.flutter-plugins-dependencies b/example/.flutter-plugins-dependencies index 89f444b6..a010d42d 100644 --- a/example/.flutter-plugins-dependencies +++ b/example/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"jpush_flutter","path":"/Users/raoxudong/JPush/jpush-github/jpush-flutter-plugin/","dependencies":[]}],"android":[{"name":"jpush_flutter","path":"/Users/raoxudong/JPush/jpush-github/jpush-flutter-plugin/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"jpush_flutter","dependencies":[]}],"date_created":"2021-01-26 16:47:22.148262","version":"1.22.5"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"jpush_flutter","path":"/Users/jianye/Documents/flutter-workspace/jpush-flutter-plugin/","dependencies":[]}],"android":[{"name":"jpush_flutter","path":"/Users/jianye/Documents/flutter-workspace/jpush-flutter-plugin/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"jpush_flutter","dependencies":[]}],"date_created":"2021-04-06 22:56:35.813491","version":"2.0.4"} \ No newline at end of file diff --git a/example/ios/Flutter/flutter_export_environment.sh b/example/ios/Flutter/flutter_export_environment.sh index fab0f04f..a365928a 100755 --- a/example/ios/Flutter/flutter_export_environment.sh +++ b/example/ios/Flutter/flutter_export_environment.sh @@ -1,15 +1,13 @@ #!/bin/sh # This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/Applications/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/raoxudong/JPush/jpush-github/jpush-flutter-plugin/example" -export "FLUTTER_TARGET=/Users/raoxudong/JPush/jpush-github/jpush-flutter-plugin/example/lib/main.dart" +export "FLUTTER_ROOT=/Users/jianye/flutter" +export "FLUTTER_APPLICATION_PATH=/Users/jianye/Documents/flutter-workspace/jpush-flutter-plugin/example" +export "FLUTTER_TARGET=lib/main.dart" export "FLUTTER_BUILD_DIR=build" export "SYMROOT=${SOURCE_ROOT}/../build/ios" -export "OTHER_LDFLAGS=$(inherited) -framework Flutter" -export "FLUTTER_FRAMEWORK_DIR=/Applications/flutter/bin/cache/artifacts/engine/ios" export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NUMBER=1" export "DART_OBFUSCATION=false" -export "TRACK_WIDGET_CREATION=true" +export "TRACK_WIDGET_CREATION=false" export "TREE_SHAKE_ICONS=false" export "PACKAGE_CONFIG=.packages" diff --git a/example/lib/main.dart b/example/lib/main.dart index 84789951..c89d63b4 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -12,7 +12,7 @@ class MyApp extends StatefulWidget { } class _MyAppState extends State { - String debugLable = 'Unknown'; + String? debugLable = 'Unknown'; final JPush jpush = new JPush(); @override @@ -23,7 +23,7 @@ class _MyAppState extends State { // Platform messages are asynchronous, so we initialize in an async method. Future initPlatformState() async { - String platformVersion; + String? platformVersion; try { jpush.addEventHandler( @@ -332,7 +332,7 @@ class CustomButton extends StatelessWidget { final VoidCallback onPressed; final String title; - const CustomButton({@required this.onPressed, @required this.title}); + const CustomButton({required this.onPressed, required this.title}); @override Widget build(BuildContext context) { diff --git a/example/pubspec.lock b/example/pubspec.lock index f1fc05a6..d112bc61 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -7,14 +7,14 @@ packages: name: _fe_analyzer_shared url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.0" + version: "19.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.flutter-io.cn" source: hosted - version: "0.39.8" + version: "1.3.0" args: dependency: transitive description: @@ -28,84 +28,133 @@ packages: name: async url: "https://pub.flutter-io.cn" source: hosted - version: "2.5.0-nullsafety.1" + version: "2.5.0" boolean_selector: dependency: transitive description: name: boolean_selector url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0-nullsafety.1" + version: "2.1.0" + build: + dependency: transitive + description: + name: build + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.0.0" + built_collection: + dependency: transitive + description: + name: built_collection + url: "https://pub.flutter-io.cn" + source: hosted + version: "5.0.0" + built_value: + dependency: transitive + description: + name: built_value + url: "https://pub.flutter-io.cn" + source: hosted + version: "8.0.4" characters: dependency: transitive description: name: characters url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0-nullsafety.3" + version: "1.1.0" charcode: dependency: transitive description: name: charcode url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.0-nullsafety.1" + version: "1.2.0" + cli_util: + dependency: transitive + description: + name: cli_util + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.3.0" clock: dependency: transitive description: name: clock url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0-nullsafety.1" + version: "1.1.0" + code_builder: + dependency: transitive + description: + name: code_builder + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.7.0" collection: dependency: transitive description: name: collection url: "https://pub.flutter-io.cn" source: hosted - version: "1.15.0-nullsafety.3" + version: "1.15.0" convert: dependency: transitive description: name: convert url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.1" + version: "3.0.0" coverage: dependency: transitive description: name: coverage url: "https://pub.flutter-io.cn" source: hosted - version: "0.13.9" + version: "0.15.2" crypto: dependency: transitive description: name: crypto url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.3" - csslib: - dependency: transitive - description: - name: csslib - url: "https://pub.flutter-io.cn" - source: hosted - version: "0.16.1" + version: "3.0.1" cupertino_icons: dependency: "direct main" description: name: cupertino_icons url: "https://pub.flutter-io.cn" source: hosted - version: "0.1.3" + version: "1.0.2" + dart_style: + dependency: transitive + description: + name: dart_style + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.0.0" fake_async: dependency: transitive description: name: fake_async url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.0-nullsafety.1" + version: "1.2.0" + file: + dependency: transitive + description: + name: file + url: "https://pub.flutter-io.cn" + source: hosted + version: "6.1.0" + fixnum: + dependency: transitive + description: + name: fixnum + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.0" flutter: dependency: "direct main" description: flutter @@ -122,21 +171,7 @@ packages: name: glob url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.0" - html: - dependency: transitive - description: - name: html - url: "https://pub.flutter-io.cn" - source: hosted - version: "0.14.0+3" - http: - dependency: transitive - description: - name: http - url: "https://pub.flutter-io.cn" - source: hosted - version: "0.12.1" + version: "2.0.1" http_multi_server: dependency: transitive description: @@ -164,35 +199,35 @@ packages: path: ".." relative: true source: path - version: "0.6.3" + version: "2.1.0" js: dependency: transitive description: name: js url: "https://pub.flutter-io.cn" source: hosted - version: "0.6.3-nullsafety.2" + version: "0.6.3" logging: dependency: transitive description: name: logging url: "https://pub.flutter-io.cn" source: hosted - version: "0.11.4" + version: "1.0.1" matcher: dependency: transitive description: name: matcher url: "https://pub.flutter-io.cn" source: hosted - version: "0.12.10-nullsafety.1" + version: "0.12.10" meta: dependency: transitive description: name: meta url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.0-nullsafety.3" + version: "1.3.0" mime: dependency: transitive description: @@ -206,21 +241,7 @@ packages: name: mockito url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.2" - node_interop: - dependency: transitive - description: - name: node_interop - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.1.0" - node_io: - dependency: transitive - description: - name: node_io - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.1.0" + version: "5.0.3" node_preamble: dependency: transitive description: @@ -234,49 +255,42 @@ packages: name: package_config url: "https://pub.flutter-io.cn" source: hosted - version: "1.9.3" - package_resolver: - dependency: transitive - description: - name: package_resolver - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.0.10" + version: "2.0.0" path: dependency: transitive description: name: path url: "https://pub.flutter-io.cn" source: hosted - version: "1.8.0-nullsafety.1" + version: "1.8.0" pedantic: dependency: transitive description: name: pedantic url: "https://pub.flutter-io.cn" source: hosted - version: "1.10.0-nullsafety.2" + version: "1.11.0" platform: dependency: transitive description: name: platform url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.1" + version: "3.0.0" pool: dependency: transitive description: name: pool url: "https://pub.flutter-io.cn" source: hosted - version: "1.5.0-nullsafety.2" + version: "1.5.0" pub_semver: dependency: transitive description: name: pub_semver url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.4" + version: "2.0.0" shelf: dependency: transitive description: @@ -290,14 +304,14 @@ packages: name: shelf_packages_handler url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.4" + version: "2.0.1" shelf_static: dependency: transitive description: name: shelf_static url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.8" + version: "0.2.9+2" shelf_web_socket: dependency: transitive description: @@ -310,90 +324,97 @@ packages: description: flutter source: sdk version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.0" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0-nullsafety.3" + version: "2.1.0" source_maps: dependency: transitive description: name: source_maps url: "https://pub.flutter-io.cn" source: hosted - version: "0.10.10-nullsafety.2" + version: "0.10.10" source_span: dependency: transitive description: name: source_span url: "https://pub.flutter-io.cn" source: hosted - version: "1.8.0-nullsafety.2" + version: "1.8.0" stack_trace: dependency: transitive description: name: stack_trace url: "https://pub.flutter-io.cn" source: hosted - version: "1.10.0-nullsafety.1" + version: "1.10.0" stream_channel: dependency: transitive description: name: stream_channel url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0-nullsafety.1" + version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0-nullsafety.1" + version: "1.1.0" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.0-nullsafety.1" + version: "1.2.0" test: dependency: "direct dev" description: name: test url: "https://pub.flutter-io.cn" source: hosted - version: "1.16.0-nullsafety.5" + version: "1.16.5" test_api: dependency: transitive description: name: test_api url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.19-nullsafety.2" + version: "0.2.19" test_core: dependency: transitive description: name: test_core url: "https://pub.flutter-io.cn" source: hosted - version: "0.3.12-nullsafety.5" + version: "0.3.15" typed_data: dependency: transitive description: name: typed_data url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.0-nullsafety.3" + version: "1.3.0" vector_math: dependency: transitive description: name: vector_math url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0-nullsafety.3" + version: "2.1.0" vm_service: dependency: transitive description: @@ -407,28 +428,28 @@ packages: name: watcher url: "https://pub.flutter-io.cn" source: hosted - version: "0.9.7+15" + version: "1.0.0" web_socket_channel: dependency: transitive description: name: web_socket_channel url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0" + version: "1.2.0" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol url: "https://pub.flutter-io.cn" source: hosted - version: "0.7.4" + version: "1.0.0" yaml: dependency: transitive description: name: yaml url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.1" + version: "3.1.0" sdks: - dart: ">=2.10.0-110 <2.11.0" - flutter: ">=1.10.0" + dart: ">=2.12.0 <3.0.0" + flutter: ">=2.0.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 47eb8e3c..6dc25c29 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -10,7 +10,7 @@ description: Demonstrates how to use the jpush plugin. version: 1.0.0+1 environment: - sdk: ">=2.0.0-dev.68.0 <3.0.0" + sdk: ">=2.12.0 <3.0.0" dependencies: flutter: @@ -18,11 +18,11 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^0.1.2 + cupertino_icons: ^1.0.2 dev_dependencies: - test: ^1.3.0 - mockito: ^3.0.0 + test: ^1.16.0-nullsafety.10 + mockito: ^5.0.3 flutter_test: sdk: flutter diff --git a/lib/jpush_flutter.dart b/lib/jpush_flutter.dart index 3a4cc440..2048bd89 100644 --- a/lib/jpush_flutter.dart +++ b/lib/jpush_flutter.dart @@ -7,6 +7,7 @@ typedef Future EventHandler(Map event); class JPush { static const String flutter_log = "| JPUSH | Flutter | "; + factory JPush() => _instance; final MethodChannel _channel; @@ -20,14 +21,14 @@ class JPush { static final JPush _instance = new JPush.private(const MethodChannel('jpush'), const LocalPlatform()); - EventHandler _onReceiveNotification; - EventHandler _onOpenNotification; - EventHandler _onReceiveMessage; - EventHandler _onReceiveNotificationAuthorization; + EventHandler? _onReceiveNotification; + EventHandler? _onOpenNotification; + EventHandler? _onReceiveMessage; + EventHandler? _onReceiveNotificationAuthorization; void setup({ - String appKey, - bool production, + required String appKey, + bool production = false, String channel = '', bool debug = false, }) { @@ -45,10 +46,10 @@ class JPush { /// 初始化 JPush 必须先初始化才能执行其他操作(比如接收事件传递) /// void addEventHandler({ - EventHandler onReceiveNotification, - EventHandler onOpenNotification, - EventHandler onReceiveMessage, - EventHandler onReceiveNotificationAuthorization, + EventHandler? onReceiveNotification, + EventHandler? onOpenNotification, + EventHandler? onReceiveMessage, + EventHandler? onReceiveNotificationAuthorization, }) { print(flutter_log + "addEventHandler:"); @@ -64,13 +65,26 @@ class JPush { switch (call.method) { case "onReceiveNotification": - return _onReceiveNotification(call.arguments.cast()); + if (_onReceiveNotification != null) { + _onReceiveNotification!(call.arguments.cast()); + } + return; case "onOpenNotification": - return _onOpenNotification(call.arguments.cast()); + if (_onOpenNotification != null) { + _onOpenNotification!(call.arguments.cast()); + } + return; case "onReceiveMessage": - return _onReceiveMessage(call.arguments.cast()); + if (_onReceiveMessage != null) { + _onReceiveMessage!(call.arguments.cast()); + } + return; case "onReceiveNotificationAuthorization": - return _onReceiveNotificationAuthorization(call.arguments.cast()); + if (_onReceiveNotificationAuthorization != null) { + _onReceiveNotificationAuthorization!( + call.arguments.cast()); + } + return; default: throw new UnsupportedError("Unrecognized Event"); } @@ -239,9 +253,9 @@ class JPush { /// 清空通知栏上某个通知 /// @param notificationId 通知 id,即:LocalNotification id /// - void clearNotification({@required int notificationId}) { + void clearNotification({required int notificationId}) { print(flutter_log + "clearNotification:"); - _channel.invokeListMethod("clearNotification",notificationId); + _channel.invokeListMethod("clearNotification", notificationId); } /// @@ -283,19 +297,18 @@ class JPush { return notification.toMap().toString(); } - /// 调用此 API 检测通知授权状态是否打开 Future isNotificationEnabled() async { - final Map result = await _channel.invokeMethod('isNotificationEnabled'); + final Map result = + await _channel.invokeMethod('isNotificationEnabled'); bool isEnabled = result["isEnabled"]; return isEnabled; } /// 调用此 API 跳转至系统设置中应用设置界面 - void openSettingsForNotification() { + void openSettingsForNotification() { _channel.invokeMethod('openSettingsForNotification'); } - } class NotificationSettingsIOS { @@ -327,30 +340,26 @@ class NotificationSettingsIOS { /// // iOS 10+ Only /// @property {string} [subtitle] - 子标题 class LocalNotification { - final int buildId; //? + final int? buildId; //? final int id; final String title; final String content; - final Map extra; //? + final Map? extra; //? final DateTime fireTime; final int badge; //? - final String soundName; //? - final String subtitle; //? + final String? soundName; //? + final String? subtitle; //? const LocalNotification( - {@required this.id, - @required this.title, - @required this.content, - @required this.fireTime, + {required this.id, + required this.title, + required this.content, + required this.fireTime, this.buildId, this.extra, this.badge = 0, this.soundName, - this.subtitle}) - : assert(id != null), - assert(title != null), - assert(content != null), - assert(fireTime != null); + this.subtitle}); Map toMap() { return { diff --git a/pubspec.lock b/pubspec.lock index 9fc8a6a2..e6cc0474 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,387 +1,422 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + url: "https://pub.flutter-io.cn" + source: hosted + version: "19.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.flutter-io.cn" source: hosted - version: "0.37.0" + version: "1.3.0" args: dependency: transitive description: name: args url: "https://pub.flutter-io.cn" source: hosted - version: "1.5.2" + version: "2.0.0" async: dependency: transitive description: name: async url: "https://pub.flutter-io.cn" source: hosted - version: "2.3.0" + version: "2.5.0" boolean_selector: dependency: transitive description: name: boolean_selector url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.5" + version: "2.1.0" + build: + dependency: transitive + description: + name: build + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.0.0" + built_collection: + dependency: transitive + description: + name: built_collection + url: "https://pub.flutter-io.cn" + source: hosted + version: "5.0.0" + built_value: + dependency: transitive + description: + name: built_value + url: "https://pub.flutter-io.cn" + source: hosted + version: "8.0.4" characters: dependency: transitive description: name: characters url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0-nullsafety.3" + version: "1.1.0" charcode: dependency: transitive description: name: charcode url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.2" + version: "1.2.0" + cli_util: + dependency: transitive + description: + name: cli_util + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.3.0" + code_builder: + dependency: transitive + description: + name: code_builder + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.7.0" collection: dependency: transitive description: name: collection url: "https://pub.flutter-io.cn" source: hosted - version: "1.15.0-nullsafety.3" + version: "1.15.0" convert: dependency: transitive description: name: convert url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.1" - crypto: + version: "3.0.0" + coverage: dependency: transitive description: - name: crypto + name: coverage url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.6" - csslib: + version: "1.0.2" + crypto: dependency: transitive description: - name: csslib + name: crypto url: "https://pub.flutter-io.cn" source: hosted - version: "0.16.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - front_end: + version: "3.0.1" + dart_style: dependency: transitive description: - name: front_end + name: dart_style url: "https://pub.flutter-io.cn" source: hosted - version: "0.1.20" - glob: + version: "2.0.0" + file: dependency: transitive description: - name: glob + name: file url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.7" - html: + version: "6.1.0" + fixnum: dependency: transitive description: - name: html + name: fixnum url: "https://pub.flutter-io.cn" source: hosted - version: "0.14.0+2" - http: + version: "1.0.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + glob: dependency: transitive description: - name: http + name: glob url: "https://pub.flutter-io.cn" source: hosted - version: "0.12.0+2" + version: "2.0.1" http_multi_server: dependency: transitive description: name: http_multi_server url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "3.0.0" http_parser: dependency: transitive description: name: http_parser url: "https://pub.flutter-io.cn" source: hosted - version: "3.1.3" + version: "4.0.0" io: dependency: transitive description: name: io url: "https://pub.flutter-io.cn" source: hosted - version: "0.3.3" + version: "1.0.0" js: dependency: transitive description: name: js url: "https://pub.flutter-io.cn" source: hosted - version: "0.6.1+1" - kernel: + version: "0.6.3" + logging: dependency: transitive description: - name: kernel + name: logging url: "https://pub.flutter-io.cn" source: hosted - version: "0.3.20" + version: "1.0.1" matcher: dependency: transitive description: name: matcher url: "https://pub.flutter-io.cn" source: hosted - version: "0.12.5" + version: "0.12.10" meta: dependency: transitive description: name: meta url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.0-nullsafety.3" + version: "1.3.0" mime: dependency: transitive description: name: mime url: "https://pub.flutter-io.cn" source: hosted - version: "0.9.6+3" + version: "1.0.0" mockito: dependency: "direct dev" description: name: mockito url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.2" - multi_server_socket: - dependency: transitive - description: - name: multi_server_socket - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.0.2" + version: "5.0.3" node_preamble: dependency: transitive description: name: node_preamble url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.5" + version: "2.0.0" package_config: dependency: transitive description: name: package_config url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.5" - package_resolver: - dependency: transitive - description: - name: package_resolver - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.0.10" + version: "2.0.0" path: dependency: transitive description: name: path url: "https://pub.flutter-io.cn" source: hosted - version: "1.6.2" + version: "1.8.0" pedantic: dependency: transitive description: name: pedantic url: "https://pub.flutter-io.cn" source: hosted - version: "1.8.0+1" + version: "1.11.0" platform: dependency: "direct main" description: name: platform url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.0" + version: "3.0.0" pool: dependency: transitive description: name: pool url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.0" + version: "1.5.0" pub_semver: dependency: transitive description: name: pub_semver url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.2" + version: "2.0.0" shelf: dependency: transitive description: name: shelf url: "https://pub.flutter-io.cn" source: hosted - version: "0.7.5" + version: "1.1.0" shelf_packages_handler: dependency: transitive description: name: shelf_packages_handler url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.4" + version: "3.0.0" shelf_static: dependency: transitive description: name: shelf_static url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.8" + version: "1.0.0" shelf_web_socket: dependency: transitive description: name: shelf_web_socket url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.3" + version: "1.0.1" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.0" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.5" + version: "2.1.0" source_maps: dependency: transitive description: name: source_maps url: "https://pub.flutter-io.cn" source: hosted - version: "0.10.8" + version: "0.10.10" source_span: dependency: transitive description: name: source_span url: "https://pub.flutter-io.cn" source: hosted - version: "1.5.5" + version: "1.8.1" stack_trace: dependency: transitive description: name: stack_trace url: "https://pub.flutter-io.cn" source: hosted - version: "1.9.3" + version: "1.10.0" stream_channel: dependency: transitive description: name: stream_channel url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" - stream_transform: - dependency: transitive - description: - name: stream_transform - url: "https://pub.flutter-io.cn" - source: hosted - version: "0.0.19" + version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.4" + version: "1.1.0" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0" + version: "1.2.0" test: dependency: "direct dev" description: name: test url: "https://pub.flutter-io.cn" source: hosted - version: "1.6.5" + version: "1.16.8" test_api: dependency: transitive description: name: test_api url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.6" + version: "0.3.0" test_core: dependency: transitive description: name: test_core url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.7" + version: "0.3.19" typed_data: dependency: transitive description: name: typed_data url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.0-nullsafety.3" + version: "1.3.0" vector_math: dependency: transitive description: name: vector_math url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0-nullsafety.3" - vm_service_lib: + version: "2.1.0" + vm_service: dependency: transitive description: - name: vm_service_lib + name: vm_service url: "https://pub.flutter-io.cn" source: hosted - version: "3.22.2" + version: "6.2.0" watcher: dependency: transitive description: name: watcher url: "https://pub.flutter-io.cn" source: hosted - version: "0.9.7+12" + version: "1.0.0" web_socket_channel: dependency: transitive description: name: web_socket_channel url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.14" + version: "2.0.0" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.0" yaml: dependency: transitive description: name: yaml url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.16" + version: "3.1.0" sdks: - dart: ">=2.10.0-110 <2.11.0" - flutter: ">=1.10.0" + dart: ">=2.12.0 <3.0.0" + flutter: ">=2.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index c03a906b..9db53887 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,12 +1,12 @@ name: jpush_flutter description: JIGUANG officially supported JPush Flutter plugin (Android & iOS). 极光推送官方支持的 Flutter 插件(Android & iOS)(https://www.jiguang.cn). -version: 2.0.1 +version: 2.1.0 # author: xudong.rao homepage: https://www.jiguang.cn environment: - sdk: ">=2.1.0 <3.0.0" - flutter: ">=1.10.0" + sdk: ">=2.12.0 <3.0.0" + flutter: ">=2.0.0" dependencies: platform: ^3.0.0 @@ -15,7 +15,7 @@ dependencies: dev_dependencies: test: ^1.16.8 - mockito: ^5.0.2 + mockito: ^5.0.3 # For information on the generic Dart part of this file, see the # following page: https://www.dartlang.org/tools/pub/pubspec diff --git a/test/jpush_flutter_test.dart b/test/jpush_flutter_test.dart index 795e45a2..b94cb9a4 100644 --- a/test/jpush_flutter_test.dart +++ b/test/jpush_flutter_test.dart @@ -5,28 +5,26 @@ import 'package:platform/platform.dart'; import 'package:test/test.dart'; import 'package:jpush_flutter/jpush_flutter.dart'; - void main() { - MockMethodChannel mockChannel; - JPush jpush; + late MockMethodChannel mockChannel; + late JPush jpush; setUp(() { mockChannel = new MockMethodChannel(); - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); }); - jpush.setup( + jpush.setup( appKey: "a1703c14b186a68a66ef86c1", channel: "theChannel", - production: false - ); + production: false); test('applyPushAuthority on ios with params', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.applyPushAuthority(new NotificationSettingsIOS( - sound: true, - alert: true, - badge: true)); + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.applyPushAuthority( + new NotificationSettingsIOS(sound: true, alert: true, badge: true)); verify(mockChannel.invokeMethod('applyPushAuthority', {'sound': true, 'badge': true, 'alert': true})); }); @@ -35,54 +33,61 @@ void main() { // TODO: }); - test('setAlias', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.setAlias('alias').then((map) { - expect(map, contains('alias')); - }).catchError((error) {}); - }); + test('setAlias', () { + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.setAlias('alias').then((map) { + expect(map, contains('alias')); + }).catchError((error) {}); + }); - test('deleteAlias', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.deleteAlias().then((map) { - expect(map, contains('alias')); - }).catchError((error) {}); - }); + test('deleteAlias', () { + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.deleteAlias().then((map) { + expect(map, contains('alias')); + }).catchError((error) {}); + }); - test('deleteAlias', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.deleteAlias().then((map) { - expect(map, contains('alias')); - }).catchError((error) {}); - }); + test('deleteAlias', () { + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.deleteAlias().then((map) { + expect(map, contains('alias')); + }).catchError((error) {}); + }); - test('addTags', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.addTags(["tag1","tag2"]).then((map) { - expect(map, contains('tags')); - }).catchError((error) {}); - }); - - test('deleteTags', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.deleteTags(["tag1","tag2"]).then((map) { - expect(map, contains('tags')); - }).catchError((error) {}); - }); + test('addTags', () { + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.addTags(["tag1", "tag2"]).then((map) { + expect(map, contains('tags')); + }).catchError((error) {}); + }); - test('setTags', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.setTags(["tag1","tag2"]).then((map) { - expect(map, contains('tags')); - }).catchError((error) {}); - }); + test('deleteTags', () { + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.deleteTags(["tag1", "tag2"]).then((map) { + expect(map, contains('tags')); + }).catchError((error) {}); + }); + + test('setTags', () { + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.setTags(["tag1", "tag2"]).then((map) { + expect(map, contains('tags')); + }).catchError((error) {}); + }); - test('getAllTags', () { - jpush = new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); - jpush.getAllTags().then((map) { - expect(map, contains('tags')); - }).catchError((error) {}); - }); + test('getAllTags', () { + jpush = + new JPush.private(mockChannel, FakePlatform(operatingSystem: 'ios')); + jpush.getAllTags().then((map) { + expect(map, contains('tags')); + }).catchError((error) {}); + }); } -class MockMethodChannel extends Mock implements MethodChannel {} \ No newline at end of file +class MockMethodChannel extends Mock implements MethodChannel {}