daxu0403 7 лет назад
Родитель
Сommit
1ce83de5e8
60 измененных файлов с 9918 добавлено и 5 удалено
  1. BIN
      android/.gradle/4.10.2/fileHashes/fileHashes.bin
  2. BIN
      android/.gradle/4.10.2/fileHashes/fileHashes.lock
  3. BIN
      android/.gradle/4.10.2/fileHashes/resourceHashesCache.bin
  4. BIN
      android/.gradle/4.10.2/javaCompile/classAnalysis.bin
  5. BIN
      android/.gradle/4.10.2/javaCompile/jarAnalysis.bin
  6. BIN
      android/.gradle/4.10.2/javaCompile/javaCompile.lock
  7. BIN
      android/.gradle/4.10.2/javaCompile/taskHistory.bin
  8. BIN
      android/.gradle/4.10.2/taskHistory/taskHistory.bin
  9. BIN
      android/.gradle/4.10.2/taskHistory/taskHistory.lock
  10. BIN
      android/.gradle/buildOutputCleanup/buildOutputCleanup.lock
  11. BIN
      android/.idea/caches/build_file_checksums.ser
  12. 29 0
      android/.idea/codeStyles/Project.xml
  13. 22 0
      android/.idea/gradle.xml
  14. 9 0
      android/.idea/libraries/Gradle____local_aars____Users_daxu_app_flutter_bin_cache_artifacts_engine_android_arm_flutter_jar_unspecified_jar.xml
  15. 9 0
      android/.idea/libraries/Gradle____local_aars____Users_daxu_logistics_client_flutter_android_app_libs_CPCLA300_V1_01_19_01PRO_jar_unspecified_jar.xml
  16. 9 0
      android/.idea/libraries/Gradle____local_aars____Users_daxu_logistics_client_flutter_build_app_intermediates_flutter_flutter_x86_jar_unspecified_jar.xml
  17. 11 0
      android/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml
  18. 12 0
      android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml
  19. 11 0
      android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml
  20. 12 0
      android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml
  21. 12 0
      android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml
  22. 12 0
      android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml
  23. 12 0
      android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_27_1_1.xml
  24. 12 0
      android/.idea/libraries/Gradle__com_android_support_appcompat_v7_27_1_1.xml
  25. 11 0
      android/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml
  26. 12 0
      android/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml
  27. 12 0
      android/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml
  28. 12 0
      android/.idea/libraries/Gradle__com_android_support_support_core_utils_27_1_1.xml
  29. 12 0
      android/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml
  30. 12 0
      android/.idea/libraries/Gradle__com_android_support_support_media_compat_27_1_1.xml
  31. 12 0
      android/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml
  32. 12 0
      android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_27_1_1.xml
  33. 12 0
      android/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2.xml
  34. 12 0
      android/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2.xml
  35. 12 0
      android/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2.xml
  36. 12 0
      android/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2.xml
  37. 9 0
      android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
  38. 11 0
      android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
  39. 11 0
      android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
  40. 11 0
      android/.idea/libraries/Gradle__junit_junit_4_12_jar.xml
  41. 11 0
      android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml
  42. 11 0
      android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml
  43. 11 0
      android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
  44. 11 0
      android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
  45. 38 0
      android/.idea/misc.xml
  46. 13 0
      android/.idea/modules.xml
  47. 12 0
      android/.idea/runConfigurations.xml
  48. 8620 0
      android/.idea/workspace.xml
  49. 19 0
      android/android.iml
  50. BIN
      android/app/.DS_Store
  51. 154 0
      android/app/app.iml
  52. 5 2
      android/app/build.gradle
  53. BIN
      android/app/libs/CPCLA300_V1.01.19.01PRO.jar
  54. BIN
      android/app/src/main/.DS_Store
  55. 10 0
      android/app/src/main/AndroidManifest.xml
  56. 30 0
      android/app/src/main/assets/driver.txt
  57. 25 0
      android/app/src/main/assets/goods.txt
  58. 26 0
      android/app/src/main/assets/sender.txt
  59. 560 0
      android/app/src/main/java/com/example/logisticsclient/MainActivity.java
  60. 5 3
      lib/pages/order_management_page.dart

BIN
android/.gradle/4.10.2/fileHashes/fileHashes.bin


BIN
android/.gradle/4.10.2/fileHashes/fileHashes.lock


BIN
android/.gradle/4.10.2/fileHashes/resourceHashesCache.bin


BIN
android/.gradle/4.10.2/javaCompile/classAnalysis.bin


BIN
android/.gradle/4.10.2/javaCompile/jarAnalysis.bin


BIN
android/.gradle/4.10.2/javaCompile/javaCompile.lock


BIN
android/.gradle/4.10.2/javaCompile/taskHistory.bin


BIN
android/.gradle/4.10.2/taskHistory/taskHistory.bin


BIN
android/.gradle/4.10.2/taskHistory/taskHistory.lock


BIN
android/.gradle/buildOutputCleanup/buildOutputCleanup.lock


BIN
android/.idea/caches/build_file_checksums.ser


+ 29 - 0
android/.idea/codeStyles/Project.xml

@@ -0,0 +1,29 @@
+<component name="ProjectCodeStyleConfiguration">
+  <code_scheme name="Project" version="173">
+    <Objective-C-extensions>
+      <file>
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
+      </file>
+      <class>
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
+        <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
+      </class>
+      <extensions>
+        <pair source="cpp" header="h" fileNamingConvention="NONE" />
+        <pair source="c" header="h" fileNamingConvention="NONE" />
+      </extensions>
+    </Objective-C-extensions>
+  </code_scheme>
+</component>

