├── .flutter-plugins ├── .gitattributes ├── .gitignore ├── .idea ├── codeStyles │ └── Project.xml ├── encodings.xml ├── libraries │ ├── Dart_Packages.xml │ ├── Dart_SDK.xml │ ├── Flutter_Plugins.xml │ ├── Flutter_for_Android.xml │ └── KotlinJavaRuntime.xml ├── misc.xml ├── modules.xml ├── runConfigurations │ └── main_dart.xml ├── vcs.xml └── workspace.xml ├── .metadata ├── LICENSE ├── README.md ├── android ├── .gradle │ ├── 5.1.1 │ │ ├── executionHistory │ │ │ ├── executionHistory.bin │ │ │ └── executionHistory.lock │ │ ├── fileChanges │ │ │ └── last-build.bin │ │ ├── fileContent │ │ │ └── fileContent.lock │ │ ├── fileHashes │ │ │ ├── fileHashes.bin │ │ │ ├── fileHashes.lock │ │ │ └── resourceHashesCache.bin │ │ ├── gc.properties │ │ └── javaCompile │ │ │ ├── classAnalysis.bin │ │ │ ├── jarAnalysis.bin │ │ │ ├── javaCompile.lock │ │ │ └── taskHistory.bin │ ├── buildOutputCleanup │ │ ├── buildOutputCleanup.lock │ │ ├── cache.properties │ │ └── outputFiles.bin │ └── vcs-1 │ │ └── gc.properties ├── .idea │ ├── caches │ │ ├── build_file_checksums.ser │ │ └── gradle_models.ser │ ├── encodings.xml │ ├── gradle.xml │ ├── libraries │ │ ├── Gradle____local_aars____Users_etiantian_flutter_bin_cache_artifacts_engine_android_arm64_flutter_jar_unspecified_jar.xml │ │ ├── Gradle____local_aars____Users_etiantian_flutter_trip_android_asr_plugin_libs_bdasr_V3_20190515_c9eed5d_jar_unspecified_jar.xml │ │ ├── Gradle____local_aars____Users_etiantian_flutter_trip_build_app_intermediates_flutter_debug_libs_jar_unspecified_jar.xml │ │ ├── Gradle____local_aars____Users_etiantian_flutter_trip_build_app_intermediates_flutter_flutter_x86_jar_unspecified_jar.xml │ │ ├── Gradle__android_arch_core_common_1_1_1_jar.xml │ │ ├── Gradle__android_arch_core_runtime_1_1_1_aar.xml │ │ ├── Gradle__android_arch_lifecycle_common_1_1_1_jar.xml │ │ ├── Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml │ │ ├── Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml │ │ ├── Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml │ │ ├── Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml │ │ ├── Gradle__androidx_annotation_annotation_1_0_0_jar.xml │ │ ├── Gradle__androidx_appcompat_appcompat_1_0_0_aar.xml │ │ ├── Gradle__androidx_arch_core_core_common_2_0_0_jar.xml │ │ ├── Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml │ │ ├── Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml │ │ ├── Gradle__androidx_collection_collection_1_0_0_jar.xml │ │ ├── Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml │ │ ├── Gradle__androidx_core_core_1_0_0_aar.xml │ │ ├── Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml │ │ ├── Gradle__androidx_customview_customview_1_0_0_aar.xml │ │ ├── Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml │ │ ├── Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml │ │ ├── Gradle__androidx_fragment_fragment_1_0_0_aar.xml │ │ ├── Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml │ │ ├── Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml │ │ ├── Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml │ │ ├── Gradle__androidx_lifecycle_lifecycle_common_2_0_0_jar.xml │ │ ├── Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml │ │ ├── Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml │ │ ├── Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml │ │ ├── Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml │ │ ├── Gradle__androidx_loader_loader_1_0_0_aar.xml │ │ ├── Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml │ │ ├── Gradle__androidx_print_print_1_0_0_aar.xml │ │ ├── Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml │ │ ├── Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml │ │ ├── Gradle__androidx_vectordrawable_vectordrawable_1_0_0_aar.xml │ │ ├── Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml │ │ ├── Gradle__androidx_versionedparcelable_versionedparcelable_1_0_0_aar.xml │ │ ├── Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml │ │ ├── Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_collections_28_0_0_jar.xml │ │ ├── Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_cursoradapter_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_customview_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_documentfile_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_drawerlayout_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_interpolator_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_loader_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_print_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_support_annotations_27_1_1_jar.xml │ │ ├── Gradle__com_android_support_support_annotations_28_0_0_jar.xml │ │ ├── Gradle__com_android_support_support_compat_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_support_core_ui_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_support_core_utils_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_support_fragment_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml │ │ ├── Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml │ │ ├── Gradle__com_android_support_test_monitor_1_0_2_aar.xml │ │ ├── Gradle__com_android_support_test_runner_1_0_2_aar.xml │ │ ├── Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml │ │ ├── Gradle__com_android_support_viewpager_28_0_0_aar.xml │ │ ├── Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml │ │ ├── Gradle__com_squareup_javawriter_2_1_1_jar.xml │ │ ├── Gradle__javax_inject_javax_inject_1_jar.xml │ │ ├── Gradle__junit_junit_4_12_jar.xml │ │ ├── Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml │ │ ├── Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml │ │ ├── Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml │ │ └── Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ ├── vcs.xml │ └── workspace.xml ├── android.iml ├── app │ ├── app.iml │ ├── build.gradle │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ ├── com │ │ │ │ └── etiantian │ │ │ │ │ └── flutter_trip │ │ │ │ │ └── MainActivity.java │ │ │ └── io │ │ │ │ └── flutter │ │ │ │ └── plugins │ │ │ │ └── GeneratedPluginRegistrant.java │ │ └── res │ │ │ ├── drawable │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── asr_plugin │ ├── .gitignore │ ├── asr_plugin.iml │ ├── build.gradle │ ├── libs │ │ └── bdasr_V3_20190515_c9eed5d.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── etiantian │ │ │ └── flutter │ │ │ └── plugin │ │ │ └── asr │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── jniLibs │ │ │ ├── arm64-v8a │ │ │ │ ├── libBaiduSpeechSDK.so │ │ │ │ └── libvad.dnn.so │ │ │ ├── x86 │ │ │ │ ├── libBaiduSpeechSDK.so │ │ │ │ └── libvad.dnn.so │ │ │ └── x86_64 │ │ │ │ ├── libBaiduSpeechSDK.so │ │ │ │ └── libvad.dnn.so │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── etiantian │ │ └── flutter │ │ └── plugin │ │ └── asr │ │ └── ExampleUnitTest.java ├── build.gradle ├── flutter_trip_android.iml ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties └── settings.gradle ├── flutter_trip.iml ├── images ├── type_channelgroup.png ├── type_channelgs.png ├── type_channelplane.png ├── type_channeltrain.png ├── type_cruise.png ├── type_district.png ├── type_food.png ├── type_hotel.png ├── type_huodong.png ├── type_shop.png ├── type_sight.png ├── type_ticket.png └── type_travelgroup.png ├── ios ├── .symlinks │ ├── flutter │ └── plugins │ │ ├── flutter_webview_plugin │ │ └── shared_preferences ├── Flutter │ ├── App.framework │ │ ├── App │ │ ├── Info.plist │ │ └── flutter_assets │ │ │ ├── AssetManifest.json │ │ │ ├── FontManifest.json │ │ │ ├── LICENSE │ │ │ ├── fonts │ │ │ └── MaterialIcons-Regular.ttf │ │ │ ├── images │ │ │ ├── type_channelgroup.png │ │ │ ├── type_channelgs.png │ │ │ ├── type_channelplane.png │ │ │ ├── type_channeltrain.png │ │ │ ├── type_cruise.png │ │ │ ├── type_district.png │ │ │ ├── type_food.png │ │ │ ├── type_hotel.png │ │ │ ├── type_huodong.png │ │ │ ├── type_shop.png │ │ │ ├── type_sight.png │ │ │ ├── type_ticket.png │ │ │ └── type_travelgroup.png │ │ │ ├── isolate_snapshot_data │ │ │ ├── kernel_blob.bin │ │ │ ├── packages │ │ │ └── cupertino_icons │ │ │ │ └── assets │ │ │ │ └── CupertinoIcons.ttf │ │ │ └── vm_snapshot_data │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ ├── Flutter.framework │ │ ├── Flutter │ │ ├── Headers │ │ │ ├── Flutter.h │ │ │ ├── FlutterAppDelegate.h │ │ │ ├── FlutterBinaryMessenger.h │ │ │ ├── FlutterCallbackCache.h │ │ │ ├── FlutterChannels.h │ │ │ ├── FlutterCodecs.h │ │ │ ├── FlutterDartProject.h │ │ │ ├── FlutterEngine.h │ │ │ ├── FlutterHeadlessDartRunner.h │ │ │ ├── FlutterMacros.h │ │ │ ├── FlutterNavigationController.h │ │ │ ├── FlutterPlatformViews.h │ │ │ ├── FlutterPlugin.h │ │ │ ├── FlutterPluginAppLifeCycleDelegate.h │ │ │ ├── FlutterTexture.h │ │ │ └── FlutterViewController.h │ │ ├── Info.plist │ │ ├── Modules │ │ │ └── module.modulemap │ │ └── icudtl.dat │ ├── Generated.xcconfig │ └── Release.xcconfig ├── Podfile ├── Podfile.lock ├── Pods │ ├── Local Podspecs │ │ ├── Flutter.podspec.json │ │ ├── flutter_webview_plugin.podspec.json │ │ └── shared_preferences.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ │ ├── project.pbxproj │ │ └── xcuserdata │ │ │ ├── etiantian.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── Flutter.xcscheme │ │ │ │ ├── Pods-Runner.xcscheme │ │ │ │ ├── flutter_webview_plugin.xcscheme │ │ │ │ ├── shared_preferences.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── wangjunzi.xcuserdatad │ │ │ └── xcschemes │ │ │ ├── Flutter.xcscheme │ │ │ ├── Pods-Runner.xcscheme │ │ │ ├── flutter_webview_plugin.xcscheme │ │ │ ├── shared_preferences.xcscheme │ │ │ └── xcschememanagement.plist │ └── Target Support Files │ │ ├── Flutter │ │ └── Flutter.xcconfig │ │ ├── Pods-Runner │ │ ├── Pods-Runner-Info.plist │ │ ├── Pods-Runner-acknowledgements.markdown │ │ ├── Pods-Runner-acknowledgements.plist │ │ ├── Pods-Runner-dummy.m │ │ ├── Pods-Runner-frameworks.sh │ │ ├── Pods-Runner-umbrella.h │ │ ├── Pods-Runner.debug.xcconfig │ │ ├── Pods-Runner.modulemap │ │ ├── Pods-Runner.profile.xcconfig │ │ └── Pods-Runner.release.xcconfig │ │ ├── flutter_webview_plugin │ │ ├── flutter_webview_plugin-Info.plist │ │ ├── flutter_webview_plugin-dummy.m │ │ ├── flutter_webview_plugin-prefix.pch │ │ ├── flutter_webview_plugin-umbrella.h │ │ ├── flutter_webview_plugin.modulemap │ │ └── flutter_webview_plugin.xcconfig │ │ └── shared_preferences │ │ ├── shared_preferences-Info.plist │ │ ├── shared_preferences-dummy.m │ │ ├── shared_preferences-prefix.pch │ │ ├── shared_preferences-umbrella.h │ │ ├── shared_preferences.modulemap │ │ └── shared_preferences.xcconfig ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ ├── etiantian.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ └── wangjunzi.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ └── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── GeneratedPluginRegistrant.h │ ├── GeneratedPluginRegistrant.m │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── ServiceDefinitions.json └── plugin │ ├── ASRManager.h │ ├── ASRManager.m │ ├── ASRPlugin.h │ └── ASRPlugin.m ├── lib ├── common │ ├── locale_mamager.dart │ ├── localizations.dart │ ├── localizations_delegate.dart │ ├── string_base.dart │ ├── string_en.dart │ ├── string_zh.dart │ └── theme_manager.dart ├── data_manager │ ├── home_data_manager.dart │ ├── search_data_manager.dart │ ├── travel_item_data_manager.dart │ └── travel_tab_data_manager.dart ├── main.dart ├── models │ ├── common_model.dart │ ├── config_model.dart │ ├── grid_nav_model.dart │ ├── home_model.dart │ ├── sales_box_model.dart │ ├── search_model.dart │ ├── travel_item_model.dart │ └── travel_tab_model.dart ├── navigator │ └── tab_navigator.dart ├── pages │ ├── home_drawer.dart │ ├── home_page.dart │ ├── my_page.dart │ ├── search_page.dart │ ├── speak_page.dart │ ├── travel_page.dart │ └── travel_tab_page.dart ├── plugin │ └── asr_manager.dart ├── redux │ ├── app_state.dart │ ├── local_reducer.dart │ └── theme_data_reducer.dart └── widget │ ├── grid_nav.dart │ ├── loading_container.dart │ ├── local_nav.dart │ ├── sales_box.dart │ ├── search_bar.dart │ ├── sub_nav.dart │ └── webview.dart ├── pubspec.yaml └── test └── widget_test.dart /.flutter-plugins: -------------------------------------------------------------------------------- 1 | flutter_webview_plugin=/Users/etiantian/.pub-cache/hosted/pub.flutter-io.cn/flutter_webview_plugin-0.3.5/ 2 | shared_preferences=/Users/etiantian/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.3+1/ 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.dart linguist-language=Dart -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://www.dartlang.org/guides/libraries/private-files 2 | 3 | # Files and directories created by pub 4 | .dart_tool/ 5 | .packages 6 | .pub/ 7 | build/ 8 | # If you're building an application, you may want to check-in your pubspec.lock 9 | pubspec.lock 10 | 11 | # Directory created by dartdoc 12 | # If you don't generate documentation locally you can remove this line. 13 | doc/api/ 14 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/libraries/Dart_SDK.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/libraries/Flutter_Plugins.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/libraries/Flutter_for_Android.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/libraries/KotlinJavaRuntime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/runConfigurations/main_dart.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 4f5d901395583e94a5ea33e08cf1dbbb1c6d5641 8 | channel: master 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 WaitWalker 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /android/.gradle/5.1.1/executionHistory/executionHistory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/executionHistory/executionHistory.bin -------------------------------------------------------------------------------- /android/.gradle/5.1.1/executionHistory/executionHistory.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/executionHistory/executionHistory.lock -------------------------------------------------------------------------------- /android/.gradle/5.1.1/fileChanges/last-build.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /android/.gradle/5.1.1/fileContent/fileContent.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/fileContent/fileContent.lock -------------------------------------------------------------------------------- /android/.gradle/5.1.1/fileHashes/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/fileHashes/fileHashes.bin -------------------------------------------------------------------------------- /android/.gradle/5.1.1/fileHashes/fileHashes.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/fileHashes/fileHashes.lock -------------------------------------------------------------------------------- /android/.gradle/5.1.1/fileHashes/resourceHashesCache.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/fileHashes/resourceHashesCache.bin -------------------------------------------------------------------------------- /android/.gradle/5.1.1/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/gc.properties -------------------------------------------------------------------------------- /android/.gradle/5.1.1/javaCompile/classAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/javaCompile/classAnalysis.bin -------------------------------------------------------------------------------- /android/.gradle/5.1.1/javaCompile/jarAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/javaCompile/jarAnalysis.bin -------------------------------------------------------------------------------- /android/.gradle/5.1.1/javaCompile/javaCompile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/javaCompile/javaCompile.lock -------------------------------------------------------------------------------- /android/.gradle/5.1.1/javaCompile/taskHistory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/5.1.1/javaCompile/taskHistory.bin -------------------------------------------------------------------------------- /android/.gradle/buildOutputCleanup/buildOutputCleanup.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock -------------------------------------------------------------------------------- /android/.gradle/buildOutputCleanup/cache.properties: -------------------------------------------------------------------------------- 1 | #Tue Jul 02 15:35:54 CST 2019 2 | gradle.version=5.1.1 3 | -------------------------------------------------------------------------------- /android/.gradle/buildOutputCleanup/outputFiles.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/buildOutputCleanup/outputFiles.bin -------------------------------------------------------------------------------- /android/.gradle/vcs-1/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.gradle/vcs-1/gc.properties -------------------------------------------------------------------------------- /android/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /android/.idea/caches/gradle_models.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/.idea/caches/gradle_models.ser -------------------------------------------------------------------------------- /android/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /android/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle____local_aars____Users_etiantian_flutter_bin_cache_artifacts_engine_android_arm64_flutter_jar_unspecified_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle____local_aars____Users_etiantian_flutter_trip_android_asr_plugin_libs_bdasr_V3_20190515_c9eed5d_jar_unspecified_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle____local_aars____Users_etiantian_flutter_trip_build_app_intermediates_flutter_debug_libs_jar_unspecified_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle____local_aars____Users_etiantian_flutter_trip_build_app_intermediates_flutter_flutter_x86_jar_unspecified_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_annotation_annotation_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_core_core_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__junit_junit_4_12_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Android 12 | 13 | 14 | CorrectnessLintAndroid 15 | 16 | 17 | Data flow issuesJava 18 | 19 | 20 | Gradle 21 | 22 | 23 | InternationalizationLintAndroid 24 | 25 | 26 | Java 27 | 28 | 29 | Kotlin 30 | 31 | 32 | LintAndroid 33 | 34 | 35 | PerformanceLintAndroid 36 | 37 | 38 | Probable bugsGradle 39 | 40 | 41 | SecurityLintAndroid 42 | 43 | 44 | 45 | 46 | Android 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 58 | -------------------------------------------------------------------------------- /android/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /android/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/android.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | def localProperties = new Properties() 2 | def localPropertiesFile = rootProject.file('local.properties') 3 | if (localPropertiesFile.exists()) { 4 | localPropertiesFile.withReader('UTF-8') { reader -> 5 | localProperties.load(reader) 6 | } 7 | } 8 | 9 | def flutterRoot = localProperties.getProperty('flutter.sdk') 10 | if (flutterRoot == null) { 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 12 | } 13 | 14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 15 | if (flutterVersionCode == null) { 16 | flutterVersionCode = '1' 17 | } 18 | 19 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 20 | if (flutterVersionName == null) { 21 | flutterVersionName = '1.0' 22 | } 23 | 24 | apply plugin: 'com.android.application' 25 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 26 | 27 | android { 28 | compileSdkVersion 28 29 | 30 | lintOptions { 31 | disable 'InvalidPackage' 32 | } 33 | 34 | defaultConfig { 35 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 36 | applicationId "com.etiantian.flutter_trip" 37 | minSdkVersion 16 38 | targetSdkVersion 28 39 | versionCode flutterVersionCode.toInteger() 40 | versionName flutterVersionName 41 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 42 | } 43 | 44 | buildTypes { 45 | release { 46 | // TODO: Add your own signing config for the release build. 47 | // Signing with the debug keys for now, so `flutter run --release` works. 48 | signingConfig signingConfigs.debug 49 | } 50 | } 51 | } 52 | 53 | flutter { 54 | source '../..' 55 | } 56 | 57 | dependencies { 58 | testImplementation 'junit:junit:4.12' 59 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 60 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 61 | // implementation project(':asr_plugin') 62 | } 63 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 13 | 20 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/etiantian/flutter_trip/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.etiantian.flutter_trip; 2 | 3 | import android.os.Bundle; 4 | import io.flutter.app.FlutterActivity; 5 | import io.flutter.plugins.GeneratedPluginRegistrant; 6 | 7 | public class MainActivity extends FlutterActivity { 8 | @Override 9 | protected void onCreate(Bundle savedInstanceState) { 10 | super.onCreate(savedInstanceState); 11 | GeneratedPluginRegistrant.registerWith(this); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java: -------------------------------------------------------------------------------- 1 | package io.flutter.plugins; 2 | 3 | import io.flutter.plugin.common.PluginRegistry; 4 | import com.flutter_webview_plugin.FlutterWebviewPlugin; 5 | import io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin; 6 | 7 | /** 8 | * Generated file. Do not edit. 9 | */ 10 | public final class GeneratedPluginRegistrant { 11 | public static void registerWith(PluginRegistry registry) { 12 | if (alreadyRegisteredWith(registry)) { 13 | return; 14 | } 15 | FlutterWebviewPlugin.registerWith(registry.registrarFor("com.flutter_webview_plugin.FlutterWebviewPlugin")); 16 | SharedPreferencesPlugin.registerWith(registry.registrarFor("io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin")); 17 | } 18 | 19 | private static boolean alreadyRegisteredWith(PluginRegistry registry) { 20 | final String key = GeneratedPluginRegistrant.class.getCanonicalName(); 21 | if (registry.hasPlugin(key)) { 22 | return true; 23 | } 24 | registry.registrarFor(key); 25 | return false; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/asr_plugin/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/asr_plugin/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 28 5 | 6 | 7 | defaultConfig { 8 | minSdkVersion 16 9 | targetSdkVersion 28 10 | versionCode 1 11 | versionName "1.0" 12 | 13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 14 | 15 | } 16 | 17 | buildTypes { 18 | release { 19 | minifyEnabled false 20 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 21 | } 22 | } 23 | 24 | } 25 | 26 | dependencies { 27 | implementation fileTree(dir: 'libs', include: ['*.jar']) 28 | 29 | implementation 'com.android.support:appcompat-v7:28.+' 30 | testImplementation 'junit:junit:4.12' 31 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 32 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 33 | } 34 | -------------------------------------------------------------------------------- /android/asr_plugin/libs/bdasr_V3_20190515_c9eed5d.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/asr_plugin/libs/bdasr_V3_20190515_c9eed5d.jar -------------------------------------------------------------------------------- /android/asr_plugin/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | 23 | -keep class com.baidu.speech.**{*;} -------------------------------------------------------------------------------- /android/asr_plugin/src/androidTest/java/com/etiantian/flutter/plugin/asr/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.etiantian.flutter.plugin.asr; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.etiantian.flutter.plugin.asr.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /android/asr_plugin/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | 12 | 14 | 17 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /android/asr_plugin/src/main/jniLibs/arm64-v8a/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/asr_plugin/src/main/jniLibs/arm64-v8a/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /android/asr_plugin/src/main/jniLibs/arm64-v8a/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/asr_plugin/src/main/jniLibs/arm64-v8a/libvad.dnn.so -------------------------------------------------------------------------------- /android/asr_plugin/src/main/jniLibs/x86/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/asr_plugin/src/main/jniLibs/x86/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /android/asr_plugin/src/main/jniLibs/x86/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/asr_plugin/src/main/jniLibs/x86/libvad.dnn.so -------------------------------------------------------------------------------- /android/asr_plugin/src/main/jniLibs/x86_64/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/asr_plugin/src/main/jniLibs/x86_64/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /android/asr_plugin/src/main/jniLibs/x86_64/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/asr_plugin/src/main/jniLibs/x86_64/libvad.dnn.so -------------------------------------------------------------------------------- /android/asr_plugin/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | asr_plugin 3 | 4 | -------------------------------------------------------------------------------- /android/asr_plugin/src/test/java/com/etiantian/flutter/plugin/asr/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.etiantian.flutter.plugin.asr; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | google() 4 | jcenter() 5 | } 6 | 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:3.4.1' 9 | } 10 | } 11 | 12 | allprojects { 13 | repositories { 14 | google() 15 | jcenter() 16 | } 17 | } 18 | 19 | rootProject.buildDir = '../build' 20 | subprojects { 21 | project.buildDir = "${rootProject.buildDir}/${project.name}" 22 | } 23 | subprojects { 24 | project.evaluationDependsOn(':app') 25 | } 26 | 27 | task clean(type: Delete) { 28 | delete rootProject.buildDir 29 | } 30 | -------------------------------------------------------------------------------- /android/flutter_trip_android.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | 3 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Jul 02 15:35:37 CST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip 7 | -------------------------------------------------------------------------------- /android/local.properties: -------------------------------------------------------------------------------- 1 | sdk.dir=/Users/etiantian/Library/Android/sdk 2 | flutter.sdk=/Users/etiantian/flutter 3 | flutter.buildMode=debug 4 | flutter.versionName=1.0.0 5 | flutter.versionCode=1 -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':asr_plugin' 2 | 3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() 4 | 5 | def plugins = new Properties() 6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') 7 | if (pluginsFile.exists()) { 8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } 9 | } 10 | 11 | plugins.each { name, path -> 12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() 13 | include ":$name" 14 | project(":$name").projectDir = pluginDirectory 15 | } 16 | -------------------------------------------------------------------------------- /flutter_trip.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /images/type_channelgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_channelgroup.png -------------------------------------------------------------------------------- /images/type_channelgs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_channelgs.png -------------------------------------------------------------------------------- /images/type_channelplane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_channelplane.png -------------------------------------------------------------------------------- /images/type_channeltrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_channeltrain.png -------------------------------------------------------------------------------- /images/type_cruise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_cruise.png -------------------------------------------------------------------------------- /images/type_district.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_district.png -------------------------------------------------------------------------------- /images/type_food.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_food.png -------------------------------------------------------------------------------- /images/type_hotel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_hotel.png -------------------------------------------------------------------------------- /images/type_huodong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_huodong.png -------------------------------------------------------------------------------- /images/type_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_shop.png -------------------------------------------------------------------------------- /images/type_sight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_sight.png -------------------------------------------------------------------------------- /images/type_ticket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_ticket.png -------------------------------------------------------------------------------- /images/type_travelgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/images/type_travelgroup.png -------------------------------------------------------------------------------- /ios/.symlinks/flutter: -------------------------------------------------------------------------------- 1 | /Users/etiantian/flutter/bin/cache/artifacts/engine -------------------------------------------------------------------------------- /ios/.symlinks/plugins/flutter_webview_plugin: -------------------------------------------------------------------------------- 1 | /Users/etiantian/.pub-cache/hosted/pub.flutter-io.cn/flutter_webview_plugin-0.3.5 -------------------------------------------------------------------------------- /ios/.symlinks/plugins/shared_preferences: -------------------------------------------------------------------------------- 1 | /Users/etiantian/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.3+1 -------------------------------------------------------------------------------- /ios/Flutter/App.framework/App: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/App -------------------------------------------------------------------------------- /ios/Flutter/App.framework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 8.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/AssetManifest.json: -------------------------------------------------------------------------------- 1 | {"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"images/type_channelgroup.png":["images/type_channelgroup.png"],"images/type_channelgs.png":["images/type_channelgs.png"],"images/type_channelplane.png":["images/type_channelplane.png"],"images/type_channeltrain.png":["images/type_channeltrain.png"],"images/type_cruise.png":["images/type_cruise.png"],"images/type_district.png":["images/type_district.png"],"images/type_food.png":["images/type_food.png"],"images/type_hotel.png":["images/type_hotel.png"],"images/type_huodong.png":["images/type_huodong.png"],"images/type_shop.png":["images/type_shop.png"],"images/type_sight.png":["images/type_sight.png"],"images/type_ticket.png":["images/type_ticket.png"],"images/type_travelgroup.png":["images/type_travelgroup.png"]} -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/FontManifest.json: -------------------------------------------------------------------------------- 1 | [{"fonts":[{"asset":"fonts/MaterialIcons-Regular.ttf"}],"family":"MaterialIcons"},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}] -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/fonts/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/fonts/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_channelgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_channelgroup.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_channelgs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_channelgs.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_channelplane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_channelplane.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_channeltrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_channeltrain.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_cruise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_cruise.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_district.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_district.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_food.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_food.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_hotel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_hotel.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_huodong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_huodong.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_shop.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_sight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_sight.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_ticket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_ticket.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/images/type_travelgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/images/type_travelgroup.png -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/isolate_snapshot_data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/isolate_snapshot_data -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/kernel_blob.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/kernel_blob.bin -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf -------------------------------------------------------------------------------- /ios/Flutter/App.framework/flutter_assets/vm_snapshot_data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/App.framework/flutter_assets/vm_snapshot_data -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 8.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Flutter: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/Flutter.framework/Flutter -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Flutter Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef FLUTTER_FLUTTERAPPDELEGATE_H_ 6 | #define FLUTTER_FLUTTERAPPDELEGATE_H_ 7 | 8 | #import 9 | 10 | #include "FlutterMacros.h" 11 | #include "FlutterPlugin.h" 12 | 13 | /** 14 | * `UIApplicationDelegate` subclass for simple apps that want default behavior. 15 | * 16 | * This class implements the following behaviors: 17 | * * Status bar touches are forwarded to the key window's root view 18 | * `FlutterViewController`, in order to trigger scroll to top. 19 | * * Keeps the Flutter connection open in debug mode when the phone screen 20 | * locks. 21 | * 22 | * App delegates for Flutter applications are *not* required to inherit from 23 | * this class. Developers of custom app delegate classes should copy and paste 24 | * code as necessary from FlutterAppDelegate.mm. 25 | */ 26 | FLUTTER_EXPORT 27 | @interface FlutterAppDelegate 28 | : UIResponder 29 | 30 | @property(strong, nonatomic) UIWindow* window; 31 | 32 | @end 33 | 34 | #endif // FLUTTER_FLUTTERDARTPROJECT_H_ 35 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Headers/FlutterCallbackCache.h: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Flutter Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef FLUTTER_FLUTTERCALLBACKCACHE_H_ 6 | #define FLUTTER_FLUTTERCALLBACKCACHE_H_ 7 | 8 | #import 9 | 10 | #include "FlutterMacros.h" 11 | 12 | /** 13 | * An object containing the result of `FlutterCallbackCache`'s `lookupCallbackInformation` 14 | * method. 15 | */ 16 | FLUTTER_EXPORT 17 | @interface FlutterCallbackInformation : NSObject 18 | /** 19 | * The name of the callback. 20 | */ 21 | @property(retain) NSString* callbackName; 22 | /** 23 | * The class name of the callback. 24 | */ 25 | @property(retain) NSString* callbackClassName; 26 | /** 27 | * The library path of the callback. 28 | */ 29 | @property(retain) NSString* callbackLibraryPath; 30 | @end 31 | 32 | /** 33 | * The cache containing callback information for spawning a 34 | * `FlutterHeadlessDartRunner`. 35 | */ 36 | FLUTTER_EXPORT 37 | @interface FlutterCallbackCache : NSObject 38 | /** 39 | * Returns the callback information for the given callback handle. 40 | * This callback information can be used when spawning a 41 | * `FlutterHeadlessDartRunner`. 42 | * 43 | * @param handle The handle for a callback, provided by the 44 | * Dart method `PluginUtilities.getCallbackHandle`. 45 | * @return A `FlutterCallbackInformation` object which contains the name of the 46 | * callback, the name of the class in which the callback is defined, and the 47 | * path of the library which contains the callback. If the provided handle is 48 | * invalid, nil is returned. 49 | */ 50 | + (FlutterCallbackInformation*)lookupCallbackInformation:(int64_t)handle; 51 | 52 | @end 53 | 54 | #endif // FLUTTER_FLUTTERCALLBACKCACHE_H_ 55 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Headers/FlutterMacros.h: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Flutter Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef FLUTTER_FLUTTERMACROS_H_ 6 | #define FLUTTER_FLUTTERMACROS_H_ 7 | 8 | #if defined(FLUTTER_FRAMEWORK) 9 | 10 | #define FLUTTER_EXPORT __attribute__((visibility("default"))) 11 | 12 | #else // defined(FLUTTER_SDK) 13 | 14 | #define FLUTTER_EXPORT 15 | 16 | #endif // defined(FLUTTER_SDK) 17 | 18 | #ifndef NS_ASSUME_NONNULL_BEGIN 19 | #define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") 20 | #define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") 21 | #endif // defined(NS_ASSUME_NONNULL_BEGIN) 22 | 23 | /** 24 | * Indicates that the API has been deprecated for the specified reason. Code 25 | * that uses the deprecated API will continue to work as before. However, the 26 | * API will soon become unavailable and users are encouraged to immediately take 27 | * the appropriate action mentioned in the deprecation message and the BREAKING 28 | * CHANGES section present in the Flutter.h umbrella header. 29 | */ 30 | #define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg))) 31 | 32 | /** 33 | * Indicates that the previously deprecated API is now unavailable. Code that 34 | * uses the API will not work and the declaration of the API is only a stub 35 | * meant to display the given message detailing the actions for the user to take 36 | * immediately. 37 | */ 38 | #define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg))) 39 | 40 | #endif // FLUTTER_FLUTTERMACROS_H_ 41 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Headers/FlutterNavigationController.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #import 6 | 7 | @interface FlutterNavigationController : UINavigationController 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Headers/FlutterPlatformViews.h: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Flutter Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef FLUTTER_FLUTTERPLATFORMVIEWS_H_ 6 | #define FLUTTER_FLUTTERPLATFORMVIEWS_H_ 7 | 8 | #import 9 | 10 | #import "FlutterCodecs.h" 11 | #import "FlutterMacros.h" 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | /** 16 | * Wraps a `UIView` for embedding in the Flutter hierarchy 17 | */ 18 | @protocol FlutterPlatformView 19 | /** 20 | * Returns a reference to the `UIView` that is wrapped by this `FlutterPlatformView`. 21 | */ 22 | - (UIView*)view; 23 | @end 24 | 25 | FLUTTER_EXPORT 26 | @protocol FlutterPlatformViewFactory 27 | /** 28 | * Create a `FlutterPlatformView`. 29 | * 30 | * Implemented by iOS code that expose a `UIView` for embedding in a Flutter app. 31 | * 32 | * The implementation of this method should create a new `UIView` and return it. 33 | * 34 | * @param frame The rectangle for the newly created `UIView` measued in points. 35 | * @param viewId A unique identifier for this `UIView`. 36 | * @param args Parameters for creating the `UIView` sent from the Dart side of the Flutter app. 37 | * If `createArgsCodec` is not implemented, or if no creation arguments were sent from the Dart 38 | * code, this will be null. Otherwise this will be the value sent from the Dart code as decoded by 39 | * `createArgsCodec`. 40 | */ 41 | - (NSObject*)createWithFrame:(CGRect)frame 42 | viewIdentifier:(int64_t)viewId 43 | arguments:(id _Nullable)args; 44 | 45 | /** 46 | * Returns the `FlutterMessageCodec` for decoding the args parameter of `createWithFrame`. 47 | * 48 | * Only needs to be implemented if `createWithFrame` needs an arguments parameter. 49 | */ 50 | @optional 51 | - (NSObject*)createArgsCodec; 52 | @end 53 | 54 | NS_ASSUME_NONNULL_END 55 | 56 | #endif // FLUTTER_FLUTTERPLATFORMVIEWS_H_ 57 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Headers/FlutterTexture.h: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Flutter Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #ifndef FLUTTER_FLUTTERTEXTURE_H_ 6 | #define FLUTTER_FLUTTERTEXTURE_H_ 7 | 8 | #import 9 | #import 10 | 11 | #include "FlutterMacros.h" 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | FLUTTER_EXPORT 16 | @protocol FlutterTexture 17 | - (CVPixelBufferRef _Nullable)copyPixelBuffer; 18 | @end 19 | 20 | FLUTTER_EXPORT 21 | @protocol FlutterTextureRegistry 22 | - (int64_t)registerTexture:(NSObject*)texture; 23 | - (void)textureFrameAvailable:(int64_t)textureId; 24 | - (void)unregisterTexture:(int64_t)textureId; 25 | @end 26 | 27 | NS_ASSUME_NONNULL_END 28 | 29 | #endif // FLUTTER_FLUTTERTEXTURE_H_ 30 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | Flutter 9 | CFBundleIdentifier 10 | io.flutter.flutter 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | Flutter 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 8.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module Flutter { 2 | umbrella header "Flutter.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Flutter/Flutter.framework/icudtl.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Flutter/Flutter.framework/icudtl.dat -------------------------------------------------------------------------------- /ios/Flutter/Generated.xcconfig: -------------------------------------------------------------------------------- 1 | // This is a generated file; do not edit or check into version control. 2 | FLUTTER_ROOT=/Users/etiantian/flutter 3 | FLUTTER_APPLICATION_PATH=/Users/etiantian/Desktop/flutter_trip 4 | FLUTTER_TARGET=/Users/etiantian/Desktop/flutter_trip/lib/main.dart 5 | FLUTTER_BUILD_DIR=build 6 | SYMROOT=${SOURCE_ROOT}/../build/ios 7 | FLUTTER_FRAMEWORK_DIR=/Users/etiantian/flutter/bin/cache/artifacts/engine/ios 8 | FLUTTER_BUILD_NAME=1.0.0 9 | FLUTTER_BUILD_NUMBER=1 10 | TRACK_WIDGET_CREATION=true 11 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 6 | 7 | project 'Runner', { 8 | 'Debug' => :debug, 9 | 'Profile' => :release, 10 | 'Release' => :release, 11 | } 12 | 13 | def parse_KV_file(file, separator='=') 14 | file_abs_path = File.expand_path(file) 15 | if !File.exists? file_abs_path 16 | return []; 17 | end 18 | pods_ary = [] 19 | skip_line_start_symbols = ["#", "/"] 20 | File.foreach(file_abs_path) { |line| 21 | next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } 22 | plugin = line.split(pattern=separator) 23 | if plugin.length == 2 24 | podname = plugin[0].strip() 25 | path = plugin[1].strip() 26 | podpath = File.expand_path("#{path}", file_abs_path) 27 | pods_ary.push({:name => podname, :path => podpath}); 28 | else 29 | puts "Invalid plugin specification: #{line}" 30 | end 31 | } 32 | return pods_ary 33 | end 34 | 35 | target 'Runner' do 36 | use_frameworks! 37 | 38 | # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock 39 | # referring to absolute paths on developers' machines. 40 | system('rm -rf .symlinks') 41 | system('mkdir -p .symlinks/plugins') 42 | 43 | # Flutter Pods 44 | generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig') 45 | if generated_xcode_build_settings.empty? 46 | puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first." 47 | end 48 | generated_xcode_build_settings.map { |p| 49 | if p[:name] == 'FLUTTER_FRAMEWORK_DIR' 50 | symlink = File.join('.symlinks', 'flutter') 51 | File.symlink(File.dirname(p[:path]), symlink) 52 | pod 'Flutter', :path => File.join(symlink, File.basename(p[:path])) 53 | end 54 | } 55 | 56 | # Plugin Pods 57 | plugin_pods = parse_KV_file('../.flutter-plugins') 58 | plugin_pods.map { |p| 59 | symlink = File.join('.symlinks', 'plugins', p[:name]) 60 | File.symlink(p[:path], symlink) 61 | pod p[:name], :path => File.join(symlink, 'ios') 62 | } 63 | end 64 | 65 | # Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system. 66 | install! 'cocoapods', :disable_input_output_paths => true 67 | 68 | post_install do |installer| 69 | installer.pods_project.targets.each do |target| 70 | target.build_configurations.each do |config| 71 | config.build_settings['ENABLE_BITCODE'] = 'NO' 72 | end 73 | end 74 | end 75 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Flutter (1.0.0) 3 | - flutter_webview_plugin (0.0.1): 4 | - Flutter 5 | - shared_preferences (0.0.1): 6 | - Flutter 7 | 8 | DEPENDENCIES: 9 | - Flutter (from `.symlinks/flutter/ios`) 10 | - flutter_webview_plugin (from `.symlinks/plugins/flutter_webview_plugin/ios`) 11 | - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) 12 | 13 | EXTERNAL SOURCES: 14 | Flutter: 15 | :path: ".symlinks/flutter/ios" 16 | flutter_webview_plugin: 17 | :path: ".symlinks/plugins/flutter_webview_plugin/ios" 18 | shared_preferences: 19 | :path: ".symlinks/plugins/shared_preferences/ios" 20 | 21 | SPEC CHECKSUMS: 22 | Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a 23 | flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694 24 | shared_preferences: 1feebfa37bb57264736e16865e7ffae7fc99b523 25 | 26 | PODFILE CHECKSUM: b6a0a141693093b304368d08511b46cf3d1d0ac5 27 | 28 | COCOAPODS: 1.7.3 29 | -------------------------------------------------------------------------------- /ios/Pods/Local Podspecs/Flutter.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Flutter", 3 | "version": "1.0.0", 4 | "summary": "High-performance, high-fidelity mobile apps.", 5 | "description": "Flutter provides an easy and productive way to build and deploy high-performance mobile apps for Android and iOS.", 6 | "homepage": "https://flutter.io", 7 | "license": { 8 | "type": "MIT" 9 | }, 10 | "authors": { 11 | "Flutter Dev Team": "flutter-dev@googlegroups.com" 12 | }, 13 | "source": { 14 | "git": "https://github.com/flutter/engine", 15 | "tag": "1.0.0" 16 | }, 17 | "platforms": { 18 | "ios": "7.0" 19 | }, 20 | "vendored_frameworks": "Flutter.framework" 21 | } 22 | -------------------------------------------------------------------------------- /ios/Pods/Local Podspecs/flutter_webview_plugin.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flutter_webview_plugin", 3 | "version": "0.0.1", 4 | "summary": "A new flutter plugin project.", 5 | "description": "A new flutter plugin project.", 6 | "homepage": "https://github.com/dart-flitter/flutter_webview_plugin", 7 | "license": { 8 | "file": "../LICENSE" 9 | }, 10 | "authors": { 11 | "Your Company": "email@example.com" 12 | }, 13 | "source": { 14 | "path": "." 15 | }, 16 | "source_files": "Classes/**/*", 17 | "public_header_files": "Classes/**/*.h", 18 | "dependencies": { 19 | "Flutter": [ 20 | 21 | ] 22 | }, 23 | "platforms": { 24 | "ios": "8.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ios/Pods/Local Podspecs/shared_preferences.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "shared_preferences", 3 | "version": "0.0.1", 4 | "summary": "A Flutter plugin for reading and writing simple key-value pairs.", 5 | "description": "A Flutter plugin for reading and writing simple key-value pairs.", 6 | "homepage": "https://github.com/flutter/plugins/tree/master/packages/shared_preferences", 7 | "license": { 8 | "file": "../LICENSE" 9 | }, 10 | "authors": { 11 | "Flutter Team": "flutter-dev@googlegroups.com" 12 | }, 13 | "source": { 14 | "path": "." 15 | }, 16 | "source_files": "Classes/**/*", 17 | "public_header_files": "Classes/**/*.h", 18 | "dependencies": { 19 | "Flutter": [ 20 | 21 | ] 22 | }, 23 | "platforms": { 24 | "ios": "8.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ios/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Flutter (1.0.0) 3 | - flutter_webview_plugin (0.0.1): 4 | - Flutter 5 | - shared_preferences (0.0.1): 6 | - Flutter 7 | 8 | DEPENDENCIES: 9 | - Flutter (from `.symlinks/flutter/ios`) 10 | - flutter_webview_plugin (from `.symlinks/plugins/flutter_webview_plugin/ios`) 11 | - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) 12 | 13 | EXTERNAL SOURCES: 14 | Flutter: 15 | :path: ".symlinks/flutter/ios" 16 | flutter_webview_plugin: 17 | :path: ".symlinks/plugins/flutter_webview_plugin/ios" 18 | shared_preferences: 19 | :path: ".symlinks/plugins/shared_preferences/ios" 20 | 21 | SPEC CHECKSUMS: 22 | Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a 23 | flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694 24 | shared_preferences: 1feebfa37bb57264736e16865e7ffae7fc99b523 25 | 26 | PODFILE CHECKSUM: b6a0a141693093b304368d08511b46cf3d1d0ac5 27 | 28 | COCOAPODS: 1.7.3 29 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/etiantian.xcuserdatad/xcschemes/Flutter.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/etiantian.xcuserdatad/xcschemes/Pods-Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/etiantian.xcuserdatad/xcschemes/flutter_webview_plugin.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/etiantian.xcuserdatad/xcschemes/shared_preferences.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/etiantian.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Flutter.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Pods-Runner.xcscheme 13 | 14 | isShown 15 | 16 | 17 | flutter_webview_plugin.xcscheme 18 | 19 | isShown 20 | 21 | 22 | shared_preferences.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/wangjunzi.xcuserdatad/xcschemes/Flutter.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/wangjunzi.xcuserdatad/xcschemes/flutter_webview_plugin.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/wangjunzi.xcuserdatad/xcschemes/shared_preferences.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/wangjunzi.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Flutter.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Pods-Runner.xcscheme 13 | 14 | isShown 15 | 16 | 17 | flutter_webview_plugin.xcscheme 18 | 19 | isShown 20 | 21 | 22 | shared_preferences.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Flutter/Flutter.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Flutter 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../.symlinks/flutter/ios" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.symlinks/flutter/ios 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Runner : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Runner 5 | @end 6 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_RunnerVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_RunnerVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/flutter_webview_plugin" "${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences" "${PODS_ROOT}/../.symlinks/flutter/ios" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/flutter_webview_plugin/flutter_webview_plugin.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences/shared_preferences.framework/Headers" 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_LDFLAGS = $(inherited) -framework "Flutter" -framework "flutter_webview_plugin" -framework "shared_preferences" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Runner/Pods-Runner.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Runner { 2 | umbrella header "Pods-Runner-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/flutter_webview_plugin" "${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences" "${PODS_ROOT}/../.symlinks/flutter/ios" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/flutter_webview_plugin/flutter_webview_plugin.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences/shared_preferences.framework/Headers" 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_LDFLAGS = $(inherited) -framework "Flutter" -framework "flutter_webview_plugin" -framework "shared_preferences" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/flutter_webview_plugin" "${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences" "${PODS_ROOT}/../.symlinks/flutter/ios" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/flutter_webview_plugin/flutter_webview_plugin.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences/shared_preferences.framework/Headers" 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_LDFLAGS = $(inherited) -framework "Flutter" -framework "flutter_webview_plugin" -framework "shared_preferences" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/flutter_webview_plugin/flutter_webview_plugin-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.0.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/flutter_webview_plugin/flutter_webview_plugin-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_flutter_webview_plugin : NSObject 3 | @end 4 | @implementation PodsDummy_flutter_webview_plugin 5 | @end 6 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/flutter_webview_plugin/flutter_webview_plugin-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/flutter_webview_plugin/flutter_webview_plugin-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "FlutterWebviewPlugin.h" 14 | 15 | FOUNDATION_EXPORT double flutter_webview_pluginVersionNumber; 16 | FOUNDATION_EXPORT const unsigned char flutter_webview_pluginVersionString[]; 17 | 18 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/flutter_webview_plugin/flutter_webview_plugin.modulemap: -------------------------------------------------------------------------------- 1 | framework module flutter_webview_plugin { 2 | umbrella header "flutter_webview_plugin-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/flutter_webview_plugin/flutter_webview_plugin.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/flutter_webview_plugin 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../.symlinks/flutter/ios" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.symlinks/plugins/flutter_webview_plugin/ios 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/shared_preferences/shared_preferences-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.0.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/shared_preferences/shared_preferences-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_shared_preferences : NSObject 3 | @end 4 | @implementation PodsDummy_shared_preferences 5 | @end 6 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/shared_preferences/shared_preferences-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/shared_preferences/shared_preferences-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "SharedPreferencesPlugin.h" 14 | 15 | FOUNDATION_EXPORT double shared_preferencesVersionNumber; 16 | FOUNDATION_EXPORT const unsigned char shared_preferencesVersionString[]; 17 | 18 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/shared_preferences/shared_preferences.modulemap: -------------------------------------------------------------------------------- 1 | framework module shared_preferences { 2 | umbrella header "shared_preferences-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/shared_preferences/shared_preferences.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../.symlinks/flutter/ios" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.symlinks/plugins/shared_preferences/ios 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcuserdata/etiantian.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner.xcworkspace/xcuserdata/etiantian.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcuserdata/wangjunzi.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner.xcworkspace/xcuserdata/wangjunzi.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | 11 | GeneratedPluginRegistrant.register(with: self) 12 | 13 | // 注册自定义plugin 14 | ASRPlugin.register(with: self.registrar(forPlugin: "ASRPlugin")) 15 | 16 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/waitwalker/flutter_trip/05145f24efd0f4c5426587da7f2d217aa66ceb89/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Runner/GeneratedPluginRegistrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | #ifndef GeneratedPluginRegistrant_h 6 | #define GeneratedPluginRegistrant_h 7 | 8 | #import 9 | 10 | @interface GeneratedPluginRegistrant : NSObject 11 | + (void)registerWithRegistry:(NSObject*)registry; 12 | @end 13 | 14 | #endif /* GeneratedPluginRegistrant_h */ 15 | -------------------------------------------------------------------------------- /ios/Runner/GeneratedPluginRegistrant.m: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | #import "GeneratedPluginRegistrant.h" 6 | #import 7 | #import 8 | 9 | @implementation GeneratedPluginRegistrant 10 | 11 | + (void)registerWithRegistry:(NSObject*)registry { 12 | [FlutterWebviewPlugin registerWithRegistrar:[registry registrarForPlugin:@"FlutterWebviewPlugin"]]; 13 | [FLTSharedPreferencesPlugin registerWithRegistrar:[registry registrarForPlugin:@"FLTSharedPreferencesPlugin"]]; 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | flutter_trip 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | $(FLUTTER_BUILD_NAME) 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(FLUTTER_BUILD_NUMBER) 23 | LSRequiresIPhoneOS 24 | 25 | NSAppTransportSecurity 26 | 27 | NSAllowsArbitraryLoads 28 | 29 | 30 | NSMicrophoneUsageDescription 31 | 使用语音进行搜索 32 | UILaunchStoryboardName 33 | LaunchScreen 34 | UIMainStoryboardFile 35 | Main 36 | UISupportedInterfaceOrientations 37 | 38 | UIInterfaceOrientationPortrait 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UISupportedInterfaceOrientations~ipad 43 | 44 | UIInterfaceOrientationPortrait 45 | UIInterfaceOrientationPortraitUpsideDown 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | UIViewControllerBasedStatusBarAppearance 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | #import "ASRPlugin.h" 3 | -------------------------------------------------------------------------------- /ios/ServiceDefinitions.json: -------------------------------------------------------------------------------- 1 | {"services":[]} -------------------------------------------------------------------------------- /ios/plugin/ASRManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASRManager.h 3 | // Runner 4 | // 5 | // Created by etiantian on 2019/7/2. 6 | // Copyright © 2019 The Chromium Authors. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | typedef void(^AsrCallBack)(NSString *message); 14 | 15 | @interface ASRManager : NSObject 16 | 17 | + (instancetype)initWith:(AsrCallBack)success failure:(AsrCallBack)failure; 18 | 19 | /** 20 | 开始录音 21 | */ 22 | - (void)start; 23 | 24 | 25 | /** 26 | 停止录音 27 | */ 28 | - (void)stop; 29 | 30 | /** 31 | 停止录音 32 | */ 33 | - (void)cancel; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /ios/plugin/ASRPlugin.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASRPlugin.h 3 | // Runner 4 | // 5 | // Created by etiantian on 2019/7/3. 6 | // Copyright © 2019 The Chromium Authors. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface ASRPlugin : NSObject 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /ios/plugin/ASRPlugin.m: -------------------------------------------------------------------------------- 1 | // 2 | // ASRPlugin.m 3 | // Runner 4 | // 5 | // Created by etiantian on 2019/7/3. 6 | // Copyright © 2019 The Chromium Authors. All rights reserved. 7 | // 8 | 9 | #import "ASRManager.h" 10 | #import "ASRPlugin.h" 11 | 12 | @interface ASRPlugin() 13 | @property (nonatomic, strong) ASRManager *asrManager; 14 | @property (nonatomic, copy) FlutterResult result; 15 | 16 | @end 17 | 18 | @implementation ASRPlugin 19 | 20 | + (void)registerWithRegistrar:(NSObject *)registrar { 21 | FlutterMethodChannel *channel = [FlutterMethodChannel methodChannelWithName:@"asr_plugin" binaryMessenger:[registrar messenger]]; 22 | ASRPlugin *plugin = [ASRPlugin new]; 23 | [registrar addMethodCallDelegate:plugin channel:channel]; 24 | } 25 | 26 | - (void)handleMethodCall:(FlutterMethodCall *)call result:(FlutterResult)result { 27 | if ([call.method isEqualToString:@"start"]) { 28 | self.result = result; 29 | [self.asrManager start]; 30 | } else if ([call.method isEqualToString:@"stop"]) { 31 | [self.asrManager stop]; 32 | } else if ([call.method isEqualToString:@"cancel"]) { 33 | [self.asrManager cancel]; 34 | } else { 35 | result(FlutterMethodNotImplemented); 36 | } 37 | } 38 | 39 | - (ASRManager *)asrManager { 40 | if (_asrManager == nil) { 41 | _asrManager = [ASRManager initWith:^(NSString * _Nonnull message) { 42 | if (self.result) { 43 | self.result(message); 44 | self.result = nil; 45 | } 46 | } failure:^(NSString * _Nonnull message) { 47 | if (self.result) { 48 | self.result([FlutterError errorWithCode:@"ASR failure" message:message details:nil]); 49 | self.result = nil; 50 | } 51 | }]; 52 | } 53 | return _asrManager; 54 | } 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /lib/common/locale_mamager.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_trip/common/localizations.dart'; 3 | import 'package:flutter_trip/common/string_base.dart'; 4 | 5 | 6 | class LocaleManager { 7 | static MTTStringBase getLocale(BuildContext context) { 8 | return MTTLocalizations.of(context).currentLocalized; 9 | } 10 | } -------------------------------------------------------------------------------- /lib/common/localizations.dart: -------------------------------------------------------------------------------- 1 | import 'dart:ui'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter_trip/common/string_base.dart'; 4 | import 'package:flutter_trip/common/string_en.dart'; 5 | 6 | ///自定义多语言实现 7 | class MTTLocalizations { 8 | final Locale locale; 9 | 10 | MTTLocalizations(this.locale); 11 | 12 | ///根据不同 locale.languageCode 加载不同语言对应 13 | ///GSYStringEn和GSYStringZh都继承了GSYStringBase 14 | static Map _localizedValues = { 15 | 'en': new MTTStringEn(), 16 | 'zh': new MTTStringEn(), 17 | }; 18 | 19 | MTTStringBase get currentLocalized { 20 | return _localizedValues[locale.languageCode]; 21 | } 22 | 23 | ///通过 Localizations 加载当前的 GSYLocalizations 24 | ///获取对应的 GSYStringBase 25 | static MTTLocalizations of(BuildContext context) { 26 | return Localizations.of(context, MTTLocalizations); 27 | } 28 | } -------------------------------------------------------------------------------- /lib/common/localizations_delegate.dart: -------------------------------------------------------------------------------- 1 | 2 | import 'dart:async'; 3 | 4 | import 'package:flutter/foundation.dart'; 5 | import 'package:flutter/material.dart'; 6 | import 'package:flutter_trip/common/localizations.dart'; 7 | 8 | 9 | class MTTLocalizationsDelegate extends LocalizationsDelegate { 10 | 11 | MTTLocalizationsDelegate(); 12 | 13 | @override 14 | bool isSupported(Locale locale) { 15 | ///支持中文和英语 16 | return ['en', 'zh'].contains(locale.languageCode); 17 | } 18 | 19 | ///根据locale,创建一个对象用于提供当前locale下的文本显示 20 | @override 21 | Future load(Locale locale) { 22 | return SynchronousFuture(MTTLocalizations(locale)); 23 | } 24 | 25 | @override 26 | bool shouldReload(LocalizationsDelegate old) { 27 | return false; 28 | } 29 | 30 | ///全局静态的代理 31 | static MTTLocalizationsDelegate delegate = MTTLocalizationsDelegate(); 32 | } 33 | -------------------------------------------------------------------------------- /lib/common/theme_manager.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_trip/redux/theme_data_reducer.dart'; 3 | import 'package:redux/redux.dart'; 4 | 5 | ///颜色 6 | class MTTColors { 7 | static const String primaryValueString = "#24292E"; 8 | static const String primaryLightValueString = "#42464b"; 9 | static const String primaryDarkValueString = "#121917"; 10 | static const String miWhiteString = "#ececec"; 11 | static const String actionBlueString = "#267aff"; 12 | static const String webDraculaBackgroundColorString = "#282a36"; 13 | 14 | static const int primaryValue = 0xFF24292E; 15 | static const int primaryLightValue = 0xFF42464b; 16 | static const int primaryDarkValue = 0xFF121917; 17 | 18 | static const int cardWhite = 0xFFFFFFFF; 19 | static const int textWhite = 0xFFFFFFFF; 20 | static const int miWhite = 0xffececec; 21 | static const int white = 0xFFFFFFFF; 22 | static const int actionBlue = 0xff267aff; 23 | static const int subTextColor = 0xff959595; 24 | static const int subLightTextColor = 0xffc4c4c4; 25 | 26 | static const int mainBackgroundColor = miWhite; 27 | 28 | static const int mainTextColor = primaryDarkValue; 29 | static const int textColorWhite = white; 30 | 31 | static const MaterialColor primarySwatch = const MaterialColor( 32 | primaryValue, 33 | const { 34 | 50: const Color(primaryLightValue), 35 | 100: const Color(primaryLightValue), 36 | 200: const Color(primaryLightValue), 37 | 300: const Color(primaryLightValue), 38 | 400: const Color(primaryLightValue), 39 | 500: const Color(primaryValue), 40 | 600: const Color(primaryDarkValue), 41 | 700: const Color(primaryDarkValue), 42 | 800: const Color(primaryDarkValue), 43 | 900: const Color(primaryDarkValue), 44 | }, 45 | ); 46 | } 47 | 48 | class ThemeManager { 49 | 50 | static List getThemeListColor() { 51 | return [ 52 | MTTColors.primarySwatch, 53 | Colors.brown, 54 | Colors.blue, 55 | Colors.teal, 56 | Colors.amber, 57 | Colors.blueGrey, 58 | Colors.deepOrange, 59 | ]; 60 | } 61 | 62 | static pushTheme(Store store, int index) { 63 | ThemeData themeData; 64 | List colors = getThemeListColor(); 65 | themeData = getThemeData(colors[index]); 66 | store.dispatch(new RefreshThemeDataAction(themeData)); 67 | } 68 | 69 | static getThemeData(Color color) { 70 | return ThemeData(primarySwatch: color, platform: TargetPlatform.android); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /lib/data_manager/home_data_manager.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'dart:convert';//模型转换用到 3 | import 'package:flutter_trip/models/home_model.dart'; 4 | import 'package:http/http.dart' as http; 5 | 6 | 7 | const kHomeUrl = "http://www.devio.org/io/flutter_app/json/home_page.json"; 8 | 9 | /// 首页数据管理 10 | class HomeDataManager { 11 | 12 | static Future fetch() async { 13 | final http.Response response = await http.get(kHomeUrl); 14 | 15 | if (response.statusCode == 200) { 16 | Utf8Decoder utf8decoder = Utf8Decoder();//修复中文乱码问题 17 | var result = json.decode(utf8decoder.convert(response.bodyBytes)); 18 | return HomeModel.fromJson(result); 19 | } else { 20 | throw Exception("首页接口请求失败"); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /lib/data_manager/search_data_manager.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'dart:convert';//模型转换用到 3 | import 'package:flutter_trip/models/search_model.dart'; 4 | import 'package:http/http.dart' as http; 5 | 6 | 7 | const kSearchUrl = "https://m.ctrip.com/restapi/h5api/searchapp/search?source=mobileweb&action=autocomplete&contenType=json&keyword="; 8 | 9 | /// 搜索页面数据管理类 10 | class SearchDataManager { 11 | 12 | static Future fetch(String url, String text) async { 13 | final http.Response response = await http.get(url); 14 | 15 | if (response.statusCode == 200) { 16 | Utf8Decoder utf8decoder = Utf8Decoder();//修复中文乱码问题 17 | var result = json.decode(utf8decoder.convert(response.bodyBytes)); 18 | // 防止搜索过快 19 | SearchModel model = SearchModel.fromJson(result); 20 | model.keyword = text; 21 | return model; 22 | } else { 23 | throw Exception("搜索接口请求失败"); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /lib/data_manager/travel_item_data_manager.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'dart:convert';//模型转换用到 3 | import 'package:flutter_trip/models/travel_item_model.dart'; 4 | import 'package:http/http.dart' as http; 5 | 6 | 7 | var Params = { 8 | "districtId": -1, 9 | "groupChannelCode": "tourphoto_global1", 10 | "type": null, 11 | "lat": -180, 12 | "lon": -180, 13 | "locatedDistrictId": 2, 14 | "pagePara": { 15 | "pageIndex": 1, 16 | "pageSize": 10, 17 | "sortType": 9, 18 | "sortDirection": 0 19 | }, 20 | "imageCutType": 1, 21 | "head": { 22 | "cid": "09031014111431397988", 23 | "ctok": "", 24 | "cver": "1.0", 25 | "lang": "01", 26 | "sid": "8888", 27 | "syscode": "09", 28 | "auth": null, 29 | "extension": [ 30 | { 31 | "name": "protocal", 32 | "value": "https" 33 | } 34 | ] 35 | }, 36 | "contentType": "json" 37 | }; 38 | 39 | const String kURL = "http://m.ctrip.com/restapi/soa2/16189/json/searchTripShootListForHomePageV2?_fxpcqlniredt=09031014111431397988&__gw_appid=99999999&__gw_ver=1.0&__gw_from=10650013707&__gw_platform=H5"; 40 | 41 | /// 旅拍页接口管理类 42 | class TravelItemDataManager { 43 | 44 | static Future fetch(String url, String groupChannelCode, int pageIndex, int pageSize) async { 45 | 46 | Map paramsMap = Params["pagePara"]; 47 | Params["groupChannelCode"] = groupChannelCode; 48 | paramsMap["pageIndex"] = pageIndex; 49 | paramsMap["pageSize"] = pageSize; 50 | 51 | final http.Response response = await http.post(url,body: jsonEncode(Params)); 52 | 53 | if (response.statusCode == 200) { 54 | print(response.bodyBytes); 55 | Utf8Decoder utf8decoder = Utf8Decoder();//修复中文乱码问题 56 | var result = json.decode(utf8decoder.convert(response.bodyBytes)); 57 | var rs = json.encode(result).toString(); 58 | print(rs); 59 | return TravelItemModel.fromJson(result); 60 | } else { 61 | throw Exception("旅拍页接口请求失败"); 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /lib/data_manager/travel_tab_data_manager.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'dart:convert';//模型转换用到 3 | import 'package:flutter_trip/models/travel_tab_model.dart'; 4 | import 'package:http/http.dart' as http; 5 | 6 | 7 | /// 旅拍tab数据管理 8 | class TravelTabDataManager { 9 | 10 | static Future fetch() async { 11 | final http.Response response = await http.get("http://www.devio.org/io/flutter_app/json/travel_page.json"); 12 | 13 | if (response.statusCode == 200) { 14 | Utf8Decoder utf8decoder = Utf8Decoder();//修复中文乱码问题 15 | var result = json.decode(utf8decoder.convert(response.bodyBytes)); 16 | return TravelTabModel.fromJson(result); 17 | } else { 18 | throw Exception("旅拍类别接口请求失败"); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /lib/models/common_model.dart: -------------------------------------------------------------------------------- 1 | 2 | /// Common model 3 | class CommonModel { 4 | 5 | final String icon; 6 | final String title; 7 | final String url; 8 | final String statusBarColor; 9 | final bool hideAppBar; 10 | CommonModel({this.icon,this.title,this.url,this.statusBarColor,this.hideAppBar});//用大括号括起来说明这个字段时可选的 11 | 12 | factory CommonModel.fromJson(Mapjson){ 13 | return CommonModel( 14 | icon: json["icon"], 15 | title: json["title"], 16 | url: json["url"], 17 | statusBarColor: json["statusBarColor"], 18 | hideAppBar: json["hideAppBar"]); 19 | } 20 | } -------------------------------------------------------------------------------- /lib/models/config_model.dart: -------------------------------------------------------------------------------- 1 | /// 配置model 2 | class ConfigModel { 3 | final String searchUrl; 4 | ConfigModel({this.searchUrl});//用大括号括起来说明这个字段时可选的 5 | 6 | factory ConfigModel.fromJson(Mapjson){ 7 | return ConfigModel(searchUrl: json["searchUrl"]); 8 | } 9 | 10 | Map toJson() { 11 | return {searchUrl:searchUrl}; 12 | } 13 | } -------------------------------------------------------------------------------- /lib/models/grid_nav_model.dart: -------------------------------------------------------------------------------- 1 | 2 | import 'package:flutter_trip/models/common_model.dart'; 3 | 4 | /// 卡片model 5 | class GridNavModel { 6 | 7 | final GridItemModel hotel; 8 | final GridItemModel flight; 9 | final GridItemModel travel; 10 | GridNavModel({ 11 | this.hotel, 12 | this.flight, 13 | this.travel,});//用大括号括起来说明这个字段时可选的 14 | 15 | factory GridNavModel.fromJson(Mapjson){ 16 | return json != null ? 17 | GridNavModel( 18 | hotel: GridItemModel.fromJson(json["hotel"]), 19 | flight: GridItemModel.fromJson(json["flight"]), 20 | travel: GridItemModel.fromJson(json["travel"]), 21 | ) : null; 22 | } 23 | } 24 | 25 | class GridItemModel { 26 | 27 | final String startColor; 28 | final String endColor; 29 | final CommonModel mainItem; 30 | final CommonModel item1; 31 | final CommonModel item2; 32 | final CommonModel item3; 33 | final CommonModel item4; 34 | 35 | GridItemModel({ 36 | this.startColor, 37 | this.endColor, 38 | this.mainItem, 39 | this.item1, 40 | this.item2, 41 | this.item3, 42 | this.item4 43 | });//用大括号括起来说明这个字段时可选的 44 | 45 | factory GridItemModel.fromJson(Mapjson){ 46 | return GridItemModel( 47 | startColor: json["startColor"], 48 | endColor: json["endColor"], 49 | mainItem: CommonModel.fromJson(json["mainItem"]), 50 | item1: CommonModel.fromJson(json["item1"]), 51 | item2: CommonModel.fromJson(json["item2"]), 52 | item3: CommonModel.fromJson(json["item3"]), 53 | item4: CommonModel.fromJson(json["item4"]), 54 | ); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /lib/models/home_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_trip/models/common_model.dart'; 2 | import 'package:flutter_trip/models/config_model.dart'; 3 | import 'package:flutter_trip/models/grid_nav_model.dart'; 4 | import 'package:flutter_trip/models/sales_box_model.dart'; 5 | 6 | 7 | /// 首页model 8 | class HomeModel { 9 | final ConfigModel config;//配置 10 | final List bannerList;//banner 11 | final List localNavList;//本地导航 12 | final List subNavList;//卡片下面那个 13 | final GridNavModel gridNav;//卡片 14 | final SalesBoxModel salesBox;//活动 15 | 16 | HomeModel({ 17 | this.config, 18 | this.bannerList, 19 | this.localNavList, 20 | this.gridNav, 21 | this.subNavList, 22 | this.salesBox 23 | }); 24 | 25 | factory HomeModel.fromJson(Mapjson){ 26 | var localNavListJson = json["localNavList"] as List; 27 | List localNavList = localNavListJson.map((i) => CommonModel.fromJson(i)).toList(); 28 | 29 | var bannerListJson = json["bannerList"] as List; 30 | List bannerList = bannerListJson.map((i) => CommonModel.fromJson(i)).toList(); 31 | 32 | var subNavListJson = json["subNavList"] as List; 33 | List subNavList = subNavListJson.map((i) => CommonModel.fromJson(i)).toList(); 34 | 35 | return HomeModel( 36 | localNavList: localNavList, 37 | bannerList: bannerList, 38 | subNavList: subNavList, 39 | config: ConfigModel.fromJson(json["config"]), 40 | gridNav: GridNavModel.fromJson(json["gridNav"]), 41 | salesBox: SalesBoxModel.fromJson(json["salesBox"]) 42 | ); 43 | } 44 | 45 | 46 | } -------------------------------------------------------------------------------- /lib/models/sales_box_model.dart: -------------------------------------------------------------------------------- 1 | 2 | import 'package:flutter_trip/models/common_model.dart'; 3 | 4 | 5 | class SalesBoxModel { 6 | 7 | final String icon; 8 | final String moreUrl; 9 | final CommonModel bigCard1; 10 | final CommonModel bigCard2; 11 | final CommonModel smallCard1; 12 | final CommonModel smallCard2; 13 | final CommonModel smallCard3; 14 | final CommonModel smallCard4; 15 | 16 | 17 | SalesBoxModel({ 18 | this.icon, 19 | this.moreUrl, 20 | this.bigCard1, 21 | this.bigCard2, 22 | this.smallCard1, 23 | this.smallCard2, 24 | this.smallCard3, 25 | this.smallCard4}); 26 | 27 | factory SalesBoxModel.fromJson(Mapjson){ 28 | return SalesBoxModel( 29 | icon: json["icon"], 30 | moreUrl: json["moreUrl"], 31 | bigCard1: CommonModel.fromJson(json["bigCard1"]), 32 | bigCard2: CommonModel.fromJson(json["bigCard2"]), 33 | smallCard1: CommonModel.fromJson(json["smallCard1"]), 34 | smallCard2: CommonModel.fromJson(json["smallCard2"]), 35 | smallCard3: CommonModel.fromJson(json["smallCard3"]), 36 | smallCard4: CommonModel.fromJson(json["smallCard4"]), 37 | ); 38 | } 39 | } -------------------------------------------------------------------------------- /lib/models/search_model.dart: -------------------------------------------------------------------------------- 1 | 2 | 3 | /// 搜索模型 4 | class SearchModel { 5 | final List data; 6 | String keyword; 7 | SearchModel({this.data,this.keyword}); 8 | 9 | factory SearchModel.fromJson(Map json){ 10 | var dataJson = json["data"] as List; 11 | List data = dataJson.map((i)=>SearchItem.fromJson(i)).toList(); 12 | return SearchModel(data: data); 13 | } 14 | } 15 | 16 | class SearchItem { 17 | 18 | final String word; 19 | final String type; 20 | final String price; 21 | final String star; 22 | final String zonename; 23 | final String districtname; 24 | final String url; 25 | 26 | 27 | SearchItem({ 28 | this.word, 29 | this.type, 30 | this.price, 31 | this.star, 32 | this.zonename, 33 | this.districtname, 34 | this.url 35 | }); 36 | 37 | factory SearchItem.fromJson(Mapjson){ 38 | return SearchItem( 39 | word: json["word"], 40 | type: json["type"], 41 | price: json["price"], 42 | star: json["star"], 43 | zonename: json["zonename"], 44 | districtname: json["districtname"], 45 | url: json["url"] 46 | ); 47 | } 48 | } -------------------------------------------------------------------------------- /lib/pages/home_drawer.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | /** 4 | * 5 | * @ProjectName: flutter_trip 6 | * @Package: pages 7 | * @Company etiantian 8 | * @Description: 类作用描述 9 | * @Author: 作者名: 10 | * @CreateDate: 2019-07-05 09:05 11 | * @UpdateUser: 更新者: 12 | * @UpdateDate: 2019-07-05 09:05 13 | * @UpdateRemark: 更新说明: 14 | * @Version: 1.0 15 | */ 16 | 17 | class HomeDrawer extends StatelessWidget { 18 | @override 19 | Widget build(BuildContext context) { 20 | 21 | return Drawer( 22 | child: Container( 23 | color: Colors.blue, 24 | ), 25 | ); 26 | } 27 | } -------------------------------------------------------------------------------- /lib/pages/my_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_redux/flutter_redux.dart'; 3 | import 'package:flutter_trip/redux/app_state.dart'; 4 | import 'package:flutter_trip/redux/local_reducer.dart'; 5 | import 'package:flutter_trip/redux/theme_data_reducer.dart'; 6 | import 'package:flutter_trip/widget/webview.dart'; 7 | import 'package:random_color/random_color.dart'; 8 | 9 | class MyPage extends StatefulWidget { 10 | @override 11 | State createState() { 12 | return _MyPageState(); 13 | } 14 | } 15 | 16 | class _MyPageState extends State { 17 | bool isClicked = false; 18 | @override 19 | Widget build(BuildContext context) { 20 | return StoreBuilder( 21 | builder: (context, store){ 22 | return Scaffold( 23 | body:WebView( 24 | url: "https://m.ctrip.com/webapp/myctrip/", 25 | hideAppBar: true, 26 | backForbid: true, 27 | statusBarColor: "4c5bca", 28 | ) 29 | ); 30 | }, 31 | ); 32 | } 33 | 34 | /// 主题切换 35 | // _container(Store store) { 36 | // return Container( 37 | // color: store.state.themeData.primaryColor, 38 | // child: Center( 39 | // child: Column( 40 | // children: [ 41 | // Text("我的"), 42 | // RaisedButton( 43 | // child: Text("点击"), 44 | // onPressed: (){ 45 | // RandomColor _randomColor = RandomColor(); 46 | // ThemeData themeData = ThemeData(primaryColor: _randomColor.randomColor()); 47 | // store.dispatch(RefreshThemeDataAction(themeData)); 48 | // 49 | // Locale locale = store.state.platformLocale; 50 | // 51 | // isClicked = !isClicked; 52 | // if (isClicked) { 53 | // locale = Locale("zh","CH"); 54 | // } else { 55 | // locale = Locale("en","US"); 56 | // } 57 | // store.dispatch(RefreshLocaleAction(locale)); 58 | // }, 59 | // ), 60 | // ], 61 | // ) 62 | // ), 63 | // ); 64 | // } 65 | } -------------------------------------------------------------------------------- /lib/plugin/asr_manager.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/services.dart'; 2 | import 'dart:async'; 3 | 4 | 5 | class AsrManager { 6 | 7 | static const MethodChannel _channel = const MethodChannel("asr_plugin"); 8 | 9 | /** 10 | * @method 开始录音 11 | * @description 描述一下方法的作用 12 | * @date: 2019-07-02 15:31 13 | * @author: 作者名 14 | * @param 15 | * @return 16 | */ 17 | static Future start({Map parameter}) async { 18 | return await _channel.invokeMethod("start",parameter??{}); 19 | } 20 | 21 | /** 22 | * @method 停止录音 23 | * @description 描述一下方法的作用 24 | * @date: 2019-07-02 15:32 25 | * @author: 作者名 26 | * @param 27 | * @return 28 | */ 29 | static Future stop() async { 30 | return await _channel.invokeMethod("stop"); 31 | } 32 | 33 | /** 34 | * @method 取消录音 35 | * @description 描述一下方法的作用 36 | * @date: 2019-07-02 15:32 37 | * @author: 作者名 38 | * @param 39 | * @return 40 | */ 41 | static Future cancel() async { 42 | return await _channel.invokeMethod("cancel"); 43 | } 44 | } -------------------------------------------------------------------------------- /lib/redux/app_state.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_trip/redux/local_reducer.dart'; 3 | import 'package:flutter_trip/redux/theme_data_reducer.dart'; 4 | 5 | 6 | /** 7 | * 8 | * @ClassName: AppState类 9 | * @Description: 类作用描述 10 | * @Author: 作者名:liuchuanan 11 | * @CreateDate: 2019-07-05 09:46 12 | * @UpdateUser: 更新者: 13 | * @UpdateDate: 2019-07-05 09:46 14 | * @UpdateRemark: 更新说明: 15 | * @Version: 1.0 16 | */ 17 | class AppState { 18 | ThemeData themeData; 19 | Locale locale; 20 | Locale platformLocale; 21 | AppState({this.themeData,this.locale}); 22 | } 23 | 24 | /** 25 | * @method 创建Reducer 26 | * @description 描述一下方法的作用 27 | * @date: 2019-07-05 09:47 28 | * @author: 作者名 29 | * @param 30 | * @return 31 | */ 32 | AppState appReducer(AppState state, action) { 33 | return AppState( 34 | themeData: ThemeDataReducer(state.themeData,action), 35 | locale: LocaleReducer(state.locale,action), 36 | ); 37 | } 38 | 39 | -------------------------------------------------------------------------------- /lib/redux/local_reducer.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:redux/redux.dart'; 3 | 4 | final LocaleReducer = combineReducers([ 5 | TypedReducer(_refresh), 6 | ]); 7 | 8 | Locale _refresh(Locale locale, RefreshLocaleAction action) { 9 | locale = action.locale; 10 | return locale; 11 | } 12 | 13 | class RefreshLocaleAction { 14 | final Locale locale; 15 | RefreshLocaleAction(this.locale); 16 | } -------------------------------------------------------------------------------- /lib/redux/theme_data_reducer.dart: -------------------------------------------------------------------------------- 1 | import 'package:redux/redux.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | /// 事件Reduc 5 | 6 | /// 通过combineRecucers实现Reducer 7 | final ThemeDataReducer = combineReducers([ 8 | TypedReducer(_refresh), 9 | ]); 10 | 11 | /// 定义处理Action方法,返回新的State 12 | ThemeData _refresh(ThemeData themeData, action){ 13 | themeData = action.themeData; 14 | return themeData; 15 | } 16 | 17 | /// 定义Action,将Action在Reducer中与处理该Action的方法绑定 18 | class RefreshThemeDataAction { 19 | final ThemeData themeData; 20 | RefreshThemeDataAction(this.themeData); 21 | } -------------------------------------------------------------------------------- /lib/widget/loading_container.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | /** 4 | * 5 | * @ClassName: 加载进度条组件 6 | * @Description: 类作用描述 7 | * @Author: 作者名:liuchuanan 8 | * @CreateDate: 2019-07-01 13:24 9 | * @UpdateUser: 更新者: 10 | * @UpdateDate: 2019-07-01 13:24 11 | * @UpdateRemark: 更新说明: 12 | * @Version: 1.0 13 | */ 14 | class LoadingContainer extends StatelessWidget { 15 | 16 | final Widget child; 17 | final bool isLoading; 18 | final bool cover; 19 | 20 | 21 | LoadingContainer({ 22 | Key key, 23 | @required this.child, 24 | @required this.isLoading, 25 | this.cover = false}):super(key:key); 26 | 27 | @override 28 | Widget build(BuildContext context) { 29 | return !cover? !isLoading? child : _loadingView : 30 | Stack( 31 | children: [ 32 | child,isLoading? _loadingView : null 33 | ], 34 | ) 35 | ; 36 | } 37 | 38 | Widget get _loadingView{ 39 | return Center( 40 | child: CircularProgressIndicator(), 41 | ); 42 | } 43 | } -------------------------------------------------------------------------------- /lib/widget/local_nav.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_trip/models/common_model.dart'; 3 | import 'package:flutter_trip/widget/webview.dart'; 4 | 5 | /** 6 | * 7 | * @ProjectName: flutter_trip 8 | * @Package: widget 9 | * @Company etiantian 10 | * @Description: 类作用描述 11 | * @Author: 作者名: 12 | * @CreateDate: 2019-06-28 14:30 13 | * @UpdateUser: 更新者: 14 | * @UpdateDate: 2019-06-28 14:30 15 | * @UpdateRemark: 更新说明: 16 | * @Version: 1.0 17 | */ 18 | 19 | class LocalNav extends StatelessWidget { 20 | 21 | final List localNavList; 22 | LocalNav({Key key,@required this.localNavList}):super(key:key); 23 | 24 | @override 25 | Widget build(BuildContext context) { 26 | return Container( 27 | height: 64, 28 | decoration: BoxDecoration( 29 | color: Colors.white, 30 | borderRadius: BorderRadius.all( 31 | Radius.circular(6), 32 | ), 33 | ), 34 | child: Padding(padding: EdgeInsets.all(7), 35 | child: _items(context), 36 | ), 37 | 38 | ); 39 | } 40 | 41 | // 生成 Widgets 42 | _items(BuildContext context) { 43 | if (localNavList == null) { 44 | return null; 45 | } 46 | 47 | List items = []; 48 | localNavList.forEach((model){ 49 | items.add(_item(context, model)); 50 | }); 51 | 52 | // 返回items 53 | return Row( 54 | mainAxisAlignment: MainAxisAlignment.spaceAround,//平均排列 55 | children: items, 56 | ); 57 | 58 | } 59 | 60 | // 返回单个Widget 61 | Widget _item(BuildContext context, CommonModel model) { 62 | return GestureDetector( 63 | onTap: (){ 64 | Navigator.push(context, MaterialPageRoute(builder: (context)=> 65 | WebView(url: model.url,statusBarColor: model.statusBarColor,hideAppBar: model.hideAppBar,) 66 | )); 67 | }, 68 | child: Column( 69 | children: [ 70 | Image.network( 71 | model.icon, 72 | height: 32, 73 | width: 32, 74 | ), 75 | Text( 76 | model.title, 77 | style: TextStyle( 78 | fontSize: 12, 79 | ), 80 | ) 81 | ], 82 | ), 83 | ); 84 | } 85 | } -------------------------------------------------------------------------------- /test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter/material.dart'; 9 | import 'package:flutter_test/flutter_test.dart'; 10 | 11 | import 'package:flutter_trip/main.dart'; 12 | 13 | void main() { 14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async { 15 | // Build our app and trigger a frame. 16 | await tester.pumpWidget(MyApp()); 17 | 18 | // Verify that our counter starts at 0. 19 | expect(find.text('0'), findsOneWidget); 20 | expect(find.text('1'), findsNothing); 21 | 22 | // Tap the '+' icon and trigger a frame. 23 | await tester.tap(find.byIcon(Icons.add)); 24 | await tester.pump(); 25 | 26 | // Verify that our counter has incremented. 27 | expect(find.text('0'), findsNothing); 28 | expect(find.text('1'), findsOneWidget); 29 | }); 30 | } 31 | --------------------------------------------------------------------------------