+ 22 - 0
android/.idea/gradle.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="distributionType" value="DEFAULT_WRAPPED" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="modules">
+          <set>
+            <option value="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/city_pickers-0.0.4/android" />
+            <option value="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_picker-1.0.8/android" />
+            <option value="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.1+1/android" />
+            <option value="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.0.1/android" />
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+          </set>
+        </option>
+        <option name="resolveModulePerSourceSet" value="false" />
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>

+ 9 - 0
android/.idea/libraries/Gradle____local_aars____Users_daxu_app_flutter_bin_cache_artifacts_engine_android_arm_flutter_jar_unspecified_jar.xml

@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="Gradle: __local_aars__:/Users/daxu/app/flutter/bin/cache/artifacts/engine/android-arm/flutter.jar:unspecified@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/app/flutter/bin/cache/artifacts/engine/android-arm/flutter.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>

+ 9 - 0
android/.idea/libraries/Gradle____local_aars____Users_daxu_logistics_client_flutter_android_app_libs_CPCLA300_V1_01_19_01PRO_jar_unspecified_jar.xml

@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="Gradle: __local_aars__:/Users/daxu/logistics-client-flutter/android/app/libs/CPCLA300_V1.01.19.01PRO.jar:unspecified@jar">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/app/libs/CPCLA300_V1.01.19.01PRO.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>

+ 9 - 0
android/.idea/libraries/Gradle____local_aars____Users_daxu_logistics_client_flutter_build_app_intermediates_flutter_flutter_x86_jar_unspecified_jar.xml

@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="Gradle: __local_aars__:/Users/daxu/logistics-client-flutter/build/app/intermediates/flutter/flutter-x86.jar:unspecified@jar">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/../build/app/intermediates/flutter/flutter-x86.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: android.arch.core:common:1.1.0@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.0/8007981f7d7540d89cd18471b8e5dcd2b4f99167/common-1.1.0.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.0/f211e8f994b67f7ae2a1bc06e4f7b974ec72ee50/common-1.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: android.arch.core:runtime-1.1.0">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/613e1d1bddc54d36a78d9fde5ad54175/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/613e1d1bddc54d36a78d9fde5ad54175/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/runtime/1.1.0/62944187d3ae3e7a4644b50da4e7b63c605a696/runtime-1.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: android.arch.lifecycle:common:1.1.0@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.0/edf3f7bfb84a7521d0599efa3b0113a0ee90f85/common-1.1.0.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.0/72f6113534923e49e8c032107ca638b97775c61b/common-1.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: android.arch.lifecycle:livedata-core-1.1.0">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.0.aar/f459862bc222ca8c0797ebdc7d61c50f/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.0.aar/f459862bc222ca8c0797ebdc7d61c50f/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/livedata-core/1.1.0/300f89e645a95de0bdc6d8833beeee6e3045df06/livedata-core-1.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: android.arch.lifecycle:runtime-1.1.0">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/97be25be3264370540b21ceeb0f4d579/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/97be25be3264370540b21ceeb0f4d579/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.1.0/a4b0d6b8e8f51c8f95d5a0641f81ffc13ab406c7/runtime-1.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: android.arch.lifecycle:viewmodel-1.1.0">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.0.aar/d795e1dbeef4e2c358e8c947a1a663cc/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.0.aar/d795e1dbeef4e2c358e8c947a1a663cc/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/viewmodel/1.1.0/e4c0c5d65f92ccad0b0148ac2f01b540ac7a711e/viewmodel-1.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:animated-vector-drawable-27.1.1">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-27.1.1.aar/e9c349b81817c04d3f70168127be81b4/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-27.1.1.aar/e9c349b81817c04d3f70168127be81b4/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/animated-vector-drawable/27.1.1/a8f4121ade2fdfcc5cb20290a05333239fee05d7/animated-vector-drawable-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_appcompat_v7_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:appcompat-v7-27.1.1">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/6e09e808295fd03eff11e20ae0960856/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/6e09e808295fd03eff11e20ae0960856/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/appcompat-v7/27.1.1/21d073509c5f8d25a1bf274067fa729a1fba8d75/appcompat-v7-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-annotations:27.1.1@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/27.1.1/39ded76b5e1ce1c5b2688e1d25cdc20ecee32007/support-annotations-27.1.1.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/27.1.1/46bebf5bd40146178cb33c7678f3782a09dea6e4/support-annotations-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-compat-27.1.1">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/2b559b9b1b7dc67aa2ea9ce4bc667fe8/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/2b559b9b1b7dc67aa2ea9ce4bc667fe8/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-compat/27.1.1/fe233277b6eae25ce5b2afab6daf55d73c86f0b9/support-compat-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-core-ui-27.1.1">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/5d1e43dc5c3f499e84c4bd8888880c27/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/5d1e43dc5c3f499e84c4bd8888880c27/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-ui/27.1.1/266c369a3227be5afec33e11c964472269ff2a7c/support-core-ui-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_support_core_utils_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-core-utils-27.1.1">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-27.1.1.aar/613c9e9d8d2ee0ec07612e7107a5b116/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-27.1.1.aar/613c9e9d8d2ee0ec07612e7107a5b116/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-utils/27.1.1/8fb37fd2f8dbc23482865700d2c340ae030ea561/support-core-utils-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-fragment-27.1.1">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-27.1.1.aar/e862f851bf0f9a6f965577057970acee/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-27.1.1.aar/e862f851bf0f9a6f965577057970acee/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-fragment/27.1.1/94732bda44fba11302c58e459b7c1f47e7521bf9/support-fragment-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_support_media_compat_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-media-compat-27.1.1">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-27.1.1.aar/a258330116a29d2927e7d72fe49e5b98/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-27.1.1.aar/a258330116a29d2927e7d72fe49e5b98/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-media-compat/27.1.1/3ab3f968d7cd675d2f97e67a3e9fc0ac63618f46/support-media-compat-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-v4-27.1.1">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-27.1.1.aar/ab073d060a04638f6fc9a9ffea984da8/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-27.1.1.aar/ab073d060a04638f6fc9a9ffea984da8/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-v4/27.1.1/5b8f86fea035328fc9e8c660773037a3401ce25f/support-v4-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_27_1_1.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support:support-vector-drawable-27.1.1">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-27.1.1.aar/16a019ea68c35f2f4ae74f52f2a3b0fe/jars/classes.jar!/" />
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-27.1.1.aar/16a019ea68c35f2f4ae74f52f2a3b0fe/res" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-vector-drawable/27.1.1/4b29cf2106c95afb3432bb0c4ec5a91e959717b2/support-vector-drawable-27.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support.test.espresso:espresso-core-3.0.2">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/925efcf3608d109308f7fd70999e8a26/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/925efcf3608d109308f7fd70999e8a26/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-core/3.0.2/433f4f601a3f3835691d80838dd7ff9414931b05/espresso-core-3.0.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support.test.espresso:espresso-idling-resource-3.0.2">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/c6e3c8afa87fc11ec4f5762a42146221/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/c6e3c8afa87fc11ec4f5762a42146221/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-idling-resource/3.0.2/6071e2b310c16836ba475a94df377e2f75928546/espresso-idling-resource-3.0.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support.test:monitor-1.0.2">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/a215b3444b43ac9e2e1076bb98521496/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/a215b3444b43ac9e2e1076bb98521496/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/monitor/1.0.2/5764301056100b445e9ba31df7d1b554a55450f6/monitor-1.0.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 12 - 0
android/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2.xml

@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.android.support.test:runner-1.0.2">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/e1319941dc2c5c50c2047dfecfe277ad/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/e1319941dc2c5c50c2047dfecfe277ad/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/runner/1.0.2/b2ce2342744a66e935dbc4a298259709a4c1f042/runner-1.0.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 9 - 0
android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml

@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: com.squareup:javawriter:2.1.1@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/5b31387d839a5cdaf5b6de3990da01f7f2b963c5/javawriter-2.1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: javax.inject:javax.inject:1@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/a00123f261762a7c5e0ec916a2c7c8298d29c400/javax.inject-1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__junit_junit_4_12_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: junit:junit:4.12@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: net.sf.kxml:kxml2:2.3.0@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/ccbc77a5fd907ef863c29f3596c6f54ffa4e9442/kxml2-2.3.0.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/309cd2cff7260e465792fda3dcbb063b730d8050/kxml2-2.3.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: org.hamcrest:hamcrest-core:1.3@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/ae7787a563e6a1b1f17fd4ac43be3a3c8830cfda/hamcrest-integration-1.3-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 11 - 0
android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml

@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: org.hamcrest:hamcrest-library:1.3@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/47a7ee46628ab7133129cd7cef1e92657bc275e/hamcrest-library-1.3-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 38 - 0
android/.idea/misc.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="NullableNotNullManager">
+    <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
+    <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
+    <option name="myNullables">
+      <value>
+        <list size="7">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
+          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
+          <item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
+          <item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
+          <item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+          <item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
+          <item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
+        </list>
+      </value>
+    </option>
+    <option name="myNotNulls">
+      <value>
+        <list size="6">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
+          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
+          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
+          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+          <item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
+          <item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
+        </list>
+      </value>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>

+ 13 - 0
android/.idea/modules.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/android.iml" filepath="$PROJECT_DIR$/android.iml" />
+      <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
+      <module fileurl="file://$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/city_pickers-0.0.4/android/city_pickers.iml" filepath="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/city_pickers-0.0.4/android/city_pickers.iml" />
+      <module fileurl="file://$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_picker-1.0.8/android/flutter_picker.iml" filepath="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_picker-1.0.8/android/flutter_picker.iml" />
+      <module fileurl="file://$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.1+1/android/shared_preferences.iml" filepath="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.1+1/android/shared_preferences.iml" />
+      <module fileurl="file://$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.0.1/android/url_launcher.iml" filepath="$USER_HOME$/app/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.0.1/android/url_launcher.iml" />
+    </modules>
+  </component>
+</project>

+ 12 - 0
android/.idea/runConfigurations.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RunConfigurationProducerService">
+    <option name="ignoredProducers">
+      <set>
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
+        <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
+      </set>
+    </option>
+  </component>
+</project>

Разница между файлами не показана из-за своего большого размера
+ 8620 - 0
android/.idea/workspace.xml


+ 19 - 0
android/android.iml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="java-gradle" name="Java-Gradle">
+      <configuration>
+        <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/../build" />
+        <option name="BUILDABLE" value="false" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+    </content>
+    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

BIN
android/app/.DS_Store


+ 154 - 0
android/app/app.iml

@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="android-gradle" name="Android-Gradle">
+      <configuration>
+        <option name="GRADLE_PROJECT_PATH" value=":app" />
+      </configuration>
+    </facet>
+    <facet type="android" name="Android">
+      <configuration>
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+        <afterSyncTasks>
+          <task>generateDebugSources</task>
+        </afterSyncTasks>
+        <option name="ALLOW_USER_CONFIGURATION" value="false" />
+        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
+        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
+    <output url="file://$MODULE_DIR$/../../build/app/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
+    <output-test url="file://$MODULE_DIR$/../../build/app/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+    </content>
+    <content url="file://$MODULE_DIR$/../../build/app">
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/apt/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/not_namespaced_r_class_sources/debug/processDebugResources/r" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/aidl/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/rs/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/res/rs/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/res/resValues/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/not_namespaced_r_class_sources/debugAndroidTest/processDebugAndroidTestResources/r" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/res/rs/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/res/resValues/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/../../build/app/generated/source/apt/test/debug" isTestSource="true" generated="true" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/annotation_processor_list" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/apk_list" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/blame" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/check-libraries" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/check-manifest" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/checkDebugClasspath" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/compatible_screen_manifest" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/flutter" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/incremental" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/instant_run_merged_manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/javac" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/jniLibs" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/lint_jar" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/merged_assets" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/merged_manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/prebuild" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/processed_res" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/res" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/rs" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/shader_assets" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/shaders" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/split_list" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/symbols" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/intermediates/transforms" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/outputs" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build/app/tmp" />
+    </content>
+    <orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-v4-27.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/daxu/logistics-client-flutter/build/app/intermediates/flutter/flutter-x86.jar:unspecified@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-1.0.2" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-annotations:27.1.1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-27.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-compat-27.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel-1.1.0" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/daxu/logistics-client-flutter/android/app/libs/CPCLA300_V1.01.19.01PRO.jar:unspecified@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-27.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-27.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-core-ui-27.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-27.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/daxu/app/flutter/bin/cache/artifacts/engine/android-arm/flutter.jar:unspecified@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core-3.0.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-fragment-27.1.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.core:runtime-1.1.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor-1.0.2" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-27.1.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-3.0.2" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core-1.1.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.core:common:1.1.0@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime-1.1.0" level="project" />
+    <orderEntry type="module" module-name="shared_preferences" />
+    <orderEntry type="module" module-name="city_pickers" />
+    <orderEntry type="module" module-name="flutter_picker" />
+    <orderEntry type="module" module-name="url_launcher" />
+  </component>
+</module>

+ 5 - 2
android/app/build.gradle

@@ -34,7 +34,7 @@ android {
     defaultConfig {
     defaultConfig {
         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
         applicationId "com.example.logisticsclient"
         applicationId "com.example.logisticsclient"
-        minSdkVersion 16
+        minSdkVersion 18
         targetSdkVersion 27
         targetSdkVersion 27
         versionCode flutterVersionCode.toInteger()
         versionCode flutterVersionCode.toInteger()
         versionName flutterVersionName
         versionName flutterVersionName
@@ -49,13 +49,16 @@ android {
         }
         }
     }
     }
 }
 }
-
 flutter {
 flutter {
     source '../..'
     source '../..'
 }
 }
 
 
 dependencies {
 dependencies {
+    implementation fileTree(include: '*.jar', dir: 'libs')
     testImplementation 'junit:junit:4.12'
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'com.android.support.test:runner:1.0.2'
     androidTestImplementation 'com.android.support.test:runner:1.0.2'
     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+    implementation files('libs/CPCLA300_V1.01.19.01PRO.jar')
+    implementation 'com.android.support:support-v4:27.1.1'
+    implementation 'com.android.support:appcompat-v7:27.1.1'
 }
 }

BIN
android/app/libs/CPCLA300_V1.01.19.01PRO.jar


BIN
android/app/src/main/.DS_Store


+ 10 - 0
android/app/src/main/AndroidManifest.xml

@@ -12,6 +12,16 @@
          In most cases you can leave this as-is, but you if you want to provide
          In most cases you can leave this as-is, but you if you want to provide
          additional functionality it is fine to subclass or reimplement
          additional functionality it is fine to subclass or reimplement
          FlutterApplication and put your custom class here. -->
          FlutterApplication and put your custom class here. -->
+    <uses-permission android:name="android.permission.INTERNET"/>
+    <!-- 使用蓝牙的权限 -->
+    <uses-permission android:name="android.permission.BLUETOOTH" />
+    <!-- 扫描蓝牙设备或者操作蓝牙设置 -->
+    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+    <!--模糊定位权限,仅作用于6.0+-->
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <!--精准定位权限,仅作用于6.0+-->
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    å
     <application
     <application
         android:name="io.flutter.app.FlutterApplication"
         android:name="io.flutter.app.FlutterApplication"
         android:label="logistics_client"
         android:label="logistics_client"

+ 30 - 0
android/app/src/main/assets/driver.txt

@@ -0,0 +1,30 @@
+! 0 200 200 460 1
+IN-DOTS
+BARCODE 128 1 1 70 10 0 [logisticsNo]
+SETSP O
+SETMAG 3 3
+T 8 0 355 0 汽车人
+SETSP 0
+SETMAG 1 1
+T 8 0 10 80 [logisticsNo]   日期: [createTime]  [sendStationName]
+LINE 0 110 576 110 1
+T 8 0 10 120 发:"+[dealerCode]([dealerName]) 电话: [dealerTel]
+T 8 0 10 150 收:"[repairName] 电话:[repairTel]
+T 8 0 10 180 地址:[[endStationName]][goodsLineCode]([goodsLine])[repairAddress]
+LINE 0 215 576 215 1
+T 8 0 10 220 件数:[goodsQuantity] 保险费:[goodsInsurance] 工本费:[goodsFlatCost] 现付:[goodsPaymentMethod]
+T 8 0 10 250 到付:[goodsFreight] 代收:[goodsAgencyFund] 签名:
+LINE 0 280 576 280 1
+SETSP O
+SETMAG 2 3
+T 8 0 15 285 [repairName]
+LINE 0 365 400 365 1
+SETSP 0
+SETMAG 2 2
+T 8 0 10 370 到应收:[goodsPaymentMethod]
+SETSP 0
+SETMAG 1 1
+T 8 0 10 435 打印人:[realName]时间:[currentTime]
+SETFF 0 0
+FORM
+PRINT

+ 25 - 0
android/app/src/main/assets/goods.txt

@@ -0,0 +1,25 @@
+! 0 200 200 460 1
+IN-DOTS
+BARCODE 128 1 1 80 15 0 2#[currentGoodNumber]&[logisticsNo]
+SETSP 0
+SETMAG 3 3
+T 8 0 360 0 汽车人
+SETSP 0
+SETMAG 2 2
+T 8 0 15 90 [logisticsNo]
+SETSP 0
+SETMAG 2 3
+T 8 0 15 145 [endStationName][goodsLineCode]([goodsLine])
+T 8 0 75 220 [currentGoodNum]
+SETSP 0
+SETMAG 1 1
+T 8 0 15 295 日期: [createTime] [sendStationName]
+SETSP 0
+SETMAG 2 3
+T 8 0 15 325 [repairName]
+SETSP 0
+SETMAG 1 1
+T 8 0 15 420 打印人:[realName] 时间:[currentTime]
+SETFF 0 0
+FORM
+PRINT

+ 26 - 0
android/app/src/main/assets/sender.txt

@@ -0,0 +1,26 @@
+! 0 200 200 460 1
+IN-DOTS
+BARCODE 128 1 1 70 10 0 [logisticsNo]
+SETSP O
+SETMAG 3 3
+T 8 0 355 0 汽车人
+SETSP 0
+SETMAG 1 1
+T 8 0 10 80 [logisticsNo] [createTime] [sendStationName]
+LINE 0 110 576 110 1
+T 8 0 10 125 发:[dealerCode] [dealerName] 电话: [dealerTel]
+T 8 0 10 155 收:[repairName] 电话:[repairTel]
+T 8 0 10 185 地址:[[endStationName]][goodsLineCode]([goodsLine])[repairAddress]
+LINE 0 220 576 220 1
+T 8 0 10 225 件数:[goodsQuantity] 保险费:[goodsInsurance] 工本费:[goodsFlatCost] 现付:[goodsPaymentMethod]
+T 8 0 10 255 到付:[goodsPaymentMethod] 代收:[goodsAgencyFund] 账号:[dealerBankAccount]
+LINE 0 285 576 285 1
+T 8 0 10 290 备注:[goodsRemark]
+T 8 0 10 320 客服电话:010-57282902
+LINE 0 350 400 350 1
+T 8 0 10 355 货品保丢不保损,请仔细包装
+T 8 0 10 385 请在10天内尽快查款,系统三个月自动关闭
+T 8 0 10 415 打印人:[realName]时间:[currentTime]
+SETFF 0 0
+FORM
+PRINTs

+ 560 - 0
android/app/src/main/java/com/example/logisticsclient/MainActivity.java

@@ -1,13 +1,573 @@
 package com.example.logisticsclient;
 package com.example.logisticsclient;
 
 
+import android.bluetooth.BluetoothAdapter;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothManager;
+import android.bluetooth.BluetoothSocket;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
+
+
+import HPRTAndroidSDKA300.HPRTPrinterHelper;
 import io.flutter.app.FlutterActivity;
 import io.flutter.app.FlutterActivity;
+import io.flutter.plugin.common.EventChannel;
 import io.flutter.plugins.GeneratedPluginRegistrant;
 import io.flutter.plugins.GeneratedPluginRegistrant;
 
 
+
+import android.content.ContextWrapper;
+import android.content.Intent;
+import android.content.IntentFilter;
+
+import android.util.Log;
+
+
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+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 MainActivity extends FlutterActivity {
 public class MainActivity extends FlutterActivity {
+  private static final String CHANNEL = "io.fivefire/method_channel";
+  private static final String EVENT_CHANNEL = "io.fivefire/event_channel";
+
+
+  private BluetoothAdapter mBluetoothAdapter;
+  private BluetoothManager mBluetoothManager;
   @Override
   @Override
   protected void onCreate(Bundle savedInstanceState) {
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     super.onCreate(savedInstanceState);
     GeneratedPluginRegistrant.registerWith(this);
     GeneratedPluginRegistrant.registerWith(this);
+
+    new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
+      new MethodCallHandler() {
+        @Override
+        public void onMethodCall(MethodCall call, Result result) {
+
+          if (call.method.equals("isBTDevice")) {
+            boolean isBTDevice = isBTDevice();
+
+            if (isBTDevice) {
+              result.success(isBTDevice);
+            } else {
+              result.error("UNAVAILABLE", "没有发现蓝牙模块", null);
+            }
+          } else if (call.method.equals("isEnableBluetooth")) {
+            boolean isEnableBluetooth = isEnableBluetooth();
+
+            if (isEnableBluetooth) {
+              result.success(isEnableBluetooth);
+            } else {
+              result.error("UNAVAILABLE", "蓝牙未打开", null);
+            }
+          } else if (call.method.equals("scanBT")) {
+            boolean isScan = scanBT();
+
+            if (isScan) {
+              result.success(isScan);
+            } else {
+              result.error("UNAVAILABLE", "蓝牙扫描出错", null);
+            }
+          } else if (call.method.equals("connectBT")) {
+            boolean isConn = connnectBT((String) call.argument("address"));
+
+            if (isConn) {
+              result.success(isConn);
+            } else {
+              result.error("UNAVAILABLE", "连接蓝牙出错", null);
+            }
+          } else if (call.method.equals("disConnectBT")) {
+            boolean isConn = disConnnectBT();
+
+            if (isConn) {
+              result.success(isConn);
+            } else {
+              result.error("UNAVAILABLE", "关闭蓝牙出错", null);
+            }
+          } else if (call.method.equals("printOrder")) {
+            boolean isPrint = printOrder((Map < String, String > ) call.argument("pum"), (Integer) call.argument("type"));
+
+            if (isPrint) {
+              result.success(isPrint);
+            } else {
+              result.error("UNAVAILABLE", "打印出错", null);
+            }
+          } else {
+            result.notImplemented();
+          }
+
+
+        }
+      });
+
+
+    new EventChannel(getFlutterView(), EVENT_CHANNEL).setStreamHandler(
+
+
+      new EventChannel.StreamHandler() {
+        private BroadcastReceiver scanBlueReceiver;
+
+
+        @Override
+        public void onListen(Object o, EventChannel.EventSink eventSink) {
+          scanBlueReceiver = createScanBlueReceiver(eventSink);
+
+
+          IntentFilter filter1 = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
+          IntentFilter filter2 = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
+          IntentFilter filter3 = new IntentFilter(BluetoothDevice.ACTION_FOUND);
+
+
+          registerReceiver(scanBlueReceiver, filter1);
+          registerReceiver(scanBlueReceiver, filter2);
+          registerReceiver(scanBlueReceiver, filter3);
+
+          registerReceiver(scanBlueReceiver, new IntentFilter(Intent.ACTION_DATE_CHANGED));
+
+          System.out.println("**********************************BT EEEEESCAN*******************************");
+
+
+        }
+
+        @Override
+        public void onCancel(Object o) {
+
+          unregisterReceiver(scanBlueReceiver);
+          scanBlueReceiver = null;
+
+        }
+      }
+
+    );
+  }
+  /**
+   * 判断当前设备蓝牙模块是否可用
+   *
+   * @return
+   */
+  private boolean isBTDevice() {
+    boolean flag = true;
+    try {
+      mBluetoothManager = (BluetoothManager) getSystemService(ContextWrapper.BLUETOOTH_SERVICE);
+      mBluetoothAdapter = mBluetoothManager.getAdapter();
+      if (mBluetoothAdapter == null) {
+        flag = false;
+        System.out.println("设备未发现蓝牙设备!");
+      }
+
+    } catch (Exception e) {
+      System.out.println("判断蓝牙模块异常" + e.getMessage());
+    }
+
+    return flag;
+  }
+
+  /**
+   * 判断师傅打开蓝牙
+   *
+   * @return
+   */
+  private boolean isEnableBluetooth() {
+    System.out.println("**********************************BT*******************************");
+    mBluetoothAdapter.enable();
+
+    return mBluetoothAdapter.isEnabled();
+  }
+
+
+  /**
+   * 扫描获取蓝牙设备列表
+   *
+   * @return
+   */
+  private boolean scanBT() {
+    boolean flag = false;
+
+    System.out.println("**********************************BT SCAN*******************************");
+
+    try {
+      if (mBluetoothAdapter.isDiscovering()) {
+        mBluetoothAdapter.cancelDiscovery();
+      }
+      System.out.println("**********************************BT1111 SCAN*******************************");
+
+      mBluetoothAdapter.startDiscovery();
+      flag = true;
+    } catch (Exception e) {
+      System.out.println(e.getMessage());
+    }
+
+    return flag;
+
+  }
+
+
+  private static final UUID SPP_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
+  private BluetoothSocket socket;
+
+
+  /**
+   * 扫描广播接收类
+   * Created by zqf on 2018/7/6.
+   */
+
+  private BroadcastReceiver createScanBlueReceiver(final EventChannel.EventSink eventSink) {
+
+    return new BroadcastReceiver() {
+      final String TAG = "RCV";
+
+      //广播接收器,当远程蓝牙设备被发现时,回调函数onReceiver()会被执行
+      @Override
+      public void onReceive(Context context, Intent intent) {
+        String action = intent.getAction();
+        Log.d(TAG, "action:" + action);
+        BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+        switch (action) {
+          case BluetoothAdapter.ACTION_DISCOVERY_STARTED:
+            eventSink.success("开始扫描...");
+            break;
+          case BluetoothAdapter.ACTION_DISCOVERY_FINISHED:
+            eventSink.success("结束扫描..");
+            break;
+          case BluetoothDevice.ACTION_FOUND:
+
+            if (device.getName() != null) {
+              eventSink.success(device.getName() + "||" + device.getAddress());
+            }
+
+            if ("HM-A320-2920".equals(device.getName())) {
+
+
+              try {
+                //                                int sdk = Build.VERSION.SDK_INT;
+                //                                if (sdk >= 10) {
+                //                                    socket = device.createInsecureRfcommSocketToServiceRecord(SPP_UUID);
+                //                                } else {
+                //                                    socket = device.createRfcommSocketToServiceRecord(SPP_UUID);
+                //                                }
+                //
+                //                                System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
+                //                                int i = HPRTPrinterHelper.PortOpen("Bluetooth,"+device.getAddress());
+                //                                System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"+i);
+                connnectBT(device.getAddress());
+
+                //                                ZTexpress();
+                Map < String, String > tmap = new HashMap < > ();
+                //                                printOrder(tmap,1);
+
+
+
+
+              } catch (Exception e) {
+                System.out.println("sss" + e.getMessage());
+                e.printStackTrace();
+              }
+
+
+            }
+
+            break;
+        }
+      }
+    };
+  }
+
+
+  /**
+   * 关闭蓝牙
+   * @return
+   */
+  private boolean disConnnectBT() {
+    boolean flag = false;
+
+    try {
+      flag = HPRTPrinterHelper.PortClose();
+    } catch (Exception e) {
+
+    }
+    return flag;
+
+  }
+
+  private boolean connnectBT(final String address) {
+    boolean flag = false;
+
+
+    final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
+
+    try {
+      int sdk = Build.VERSION.SDK_INT;
+      if (sdk >= 10) {
+        socket = device.createInsecureRfcommSocketToServiceRecord(SPP_UUID);
+      } else {
+        socket = device.createRfcommSocketToServiceRecord(SPP_UUID);
+      }
+
+      int i = HPRTPrinterHelper.PortOpen("Bluetooth," + device.getAddress());
+      System.out.println("连接状态" + i);
+      flag = true;
+
+
+
+    } catch (Exception e) {
+      System.out.println("sss" + e.getMessage());
+      e.printStackTrace();
+    }
+
+
+
+    return flag;
+
+  }
+
+
+
+
+  private byte[] InputStreamToByte(InputStream is) throws IOException {
+    ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
+    int ch;
+    while ((ch = is.read()) != -1) {
+      bytestream.write(ch);
+    }
+    byte imgdata[] = bytestream.toByteArray();
+    bytestream.close();
+    return imgdata;
   }
   }
+
+  /**
+   * 打印
+   * @param pum 打印内容
+   * @param type 打印类型 1:全部 2:配件商:3:修理厂 4:司机 5:货物 6:货物外
+   */
+  private boolean printOrder(Map < String, String > pum, int type) {
+    if (pum == null) {
+      pum = new HashMap < > ();
+    }
+    boolean flag = true;
+
+    try {
+
+
+      switch (type) {
+        case 1:
+          printSender(pum);
+          printGoods(pum);
+          printSender(pum);
+          printDriver(pum);
+          break;
+        case 2:
+          printSender(pum);
+          break;
+        case 3:
+          printSender(pum);
+          break;
+        case 4:
+          printDriver(pum);
+          break;
+        case 5:
+          printGoods(pum);
+          break;
+        case 6:
+          printSender(pum);
+          printSender(pum);
+          printDriver(pum);
+          break;
+        default:
+          System.out.println("参数不正确");
+          break;
+      }
+
+
+    } catch (Exception e) {
+      Log.e("配件商或修理厂打印异常", (new StringBuilder("Activity_Main --> PrintSampleReceipt ")).append(e.getMessage()).toString());
+      flag = false;
+
+    }
+
+    return flag;
+
+  }
+
+
+  private void printSender(Map < String, String > pum) throws Exception {
+
+    //        pum.put("[logisticsNo]", "1111232321321");
+    //        pum.put("[createTime]", "2019");
+    //        pum.put("[sendStationName]", "五方");
+    //        pum.put("[dealerCode]", "WF1112");
+    //        pum.put("[dealerName]", "五方配件商");
+    //        pum.put("[dealerTel]", "13439395969");
+    //        pum.put("[repairName]", "NB修理厂");
+    //        pum.put("[repairTel]", "13826514987");
+    //        pum.put("[endStationName]", "丰台");
+    //        pum.put("[goodsLineCode]", "F12");
+    //        pum.put("[goodsLine]", "马驹桥");
+    //        pum.put("[repairAddress]", "NB修车厂地址)");
+    //        pum.put("[goodsQuantity]", "1");
+    //        pum.put("[goodsInsurance]", "12");
+    //        pum.put("[goodsFlatCost]", "14");
+    //        pum.put("[goodsPaymentMethod]", "200");
+    //        pum.put("[goodsAgencyFund]", "18");
+    //        pum.put("[dealerBankAccount]", "1234512312YH");
+    //        pum.put("[goodsRemark]", "帽子");
+    //        pum.put("[realName]", "xg");
+    //        pum.put("[currentTime]", "21111yyymmm");
+
+
+    Set < String > keySet = pum.keySet();
+    Iterator < String > iterator = keySet.iterator();
+    InputStream afis = this.getResources().getAssets().open("sender.txt"); //打印模版放在assets文件夹里
+    String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
+    while (iterator.hasNext()) {
+      String string = (String) iterator.next();
+      path = path.replace(string, pum.get(string));
+    }
+
+    HPRTPrinterHelper.printText(path);
+    HPRTPrinterHelper.Form();
+    HPRTPrinterHelper.Print();
+
+  }
+
+  private void printGoods(Map < String, String > pum) throws Exception {
+    //        pum.put("[logisticsNo]", "1111232321321");
+    //        pum.put("[createTime]", "2019");
+    //        pum.put("[sendStationName]", "五方");
+    //        pum.put("[dealerCode]", "WF1112");
+    //        pum.put("[dealerName]", "五方配件商");
+    //        pum.put("[dealerTel]", "13439395969");
+    //        pum.put("[repairName]", "NB修理厂");
+    //        pum.put("[repairTel]", "13826514987");
+    //        pum.put("[endStationName]", "丰台");
+    //        pum.put("[goodsLineCode]", "F12");
+    //        pum.put("[goodsLine]", "马驹桥");
+    //        pum.put("[repairAddress]", "NB修车厂地址)");
+    //        pum.put("[goodsQuantity]", "1");
+    //        pum.put("[goodsInsurance]", "12");
+    //        pum.put("[goodsFlatCost]", "14");
+    //        pum.put("[goodsPaymentMethod]", "200");
+    //        pum.put("[goodsAgencyFund]", "18");
+    //        pum.put("[dealerBankAccount]", "1234512312YH");
+    //        pum.put("[goodsRemark]", "帽子");
+    //        pum.put("[realName]", "xg");
+    //        pum.put("[currentTime]", "21111yyymmm");
+
+
+    Set < String > keySet = pum.keySet();
+    Iterator < String > iterator = keySet.iterator();
+    InputStream afis = this.getResources().getAssets().open("goods.txt"); //打印模版放在assets文件夹里
+    String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
+    while (iterator.hasNext()) {
+      String string = (String) iterator.next();
+      path = path.replace(string, pum.get(string));
+    }
+
+    HPRTPrinterHelper.printText(path);
+    HPRTPrinterHelper.Form();
+    HPRTPrinterHelper.Print();
+
+  }
+
+  private void printDriver(Map < String, String > pum) throws Exception {
+
+
+
+    //        pum.put("[logisticsNo]", "1111232321321");
+    //        pum.put("[createTime]", "2019");
+    //        pum.put("[sendStationName]", "五方");
+    //        pum.put("[dealerCode]", "WF1112");
+    //        pum.put("[dealerName]", "五方配件商");
+    //        pum.put("[dealerTel]", "13439395969");
+    //        pum.put("[repairName]", "NB修理厂");
+    //        pum.put("[repairTel]", "13826514987");
+    //        pum.put("[endStationName]", "丰台");
+    //        pum.put("[goodsLineCode]", "F12");
+    //        pum.put("[goodsLine]", "马驹桥");
+    //        pum.put("[repairAddress]", "NB修车厂地址)");
+    //        pum.put("[goodsQuantity]", "1");
+    //        pum.put("[goodsInsurance]", "12");
+    //        pum.put("[goodsFlatCost]", "14");
+    //        pum.put("[goodsPaymentMethod]", "200");
+    //        pum.put("[goodsAgencyFund]", "18");
+    //        pum.put("[dealerBankAccount]", "1234512312YH");
+    //        pum.put("[goodsRemark]", "帽子");
+    //        pum.put("[realName]", "xg");
+    //        pum.put("[currentTime]", "21111yyymmm");
+
+
+    Set < String > keySet = pum.keySet();
+    Iterator < String > iterator = keySet.iterator();
+    InputStream afis = this.getResources().getAssets().open("driver.txt"); //打印模版放在assets文件夹里
+    String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
+    while (iterator.hasNext()) {
+      String string = (String) iterator.next();
+      path = path.replace(string, pum.get(string));
+    }
+
+    HPRTPrinterHelper.printText(path);
+    HPRTPrinterHelper.Form();
+    HPRTPrinterHelper.Print();
+
+
+  }
+
+
+  private void ZTexpress() {
+    try {
+      Map < String, String > pum = new HashMap < String, String > ();
+      pum.put("[logisticsNo]", "1111232321321");
+      pum.put("[createTime]", "2019");
+      pum.put("[sendStationName]", "五方");
+      pum.put("[dealerCode]", "WF1112");
+      pum.put("[dealerName]", "五方配件商");
+      pum.put("[dealerTel]", "13439395969");
+      pum.put("[repairName]", "NB修理厂");
+      pum.put("[repairTel]", "13826514987");
+      pum.put("[endStationName]", "丰台");
+      pum.put("[goodsLineCode]", "F12");
+      pum.put("[goodsLine]", "马驹桥");
+      pum.put("[repairAddress]", "NB修车厂地址)");
+      pum.put("[goodsQuantity]", "1");
+      pum.put("[goodsInsurance]", "12");
+      pum.put("[goodsFlatCost]", "14");
+      pum.put("[goodsPaymentMethod]", "200");
+      pum.put("[goodsAgencyFund]", "18");
+      pum.put("[dealerBankAccount]", "1234512312YH");
+      pum.put("[goodsRemark]", "帽子");
+      pum.put("[realName]", "xg");
+      pum.put("[currentTime]", "21111yyymmm");
+      Set < String > keySet = pum.keySet();
+      Iterator < String > iterator = keySet.iterator();
+      InputStream afis = this.getResources().getAssets().open("goods.txt"); //打印模版放在assets文件夹里
+      String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
+      while (iterator.hasNext()) {
+        String string = (String) iterator.next();
+        path = path.replace(string, pum.get(string));
+      }
+
+      HPRTPrinterHelper.printText(path);
+      HPRTPrinterHelper.Form();
+      HPRTPrinterHelper.Print();
+
+    } catch (Exception e) {
+      Log.e("打印异常", (new StringBuilder("Activity_Main --> PrintSampleReceipt ")).append(e.getMessage()).toString());
+    }
+  }
+
+
 }
 }

+ 5 - 3
lib/pages/order_management_page.dart

@@ -277,9 +277,11 @@ class _QueryWidgetState extends State < QueryWidget > {
                   padding: EdgeInsets.fromLTRB(ScreenUtil.getInstance().setWidth(20), ScreenUtil.getInstance().setWidth(20), ScreenUtil.getInstance().setWidth(20), 0),
                   padding: EdgeInsets.fromLTRB(ScreenUtil.getInstance().setWidth(20), ScreenUtil.getInstance().setWidth(20), ScreenUtil.getInstance().setWidth(20), 0),
                   child: orderList == null ? Center(
                   child: orderList == null ? Center(
                     child: _getMoreWidget()
                     child: _getMoreWidget()
-                  ) : orderList.length == 0 ? Center(
-                    child: Text('暂无订单'),
-                  ) :
+                  ) : orderList.length == 0 ? 
+                 Center(
+                   child: Text('暂无订单'),
+                 )
+                  :
                   RefreshIndicator(
                   RefreshIndicator(
                     onRefresh: refreshOrder,
                     onRefresh: refreshOrder,
                     child: ListView.builder(
                     child: ListView.builder(