Erweiterungen

This commit is contained in:
Sven committed 2024-11-14 10:56:36 +01:00
1 parent 96544ca924
commit def0f3fc2f
136 files changed
+4169 -496

No files matched your search

+21 -9
View File
@@ -1,11 +1,11 @@
# This file tracks properties of this Flutter project. # This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc. # Used by Flutter tool to assess capabilities and perform upgrades etc.
# #
# This file should be version controlled. # This file should be version controlled and should not be manually edited.
version: version:
revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf revision: "603104015dd692ea3403755b55d07813d5cf8965"
channel: stable channel: "stable"
project_type: app project_type: app
@@ -13,14 +13,26 @@ project_type: app
migration: migration:
platforms: platforms:
- platform: root - platform: root
create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf base_revision: 603104015dd692ea3403755b55d07813d5cf8965
- platform: android - platform: android
create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf base_revision: 603104015dd692ea3403755b55d07813d5cf8965
- platform: ios - platform: ios
create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf base_revision: 603104015dd692ea3403755b55d07813d5cf8965
- platform: linux
create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 603104015dd692ea3403755b55d07813d5cf8965
- platform: macos
create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 603104015dd692ea3403755b55d07813d5cf8965
- platform: web
create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 603104015dd692ea3403755b55d07813d5cf8965
- platform: windows
create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 603104015dd692ea3403755b55d07813d5cf8965
# User provided section # User provided section
@@ -0,0 +1 @@
{"appPreferencesBuildSettings":{},"buildConfigurations":[{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf","ENABLE_STRICT_OBJC_MSGSEND":"YES","ENABLE_TESTABILITY":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_DYNAMIC_NO_PIC":"NO","GCC_NO_COMMON_BLOCKS":"YES","GCC_OPTIMIZATION_LEVEL":"0","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_DEBUG=1 DEBUG=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"13.0","MTL_ENABLE_DEBUG_INFO":"INCLUDE_SOURCE","MTL_FAST_MATH":"YES","ONLY_ACTIVE_ARCH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"DEBUG","SWIFT_OPTIMIZATION_LEVEL":"-Onone","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e983f8723597279233a8f05ceff9fe3456f","name":"Debug"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_PROFILE=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"13.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e98431d6fbac4fcf14f03a16b06b7267016","name":"Profile"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e4e74713a6d7ca63ed5666cbb6b99163","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983b5a29455207cac3c50077acf1ab0d63","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9880d13ed194735d43c00da2e55bb123b7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f4a18be788466b195a83d96fd585758e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9880d13ed194735d43c00da2e55bb123b7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundaLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c8dd386c224661a85d90e5f8aa05ef30","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/open_filex/open_filex-prefix.pch","INFOPLIST_FILE":"Target Support Files/open_filex/open_filex-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/open_filex/open_filex.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"open_filex","PRODUCT_NAME":"open_filex","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981310506fd9c2559b9c31c6cfdef037f6","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986513709751c9830848d90555e215dc86","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/open_filex/open_filex-prefix.pch","INFOPLIST_FILE":"Target Support Files/open_filex/open_filex-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/open_filex/open_filex.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"open_filex","PRODUCT_NAME":"open_filex","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d519d589c4a570cc68786a5e6f8d4db6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986513709751c9830848d90555e215dc86","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/open_filex/open_filex-prefix.pch","INFOPLIST_FILE":"Target Support Files/open_filex/open_filex-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/open_filex/open_filex.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"open_filex","PRODUCT_NAME":"opLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986e1523d54ce0c59eb376d15073c00a62","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985e4c84df1f63b4a91a57cfe8bf2c6507","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fa6d3f4a0bb22c1d653f7652a809829a","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983b48ec6d048efa9db27ced2b7b120c78","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ac3979f5c1325345624fa4eb4525c7db","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"Line truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b5b26b7fad8c3c99a1886afe0da772f1","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987548754b8925719d069a0353ad7ebbe0","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9829c798c4ad8b661ca6b3bcc72888b81f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9845abd7ac29620335c444a5e39884aedc","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9829c798c4ad8b661ca6b3bcc72888b81f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_iLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9878446f95c6314ec27afd6ec9831616e4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a6a8b1dbc96b9d93039162bfebcc0473","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f9b414e5c20e36620f603eec2d3e5fcd","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98098aa492f7a39e33d2e1b14e5d789413","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f9b414e5c20e36620f603eec2d3e5fcd","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/shared_prefereLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b5b26b7fad8c3c99a1886afe0da772f1","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984675a9491f3864edef6f26193184285e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9829c798c4ad8b661ca6b3bcc72888b81f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9835abac59aebeec601da312d814084491","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9829c798c4ad8b661ca6b3bcc72888b81f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d4d6bb6e0d41385d8f7b14a88a8c6ee7","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e01a96e405d5131266698ad4cd31bfbd","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98066e438222b4ec2bb7364d0820a74305","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a41fea16abe3c31bce13008b45342413","guid":"bfdfe7dc352907fc980b868725387e988d04aad68dd620e49fdfe9190f697dd6"}],"guid":"bfdfe7dc352907fc980b868725387e9857c42cd56c6bbd13a57fd92bc44cdbad","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2","name":"url_launcher_ios-url_launcher_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9827df8da513ac7d6928fc311b53a7155d","name":"url_launcher_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d210ee165a326b5ee942b32d28353dd1","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/isar_flutter_libs/isar_flutter_libs-prefix.pch","INFOPLIST_FILE":"Target Support Files/isar_flutter_libs/isar_flutter_libs-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/isar_flutter_libs/isar_flutter_libs.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"isar_flutter_libs","PRODUCT_NAME":"isar_flutter_libs","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.3","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9881ddac9421a0c3a1d469587dd6d59b79","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f33ef776979342dd30d764b4c7f18dc1","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/isar_flutter_libs/isar_flutter_libs-prefix.pch","INFOPLIST_FILE":"Target Support Files/isar_flutter_libs/isar_flutter_libs-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/isar_flutter_libs/isar_flutter_libs.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"isar_flutter_libs","PRODUCT_NAME":"isar_flutter_libs","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.3","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9801d635f661b0e0081601e50744446768","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f33ef776979342dd30d764b4c7f18dc1","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/isar_flutter_libs/isar_flutter_libs-prefix.pch","INFOPLIST_FILE":"Target Support Files/isar_flutter_libs/isar_flutter_libs-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inheritedLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e4e74713a6d7ca63ed5666cbb6b99163","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988cce127568f8aff210786bb3ac4f3d16","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9880d13ed194735d43c00da2e55bb123b7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98082b342cd16c09aa10bd7d388035949d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9880d13ed194735d43c00da2e55bb123b7","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d1c8a57a111af741b6564984b61bfa39","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e981ae172bd18c0b182099e71dd58b2eb0e","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9833b09b4aa29557b674f256c65d0a6f16","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98df0d12899dcad88100e5bdd49c93437e","guid":"bfdfe7dc352907fc980b868725387e98b2b6ae54fda4335887c4ba398b71893e"}],"guid":"bfdfe7dc352907fc980b868725387e9839ab163e63bcdb6667245f7c2cd9fff7","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986e649604f74c414a7c2dbe5ef4cc4e75","name":"path_provider_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9898735caac1fa650d2aecf9e4fcdc39ed","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/DKPhotoGallery/DKPhotoGallery-prefix.pch","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"DKPhotoGallery","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f939dfc97bd05fb158204407144450e2","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98622c960de9a97bc1337feed7d36ae2f2","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/DKPhotoGallery/DKPhotoGallery-prefix.pch","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery.modulemap","PRODUCT_MODULE_NAME":"DKPhotoGallery","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ac3be491a8b0bba904318c44943b5c5a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98622c960de9a97bc1337feed7d36ae2f2","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/DKPhotoGallery/DKPhotoGallery-prefix.pch","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery.modulemap","PRODUCT_MODULE_NAME":"DKPhotoGallery","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982b3bd9ce0814c6dee1b8b291d9573a2c","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98519d49d27b9c0d9286fb2d7168794839","guid":"bfdfe7dc352907fc980b868725387e9838509eb1be03349a7a673cb3cb247d51","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98b1e92c47523786b66ee52e242daa5422","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e2ef4dd9c7e03bae1874755b3f6d5142","guid":"bfdfe7dc352907fc980b868725387e985ba3f46e1d8403949acbdebdf55c276b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857df3813f519eeb996e1b8679ab1847a","guid":"bfdfe7dc352907fc980b868725387e98a889d4b310d96298d83c494710f35a5d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bf3dabfdbe140a3732c457c8e12aba62","guid":"bfdfe7dc352907fc980b868725387e98d358f36c0f4666a33fb1b76e397dc604"},{"fileReference":"bfdfe7dc352907fc980b868725387e981e915282e418dc21d09ce161f706712a","guid":"bfdfe7dc352907fc980b868725387e98a8ca7bec93f82b4fec09e5a62870844b"},{"fileReference":"bfdfe7dc352907fc980b868725387e981bc60a366b4dc9ca7d5a2970b4f04ac4","guid":"bfdfe7dc352907fc980b868725387e986f235f5a92d7a2ac7787748240a9b472"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816814e0328224ea9ed2e441d56d77b3c","guid":"bfdfe7dc352907fc980b868725387e98ad29b76dfbecb9dd56df6bf819dd0d57"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dde603f90a56b69Line truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9898735caac1fa650d2aecf9e4fcdc39ed","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKPhotoGallery","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKPhotoGallery","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980277d7c0cd962d53295a604bea373856","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98622c960de9a97bc1337feed7d36ae2f2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKPhotoGallery","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKPhotoGallery","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9879095e74ee07294f0fdfdeb3eeb37344","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98622c960de9a97bc1337feed7d36ae2f2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKPhotoGallery","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKPhotoGallery","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981a9063fc392060757173af58345c362c","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e174bf66be0508530d633c4772d86172","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98731f5efe54a93306641f01a0adbd593b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ccde18be60e373689483f824e157ecc8","guid":"bfdfe7dc352907fc980b868725387e983728687ff8a53a1160cdacc7971da7fc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d452517148adcc999fb82c415eacb552","guid":"bfdfe7dc352907fc980b868725387e98e1c201b747504f972ae8ec242e9511da"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ce58e686cbf53db33b84a032f333208a","guid":"bfdfe7dc352907fc980b868725387e981705c8fd42d2933ef08f9f2f9e6e5e5f"},{"fileReference":"bfdfe7dc352907fc980b868725387e989e829a798c725d01c4d9c8bd34688207","guid":"bfdfe7dc352907fc980b868725387e983a873cab0f9fcd68124210255ab9755f"}],"guid":"bfdfe7dc352907fc980b868725387e980f12ee906ec1456c2bfd58d01b45149a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98d3f65728b12dd217475d1283ee417937","name":"DKPhotoGallery-DKPhotoGallery","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9845db4417944723d8b91f4a6c67e94d3c","name":"DKPhotoGallery.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9838a5f4a24b7dfd0df04987df5c898ade","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/Alamofire/Alamofire-prefix.pch","INFOPLIST_FILE":"Target Support Files/Alamofire/Alamofire-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"10.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/Alamofire/Alamofire.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"Alamofire","PRODUCT_NAME":"Alamofire","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d19ca239f1fe9bc1e7222ab2361072bf","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987ddc2236675973111d80c3868f9c9b51","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/Alamofire/Alamofire-prefix.pch","INFOPLIST_FILE":"Target Support Files/Alamofire/Alamofire-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"10.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/Alamofire/Alamofire.modulemap","PRODUCT_MODULE_NAME":"Alamofire","PRODUCT_NAME":"Alamofire","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b8d605646e55f7ebfa70003248b683d6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987ddc2236675973111d80c3868f9c9b51","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/Alamofire/Alamofire-prefix.pch","INFOPLIST_FILE":"Target Support Files/Alamofire/Alamofire-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"10.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/Alamofire/Alamofire.modulemap","PRODUCT_MODULE_NAME":"Alamofire","PRODUCT_NAME":"Alamofire","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989f70d16d60fa3b216b0fcdd3ca700f27","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989d9da64abab37ecacdb078129571fdc6","guid":"bfdfe7dc352907fc980b868725387e9810c37c6579df79d46b6e7398c84e676e","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98f15d9ae51a800aa4aeaf4abb95bbbe13","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a87faa1dda1b9998180a55fba5ce8450","guid":"bfdfe7dc352907fc980b868725387e9808f5eb7ad29c197ac5db40bcc8644ef9"},{"fileReference":"bfdfe7dc352907fc980b868725387e982ec16513dc71ba443fa2a6b7eb2e7d0c","guid":"bfdfe7dc352907fc980b868725387e988be38c0032b44a2247a4497179456697"},{"fileReference":"bfdfe7dc352907fc980b868725387e987b27615b7b3f50ac671d628fbaf1d4e6","guid":"bfdfe7dc352907fc980b868725387e98ca1deb717767a7891dd1ab9eec348b22"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ed741765fb534819296bffbf01c6ca6","guid":"bfdfe7dc352907fc980b868725387e989674fb3d29511325d54fa517855d8c70"},{"fileReference":"bfdfe7dc352907fc980b868725387e9882c6e80619df10b6511226d7b2a19b12","guid":"bfdfe7dc352907fc980b868725387e986473342747a772cb16b3235ae83a5974"},{"fileReference":"bfdfe7dc352907fc980b868725387e98743639c99f45f18c0adf0bb91f3ca045","guid":"bfdfe7dc352907fc980b868725387e9871c6513b0f27a9a76e183cf4cc206751"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b0ddc398198b11c006407666be923207","guid":"Line truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987a0228cb6fa5b3046b118a1fba2618b8","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987b95a224d3ca3aa422d94e7e8e9e5c69","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cb30319e16648c0d5b8f4da4cbd9e32e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982b1bfba7e11f8b4ff7fb37e11b203afe","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cb30319e16648c0d5b8f4da4cbd9e32e","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c7755c0f45a4694a5897f316b4c162d9","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9874106f21e635f09f41d3e05b3cbf362b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ff735364d588cb3c22e7e8ce2235896f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fbbfd845267125c6cfda731e9110d886","guid":"bfdfe7dc352907fc980b868725387e983cb4eaacb6fff971f538a2e03a9e3ead"}],"guid":"bfdfe7dc352907fc980b868725387e98966eb082788c295f6d593d5f9c88677c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98cba567c8a049008de84f093e54e3191c","name":"image_picker_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9894c2fa9ab174fcbbf16a475758a18ed4","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989c5a078c4d7b7b5ce5e1ecf8a159130d","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985c94c5f24f7a00d85a22ecc5617d67eb","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e8c1da96c367cacdc390d81413c11edd","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985c94c5f24f7a00d85a22ecc5617d67eb","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -frameworkLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985a591c9e0625fec8711e73bd0635fca2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/Polyline/Polyline-prefix.pch","INFOPLIST_FILE":"Target Support Files/Polyline/Polyline-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/Polyline/Polyline.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"Polyline","PRODUCT_NAME":"Polyline","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989797150feca7c9ee3e7f1c1c1af77d10","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98212fcecace92e0d1595c0b1cbdb03dd6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/Polyline/Polyline-prefix.pch","INFOPLIST_FILE":"Target Support Files/Polyline/Polyline-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/Polyline/Polyline.modulemap","PRODUCT_MODULE_NAME":"Polyline","PRODUCT_NAME":"Polyline","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985104a9ddcbfcd1342284d42899d7a292","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98212fcecace92e0d1595c0b1cbdb03dd6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/Polyline/Polyline-prefix.pch","INFOPLIST_FILE":"Target Support Files/Polyline/Polyline-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/Polyline/Polyline.modulemap","PRODUCT_MODULE_NAME":"Polyline","PRODUCT_NAME":"Polyline","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981e9962e15c1739fb08d6e1540206c133","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9846e30bcaee472ca5ca06dc2846a0abdf","guid":"bfdfe7dc352907fc980b868725387e9805050dc81ed9425079e2ed9c25e83fad","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dac07cbb9fa9e83710cd73059d2216eb","guid":"bfdfe7dc352907fc980b868725387e98ecf4d4c6fa7c69f1704e251eaf257008","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98fc681308bb9b50724dd64ec143e1b13f","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98621680a376348d178e2c32ff3742d916","guid":"bfdfe7dc352907fc980b868725387e980786de00631c6d1638fce2f010eb67c7"},{"fileReference":"bfdfe7dc352907fc980b868725387e982afb1e2024c139d204df68de18a58174","guid":"bfdfe7dc352907fc980b868725387e9889e69232c7a43b87704dae7055d19fc7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d70b64afd043f42bbd21015087498db6","guid":"bfdfe7dc352907fc980b868725387e98692102967d88e881b7b071c9d6977e60"}],"guid":"bfdfe7dc352907fc980b868725387e98a913fffb153ef1ebdd66049c099b057e","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986a00fbe75a0e4f6b3c716ed50475254f","guid":"bfdfe7dc352907fc980b868725387e984282cbcfff9c9ccbbe3fe8dec9bbc480"}],"guid":"bfdfe7dc352907fc980b868725387e98fa489a83ee89a2b58df5e27d2109bcfd","type":"com.apple.buildphase.frameworLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984d3af30a5f6bed5df3b2b1a02fe26742","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/DKImagePickerController/DKImagePickerController-prefix.pch","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"DKImagePickerController","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984cec2ec1f80a7da89a4fdac18efc6203","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981f2b579c2c83f920e85d6b82c68611f3","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/DKImagePickerController/DKImagePickerController-prefix.pch","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController.modulemap","PRODUCT_MODULE_NAME":"DKImagePickerController","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ea7be7f0530eb05523950bb1077f4a39","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981f2b579c2c83f920e85d6b82c68611f3","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/DKImagePickerController/DKImagePickerController-prefix.pch","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController.modulemap","PRODUCT_MODULE_NAME":"DKImagePickerController","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981f36e7195baa9f7e8f5a409e75d2fa8a","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fd4cb4d805df15dccd219cd9f71ab10e","guid":"bfdfe7dc352907fc980b868725387e9861bfbb6a236bfafe99d24647fb0a648c","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98fc56ed640800de61cfb79a991736621c","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9819826f9803e56a1adec7b4978625b48b","guid":"bfdfe7dc352907fc980b868725387e98bb4fdcc38b0c6de8a84737aad1b2ea91"},{"fileReference":"bfdfe7dc352907fc980b868725387e984ca9dcee806232ea848c3340e157d355","guid":"bfdfe7dc352907fc980b868725387e98bd404fab034d291ec40154ea90aef255"},{"fileReference":"bfdfe7dc352907fc980b868725387e982336f74e5106d995308f0245622d4629","guid":"bfdfe7dc352907fc980b868725387e9855cf4237feae7d230b5b9f5835b27865"},{"fileReference":"bfdfe7dc352907fc980b868725387e988f04ba06fc80cc700dee1cf85b7f348b","guid":"bfdfe7dc352907fc980b868725387e98fe96ca541e805510716f76e39959b092"},{"fileReference":"bfdfe7dc352907fc980b868725387e980bdcdb028b0f03e4d546afe7509b629d","guid":"bfdfe7dc352907fc980b868725387e98c77eeb5a39dcdd516cf5a5e59147a1e5"},{"fileReLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9886b862c27d04257d8dfff93a0c0d61d7","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/SwiftyGif/SwiftyGif-prefix.pch","INFOPLIST_FILE":"Target Support Files/SwiftyGif/SwiftyGif-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SwiftyGif/SwiftyGif.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"SwiftyGif","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d6edad9777b3718eaaff3cfa0ef347f9","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ef4e2854f68cf7276eb1bac38f76be42","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/SwiftyGif/SwiftyGif-prefix.pch","INFOPLIST_FILE":"Target Support Files/SwiftyGif/SwiftyGif-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SwiftyGif/SwiftyGif.modulemap","PRODUCT_MODULE_NAME":"SwiftyGif","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bf963ce071ef0629a146386a405415c9","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ef4e2854f68cf7276eb1bac38f76be42","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/SwiftyGif/SwiftyGif-prefix.pch","INFOPLIST_FILE":"Target Support Files/SwiftyGif/SwiftyGif-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SwiftyGif/SwiftyGif.modulemap","PRODUCT_MODULE_NAME":"SwiftyGif","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98346b8a5906a60a591e660de31c3ae2cd","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e981a378d7023634708d451fffcd96b189d","guid":"bfdfe7dc352907fc980b868725387e989523866563359e31c5c610d6e7081942","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98375f8c7d899e260f18ab705806c38438","guid":"bfdfe7dc352907fc980b868725387e9874b890c1b9fbf673e895ffc883f3ea59","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98d33fe8b1d81bfa08f6f91a48a4a0ce66","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e8a607cca52008dfd8267c2eeb67ebab","guid":"bfdfe7dc352907fc980b868725387e98fcdfb01357ec7e9a0728dd9a023b4b64"},{"fileReference":"bfdfe7dc352907fc980b868725387e9801e585e89327a88004a10fdf691e2b7c","guid":"bfdfe7dc352907fc980b868725387e983a4ca2f2fec56d409f5610c5619caf69"},{"fileReference":"bfdfe7dc352907fc980b868725387e9860bbb9fd0ea2ab5949a0a81d7f0560b6","guid":"bfdfe7dc352907fc980b868725387e98ea057eb16b5761233ce9caa0ecdb0da1"},{"fileReference":"bfdfe7dc352907fc980b868725387e9887b7c4b860fe82872dd5a5a27d5d4234","guid":"bfdfe7dc352907fc980b868725387e98ee320e6ad0bcf22884b1f1cb79e15c8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9882238f4f52f36eec1108204679891441","guid":"bfdfe7dc352907fc980b868725387e9867599f09eff6aa94b0a444c5def1265d"},{"fileReference":"bfdfe7dc352907fc980b868725387e986f9bc9eb17a96dbf3bdc4692c7632852","guid":"bfdfe7dc352907fc980b868725387e98d783524fcf1db4c4911d55c9e79Line truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9846d936f9ba4446e3254fc2d2e6066205","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin-prefix.pch","INFOPLIST_FILE":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_osm_plugin","PRODUCT_NAME":"flutter_osm_plugin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981372d2bd4d9ed2724a19daaf310a1314","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e66ba166caf1b815538b8d17517c0843","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin-prefix.pch","INFOPLIST_FILE":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_osm_plugin","PRODUCT_NAME":"flutter_osm_plugin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ccbf5dd67f6b15914939e8f4a0e78b28","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e66ba166caf1b815538b8d17517c0843","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin-prefix.pch","INFOPLIST_FILE":"Target Support Files/flutter_osm_plugin/flutter_osm_plugin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986f378589be2a72b6981e2b26ca9ca769","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/SDWebImage/SDWebImage-prefix.pch","INFOPLIST_FILE":"Target Support Files/SDWebImage/SDWebImage-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SDWebImage/SDWebImage.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"SDWebImage","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9850ac4a8d09efceb3a1e120a1c05a9c1e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9886053d8280091ee588d54af4bc029bb0","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/SDWebImage/SDWebImage-prefix.pch","INFOPLIST_FILE":"Target Support Files/SDWebImage/SDWebImage-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SDWebImage/SDWebImage.modulemap","PRODUCT_MODULE_NAME":"SDWebImage","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980de844ac9001a877bfaf46aab991eb89","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9886053d8280091ee588d54af4bc029bb0","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","GCC_PREFIX_HEADER":"Target Support Files/SDWebImage/SDWebImage-prefix.pch","INFOPLIST_FILE":"Target Support Files/SDWebImage/SDWebImage-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SDWebImage/SDWebImage.modulemap","PRODUCT_MODULE_NAME":"SDWebImage","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985eff86b0d5067259e3252ce85716285d","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ce6b69d84938da4a7d2a9bc297f93b0c","guid":"bfdfe7dc352907fc980b868725387e98b8b04b9d1103de4b87cec4d8759f113d","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e983806ab35b9f6dd34641a3eb2e8f40cde","guid":"bfdfe7dc352907fc980b868725387e988a4316975d628a231e67a4c80bc9d493","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d095ed64e49cdabef79125e70870319b","guid":"bfdfe7dc352907fc980b868725387e989a03b613503f12cb4738a063886097be","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985ecbc8ded9794f6dab677ff1703786f3","guid":"bfdfe7dc352907fc980b868725387e98ec988dc52e7f05f99a426ae7c49b4a09","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989e6becc0679d494c0c5b5edcd126dbec","guid":"bfdfe7dc352907fc980b868725387e98d4b0247bb63ede7531df6a90808129f6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989520c8e9fc6255b9a9bc67a6c338b19f","guid":"bfdfe7dc352907fc980b868725387e98311ba4dfdbedf70fe543f474faffc0f1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985992ff761229c1febd0de9d67b24918e","guid":"bfdfe7dc352907fc980b868725387e98f8ef4cfa09b9d182b195d0f81e9b5e2b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986916935860812e566bddac3c03763cde","guid":"bfdfe7dc352907fc980b868Line truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ddff6c0e0085fb20378c10011cff2df1","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/audioplayers_darwin/audioplayers_darwin-prefix.pch","INFOPLIST_FILE":"Target Support Files/audioplayers_darwin/audioplayers_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/audioplayers_darwin/audioplayers_darwin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"audioplayers_darwin","PRODUCT_NAME":"audioplayers_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980167921c373c913fed6b764d0cb8cab1","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98939469ec344a0e01e76c3d162d6ad3e6","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/audioplayers_darwin/audioplayers_darwin-prefix.pch","INFOPLIST_FILE":"Target Support Files/audioplayers_darwin/audioplayers_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/audioplayers_darwin/audioplayers_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"audioplayers_darwin","PRODUCT_NAME":"audioplayers_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984354341bc3707aeef826fb027846d099","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98939469ec344a0e01e76c3d162d6ad3e6","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/audioplayers_darwin/audioplayers_darwin-prefix.pch","INFOPLIST_FILE":"Target Support Files/audioplayers_darwin/audioplayers_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/audioplayers_darwin/audioLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bca978bee75b135f2068e54dd0337df0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_barcode_scanner/flutter_barcode_scanner-prefix.pch","INFOPLIST_FILE":"Target Support Files/flutter_barcode_scanner/flutter_barcode_scanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_barcode_scanner/flutter_barcode_scanner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_barcode_scanner","PRODUCT_NAME":"flutter_barcode_scanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98666fcabb173978aa43af2284531d125a","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9816efb366c43502141bd280d796041df3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_barcode_scanner/flutter_barcode_scanner-prefix.pch","INFOPLIST_FILE":"Target Support Files/flutter_barcode_scanner/flutter_barcode_scanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_barcode_scanner/flutter_barcode_scanner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_barcode_scanner","PRODUCT_NAME":"flutter_barcode_scanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98afa75779f648dd266cd8433943be5e69","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9816efb366c43502141bd280d796041df3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_barcode_scanner/flutter_barcode_scanner-prefixLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984d3af30a5f6bed5df3b2b1a02fe26742","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKImagePickerController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKImagePickerController","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980c7549233dcbea94d382a938c54deeb5","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981f2b579c2c83f920e85d6b82c68611f3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKImagePickerController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKImagePickerController","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9808b51a54ba0caf9c0cb41ec88f1f3c14","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981f2b579c2c83f920e85d6b82c68611f3","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKImagePickerController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKImagePickerController","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a4274e4b0d0bbbd16fcef810fc70c180","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9805538e4bae94addb3f1d2e302ef36187","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a66baee13a6f887848fe2a3424cd67a5","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c3d9ebc5417d752baa2fc0f7c6925bdc","guid":"bfdfe7dc352907fc980b868725387e98347db3845ca2f7008913b0e39134850e"},{"fileReference":"bfdfe7dc352907fc980b868725387e988852dc798055683e10cbbed6082e1436","guid":"bfdfe7dc352907fc980b868725387e981a2e5b22c36203fbcec7c537f72f9d49"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f4247c6a92f306f8d8d11e057ac5d20b","guid":"bfdfe7dc352907fc980b868725387e981a02bb0b75e2e05608a31fbcb4707ff6"},{"fileReference":"bfdfe7dc352907fc980b868725387e9844ac8e8830da5b4e6fdb92abd9dde162","guid":"bfdfe7dc352907fc980b868725387e98b90c0e8c1829d751103e9fbbfc6708bc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98da49f83d132319de4ede6d0ba7b0da66","guid":"bfdfe7dc352907fc980b868725387e98c960472633089b901e06e2e66ce31837"},{"fileReference":"bfdfe7dc352907fc980b868725387e982352eece4c2090bcc7d69ceb0dd1c541","guid":"bfdfe7dc352907fc980b868725387e986bc579190637c2f8ca84abd2618016ee"},{"fileReference":"bfdfe7dc352907fc980b868725387e986707d518bc1e635e29caa14813ce9930","guid":"bfdfe7dc352907fc980b868725387e980230d2fcb02d4f1feb0437cc001a7a4a"},{"fileReference":"bfdfe7dc352907fc980b868725387e986457c4deefad20a42640b696c4f1d6db","guid":"bfdfe7dc352907fc980b868725387e9837da6b26ef964b8a0dfca2c6f21f9416"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8d3a5634f4be57be0d4aa12041a944b","guid":"bfdfe7dc352907fc980b868725387e988bc769854ad63ab61e7c8c8d6203f081"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820523cae2dfba6f2b13279b9805c90b4","guid":"bfdfe7dc352907fc980b868725387e98371009efdb69cbe161d8d235e7c38ec6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98258ba5b1d87d2ba0c03c11c284bb25a2","guid":"bfdfe7dc352907fc980b868725387e98a893868958dfd4aa0beb4c6f90c50da1"},{"fileReference":"bfdfe7dc352907fc980b868725387e988b2150c59cb4b891809552bf69438b4b","guid":"bfdfe7dc352907fc980b868725387e98b973d8e343ca7b8570a39c0a2b1cd5ac"},{"fileReference":"bfdfe7dc352907fc980b868725387e986cc9dec8619d3fbaebabf9bfeaac513b","guid":"bfdfe7dc352907fc980b868725387e9809eb4234d2500b77c98d006644cd046f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9858657f98a27ecb901a9d91a21b0fa200","guid":"bfdfe7dc352907fc980b868725387e98f61de3b14c27078164276e4816f0afdLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a311a311d65602d9c6c552347cc33e81","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/permission_handler_apple/permission_handler_apple-prefix.pch","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"permission_handler_apple","PRODUCT_NAME":"permission_handler_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9870be4ad9b80c3aae9893569ab9b0f16c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9853394fbf51a33dc94988d53b6f427077","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/permission_handler_apple/permission_handler_apple-prefix.pch","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/permission_handler_apple/permission_handler_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"permission_handler_apple","PRODUCT_NAME":"permission_handler_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989fcbc20b4c8e5c4c2a359f6ed722bff5","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9853394fbf51a33dc94988d53b6f427077","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/permission_handler_apple/permission_handler_apple-prefix.pch","INFOPLIST_FILE":"Target Support Files/permission_handler_apple/permission_handler_appLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98be20a9e8be979249938c114ec72e3f36","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_picker/file_picker-prefix.pch","INFOPLIST_FILE":"Target Support Files/file_picker/file_picker-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_picker/file_picker.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_picker","PRODUCT_NAME":"file_picker","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981194c5a1c4c6698297964fa6beb0aa90","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9859e7cdf93a6f3d1a555182e9c15b6da5","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_picker/file_picker-prefix.pch","INFOPLIST_FILE":"Target Support Files/file_picker/file_picker-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_picker/file_picker.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_picker","PRODUCT_NAME":"file_picker","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a96ac3ccb7ea119cc470174e300c0ac1","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9859e7cdf93a6f3d1a555182e9c15b6da5","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_picker/file_picker-prefix.pch","INFOPLIST_FILE":"Target Support Files/file_picker/file_picker-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_picker/file_picker.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_picLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987a0228cb6fa5b3046b118a1fba2618b8","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9828174b57d3d2d539c975e07d9fc44eae","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cb30319e16648c0d5b8f4da4cbd9e32e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f83c3c6219fa0d15e3560623305a8811","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cb30319e16648c0d5b8f4da4cbd9e32e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/svencarstensen/Entwicklung/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support FLine truncated
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9899443063d85224ac47a2708d4c2fc4b0","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","IPHONEOS_DEPLOYMENT_TARGET":"9.3","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e9822fd3ede3994e294e6f22d73671793a3","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988feb96617b2d95de928f84cf7f14ff9f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","IPHONEOS_DEPLOYMENT_TARGET":"9.3","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98181566cbf8bf73f16d51f27b82ddf397","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988feb96617b2d95de928f84cf7f14ff9f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","IPHONEOS_DEPLOYMENT_TARGET":"9.3","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98e8555ec55f1156bcd2c61f0e3622e45f","name":"Release"}],"buildPhases":[{"alwaysOutOfDate":"false","alwaysRunForInstallHdrs":"false","buildFiles":[],"emitEnvironment":"false","guid":"bfdfe7dc352907fc980b868725387e98127d4c007b761bafa00d650734068dc4","inputFileListPaths":["${PODS_ROOT}/Target Support Files/Tangram-es/Tangram-es-xcframeworks-input-files.xcfilelist"],"inputFilePaths":[],"name":"[CP] Copy XCFrameworks","originalObjectID":"591C35F040866E205717FD0B71030A06","outputFileListPaths":["${PODS_ROOT}/Target Support Files/Tangram-es/Tangram-es-xcframeworks-output-files.xcfilelist"],"outputFilePaths":[],"sandboxingOverride":"basedOnBuildSetting","scriptContents":"\"${PODS_ROOT}/Target Support Files/Tangram-es/Tangram-es-xcframeworks.sh\"\n","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e985c02e0689323c6c832243e598ad705a2","name":"Tangram-es","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"}
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e70686f80cad60f79bffe54adb47807f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e980e39cb306474d1634653b97e7d166960","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fe83e02aa30861cdf062301687d720cf","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98d0fd36bc12b3030d3b1b2f07733f9aec","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fe83e02aa30861cdf062301687d720cf","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98911fbf0dc93928c7cb3ba8e03c1f2ea8","name":"Release"}],"buildPhases":[],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"}
@@ -0,0 +1 @@
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9878446f95c6314ec27afd6ec9831616e4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9854e4223defd574daf8287da8a20bcf3b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f9b414e5c20e36620f603eec2d3e5fcd","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98987b3a41c40fab542945c0cabe699be7","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f9b414e5c20e36620f603eec2d3e5fcd","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9890cf81d10e1cb22904cb6cfd26b94ad2","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98037ceb8d38cdc1b2b89fe87cd565106f","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9846c98287c1b3fe3f2282321295a6b7f4","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989ed601f7c922e6f1218f68d5fa0087bb","guid":"bfdfe7dc352907fc980b868725387e980836595c1d8d8bfd6bf2d0bbe6996c02"}],"guid":"bfdfe7dc352907fc980b868725387e98c204cc02576ab62479ec152b950e2e41","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765","name":"shared_preferences_foundation-shared_preferences_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ad625504a4c1e61077bbfd33bd1d1785","name":"shared_preferences_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
@@ -0,0 +1 @@
{"guid":"dc4b70c03e8043e50e38f2068887b1d4","name":"Pods","path":"/Users/svencarstensen/Entwicklung/Source/flutter/Assecutor/stadtbote/ios/Pods/Pods.xcodeproj/project.xcworkspace","projects":["PROJECT@v11_mod=da10824284ab8c8fb88eb79a9fa2b9d6_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1"]}
+12
View File
@@ -0,0 +1,12 @@
import Flutter
import UIKit
import XCTest
class RunnerTests: XCTestCase {
func testExample() {
// If you add code to the Runner application, consider adding tests here.
// See https://developer.apple.com/documentation/xctest for more information about using XCTest.
}
}
+25 -6
View File
@@ -1,3 +1,4 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
import 'package:stadtbote/content_views/tour_list_page.dart'; import 'package:stadtbote/content_views/tour_list_page.dart';
@@ -25,7 +26,7 @@ class AcceptedJobsPage extends ContentViewWidget {
} }
} }
class _AcceptedJobsPageState extends State<AcceptedJobsPage> { class _AcceptedJobsPageState extends State<AcceptedJobsPage> with ProducerMixin {
late List<Job> _jobs; late List<Job> _jobs;
late bool _initCompleted = false; late bool _initCompleted = false;
@@ -85,7 +86,7 @@ class _AcceptedJobsPageState extends State<AcceptedJobsPage> {
children: <Widget>[ children: <Widget>[
Text( Text(
DateFormat('dd.MM.yyyy HH:mm').format(DateTime.parse(job.ordertime).toLocal()).toString(), DateFormat('dd.MM.yyyy HH:mm').format(DateTime.parse(job.ordertime).toLocal()).toString(),
style: TextStyle(backgroundColor: isJobInFuture(job) ? Colors.yellow : Colors.transparent), style: TextStyle(backgroundColor: isJobInFuture(job) ? Colors.red : Colors.transparent),
textAlign: TextAlign.left, textAlign: TextAlign.left,
), ),
Text( Text(
@@ -132,7 +133,13 @@ class _AcceptedJobsPageState extends State<AcceptedJobsPage> {
} }
void _clicked(Job job) async { void _clicked(Job job) async {
await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TourListPage(job: job)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPushContentView,
payload: TourListPage(job: job),
);
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TourListPage(job: job));
} }
} }
@@ -141,7 +148,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -171,7 +178,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -194,7 +207,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+34 -8
View File
@@ -1,4 +1,5 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
import 'package:mqtt5_client/mqtt5_client.dart'; import 'package:mqtt5_client/mqtt5_client.dart';
@@ -30,7 +31,7 @@ class ApproachAreaPage extends ContentViewWidget {
} }
} }
class _ApproachAreaPageState extends State<ApproachAreaPage> { class _ApproachAreaPageState extends State<ApproachAreaPage> with ProducerMixin{
late Ranking? _ranking; late Ranking? _ranking;
late bool _initCompleted = false; late bool _initCompleted = false;
@@ -54,7 +55,8 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
void deactivate() { void deactivate() {
super.deactivate(); super.deactivate();
MessageService().unsubscribe(Constants.messageTopicRankingUpdated, this); // TODO MESSAGING
//MessageService().unsubscribe(Constants.messageTopicRankingUpdated, this);
} }
@override @override
@@ -201,15 +203,27 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
setPosMessage.track!.pos!.acc = position.accuracy.toInt(); setPosMessage.track!.pos!.acc = position.accuracy.toInt();
} }
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "set_zip", message: setPosMessage.toJson(), qos: MqttQos.exactlyOnce)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "set_zip", message: setPosMessage.toJson(), qos: MqttQos.exactlyOnce),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "set_zip", message: setPosMessage.toJson(), qos: MqttQos.exactlyOnce));
} }
_initMessages() { _initMessages() {
MessageService().subscribe<RankingUpdated>(Constants.messageTopicRankingUpdated, this, (rankingUpdateMessage) async { // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
/*MessageService().subscribe<RankingUpdated>(Constants.messageTopicRankingUpdated, this, (rankingUpdateMessage) async {
_ranking = await MyApp.isarInstance.rankings.where().findFirst(); _ranking = await MyApp.isarInstance.rankings.where().findFirst();
setState(() {}); setState(() {});
}); });*/
} }
} }
@@ -218,7 +232,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -248,7 +262,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -271,7 +291,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+32 -7
View File
@@ -1,4 +1,5 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:expandable/expandable.dart'; import 'package:expandable/expandable.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
@@ -32,7 +33,7 @@ class AssignedJobsPage extends ContentViewWidget {
} }
} }
class _AssignedJobsPageState extends State<AssignedJobsPage> { class _AssignedJobsPageState extends State<AssignedJobsPage> with ProducerMixin {
late bool _initCompleted = false; late bool _initCompleted = false;
List<Widget> _entries = []; List<Widget> _entries = [];
@@ -112,7 +113,7 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> {
Text( Text(
DateFormat('dd.MM.yyyy HH:mm').format(DateTime.parse(job.ordertime).toLocal()).toString(), DateFormat('dd.MM.yyyy HH:mm').format(DateTime.parse(job.ordertime).toLocal()).toString(),
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle(backgroundColor: isJobInFuture(job) ? Colors.yellow : Colors.white), style: TextStyle(backgroundColor: isJobInFuture(job) ? Colors.red : Colors.white),
), ),
Text('Auftragsnummer: ${job.id}'), Text('Auftragsnummer: ${job.id}'),
Text(job.tours[0].comp), Text(job.tours[0].comp),
@@ -189,13 +190,25 @@ class _AssignedJobsPageState extends State<AssignedJobsPage> {
message.track.pos!.long = currentPosition != null ? currentPosition.longitude : 0.0; message.track.pos!.long = currentPosition != null ? currentPosition.longitude : 0.0;
message.track.pos!.acc = currentPosition != null ? currentPosition.accuracy.toInt() : 0; message.track.pos!.acc = currentPosition != null ? currentPosition.accuracy.toInt() : 0;
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "reaction", message: message.toJson(), qos: MqttQos.exactlyOnce)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "reaction", message: message.toJson(), qos: MqttQos.exactlyOnce),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "reaction", message: message.toJson(), qos: MqttQos.exactlyOnce));
await MyApp.isarInstance.writeTxn(() async { await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.jobs.delete(job.id); await MyApp.isarInstance.jobs.delete(job.id);
}); });
await MessageService().publish<RefreshBadgesMessage>(Constants.messageTopicUpdateBadges, arguments: RefreshBadgesMessage()); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicUpdateBadges,
payload: RefreshBadgesMessage(),
);
//await MessageService().publish<RefreshBadgesMessage>(Constants.messageTopicUpdateBadges, arguments: RefreshBadgesMessage());
_entries = await _createListEntries(); _entries = await _createListEntries();
@@ -210,7 +223,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -240,7 +253,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -263,7 +282,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+24 -5
View File
@@ -1,3 +1,4 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
import 'package:stadtbote/content_views/tour_list_page.dart'; import 'package:stadtbote/content_views/tour_list_page.dart';
@@ -25,7 +26,7 @@ class FinishedJobsPage extends ContentViewWidget {
} }
} }
class _FinishedJobsPageState extends State<FinishedJobsPage> { class _FinishedJobsPageState extends State<FinishedJobsPage> with ProducerMixin {
late List<Job> _jobs; late List<Job> _jobs;
late bool _initCompleted = false; late bool _initCompleted = false;
@@ -120,7 +121,13 @@ class _FinishedJobsPageState extends State<FinishedJobsPage> {
} }
void _clicked(Job job) async { void _clicked(Job job) async {
await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TourListPage(job: job, readOnly: true,)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPushContentView,
payload: TourListPage(job: job, readOnly: true),
);
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TourListPage(job: job, readOnly: true,));
} }
} }
@@ -129,7 +136,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -159,7 +166,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -182,7 +195,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPushContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+139 -42
View File
@@ -1,3 +1,4 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
import 'package:mqtt5_client/mqtt5_client.dart'; import 'package:mqtt5_client/mqtt5_client.dart';
@@ -10,7 +11,7 @@ import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/main.dart'; import 'package:stadtbote/main.dart';
import 'package:stadtbote/model/job.dart'; import 'package:stadtbote/model/job.dart';
import 'package:stadtbote/model/location_status.dart'; import 'package:stadtbote/model/location_status.dart';
import 'package:stadtbote/model/message.dart'; import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/session_status.dart'; import 'package:stadtbote/model/session_status.dart';
import 'package:stadtbote/popups/infos_popup.dart'; import 'package:stadtbote/popups/infos_popup.dart';
import 'package:stadtbote/protocoll_messages/logout_message.dart'; import 'package:stadtbote/protocoll_messages/logout_message.dart';
@@ -42,7 +43,7 @@ class MainPage extends ContentViewWidget {
} }
} }
class _MainPageState extends State<MainPage> { class _MainPageState extends State<MainPage> with ConsumerMixin, ProducerMixin {
final ValueNotifier<int> _assignedJobsValueNotifier = ValueNotifier<int>(0); final ValueNotifier<int> _assignedJobsValueNotifier = ValueNotifier<int>(0);
final ValueNotifier<int> _acceptedJobsValueNotifier = ValueNotifier<int>(0); final ValueNotifier<int> _acceptedJobsValueNotifier = ValueNotifier<int>(0);
final ValueNotifier<int> _messagesValueNotifier = ValueNotifier<int>(0); final ValueNotifier<int> _messagesValueNotifier = ValueNotifier<int>(0);
@@ -61,8 +62,6 @@ class _MainPageState extends State<MainPage> {
@override @override
void dispose() { void dispose() {
super.dispose(); super.dispose();
_exitMessages();
} }
@override @override
@@ -102,9 +101,15 @@ class _MainPageState extends State<MainPage> {
'Zugewiesene Aufträge', 'Zugewiesene Aufträge',
image: Image.asset('assets/zugewiesene_auftraege.png', width: 30, height: 30), image: Image.asset('assets/zugewiesene_auftraege.png', width: 30, height: 30),
() async => { () async => {
await MessageService() // TODO MESSAGING
.publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const AssignedJobsPage()) sendMessage(
}), routingKey: Constants.messageTopicPushContentView,
payload: const AssignedJobsPage(),
)
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const AssignedJobsPage())
}
),
); );
}, },
), ),
@@ -136,9 +141,16 @@ class _MainPageState extends State<MainPage> {
'Angenommene Aufträge', 'Angenommene Aufträge',
image: Image.asset('assets/angenommene_auftraege.png', width: 30, height: 30), image: Image.asset('assets/angenommene_auftraege.png', width: 30, height: 30),
() async => { () async => {
await MessageService() // TODO MESSAGING
.publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const AcceptedJobsPage()) sendMessage(
})); routingKey: Constants.messageTopicPushContentView,
payload: const AcceptedJobsPage(),
)
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const AcceptedJobsPage())
}
)
);
}, },
), ),
), ),
@@ -149,9 +161,15 @@ class _MainPageState extends State<MainPage> {
'Erledigte Aufträge', 'Erledigte Aufträge',
image: Image.asset('assets/erledigte_auftraege.png', width: 30, height: 30), image: Image.asset('assets/erledigte_auftraege.png', width: 30, height: 30),
() async => { () async => {
await MessageService() // TODO MESSAGING
.publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const FinishedJobsPage()) sendMessage(
}), routingKey: Constants.messageTopicPushContentView,
payload: const FinishedJobsPage(),
)
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const FinishedJobsPage())
}
),
), ),
SizedBox(height: _loggedOut == true ? 0 : 20), SizedBox(height: _loggedOut == true ? 0 : 20),
Visibility( Visibility(
@@ -180,9 +198,16 @@ class _MainPageState extends State<MainPage> {
'Nachrichten', 'Nachrichten',
image: Image.asset('assets/nachrichten.png', width: 30, height: 30), image: Image.asset('assets/nachrichten.png', width: 30, height: 30),
() async => { () async => {
await MessageService() // TODO MESSAGING
.publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const MessagesPage()) sendMessage(
})); routingKey: Constants.messageTopicPushContentView,
payload: const MessagesPage(),
)
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const MessagesPage())
}
)
);
}, },
), ),
), ),
@@ -193,8 +218,12 @@ class _MainPageState extends State<MainPage> {
'Anfahrtsbereich', 'Anfahrtsbereich',
image: Image.asset('assets/anfahrtsbereich.png', width: 30, height: 30), image: Image.asset('assets/anfahrtsbereich.png', width: 30, height: 30),
() async => { () async => {
await MessageService() // TODO MESSAGING
.publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const ApproachAreaPage()) sendMessage(
routingKey: Constants.messageTopicPushContentView,
payload: const ApproachAreaPage(),
)
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: const ApproachAreaPage())
}), }),
), ),
SizedBox(height: _loggedOut == true ? 0 : 20), SizedBox(height: _loggedOut == true ? 0 : 20),
@@ -226,31 +255,58 @@ class _MainPageState extends State<MainPage> {
} }
_initMessages() { _initMessages() {
MessageService().subscribe<JobReceivedMessage>(Constants.messageTopicJobReceived, this, (JobReceivedMessage jobReceivedMessage) { subscribe(
queueId: Constants.messageTopicRemoveJob,
callback: (message) {
_refreshBadges();
},
);
subscribe(
queueId: Constants.messageTopicJobReceived,
callback: (message) {
_jobReceived((message.payload as JobReceivedMessage).job);
},
);
/*MessageService().subscribe<JobReceivedMessage>(Constants.messageTopicJobReceived, this, (JobReceivedMessage jobReceivedMessage) {
_jobReceived(jobReceivedMessage.job); _jobReceived(jobReceivedMessage.job);
}); });*/
MessageService().subscribe<MessageReceivedMessage>(Constants.messageTopicMessageReceived, this, (MessageReceivedMessage mesage) { subscribe(
queueId: Constants.messageTopicMessageReceived,
callback: (message) {
_refreshBadges(); _refreshBadges();
}); },
);
MessageService().subscribe<JobDeletedMessage>(Constants.messageTopicJobDeleted, this, (JobDeletedMessage job) { /*MessageService().subscribe<MessageReceivedMessage>(Constants.messageTopicMessageReceived, this, (MessageReceivedMessage mesage) {
_refreshBadges(); _refreshBadges();
}); });*/
MessageService().subscribe<RefreshBadgesMessage>(Constants.messageTopicUpdateBadges, this, (RefreshBadgesMessage message) { subscribe(
queueId: Constants.messageTopicJobDeleted,
callback: (message) {
_refreshBadges(); _refreshBadges();
}); },
} );
/*MessageService().subscribe<JobDeletedMessage>(Constants.messageTopicJobDeleted, this, (JobDeletedMessage job) {
_refreshBadges();
});*/
void _exitMessages() { subscribe(
MessageService().unsubscribeAll(this); queueId: Constants.messageTopicUpdateBadges,
callback: (message) {
_refreshBadges();
},
);
/*MessageService().subscribe<RefreshBadgesMessage>(Constants.messageTopicUpdateBadges, this, (RefreshBadgesMessage message) {
_refreshBadges();
});*/
} }
void _refreshBadges() async { void _refreshBadges() async {
_assignedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(0).count(); _assignedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(0).count();
_acceptedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(1).count(); _acceptedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(1).count();
_messagesValueNotifier.value = await MyApp.isarInstance.messages.filter().readEqualTo(false).count(); _messagesValueNotifier.value = await MyApp.isarInstance.chatMessages.filter().readEqualTo(false).count();
} }
void _jobReceived(Job job) { void _jobReceived(Job job) {
@@ -261,7 +317,13 @@ class _MainPageState extends State<MainPage> {
if (!_loggedOut) { if (!_loggedOut) {
showLogoutAlertDialog(context); showLogoutAlertDialog(context);
} else { } else {
await MessageService().publish<ConnectClientMessage>(Constants.messageTopicConnectClient, arguments: ConnectClientMessage()); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicConnectClient,
payload: ConnectClientMessage(),
);
//await MessageService().publish<ConnectClientMessage>(Constants.messageTopicConnectClient, arguments: ConnectClientMessage());
_loggedOut = false; _loggedOut = false;
@@ -281,13 +343,29 @@ class _MainPageState extends State<MainPage> {
_loggedOut = true; _loggedOut = true;
await MessageService().publish<DisconnectClientMessage>(Constants.messageTopicDisconnectClient, arguments: DisconnectClientMessage()); Future.delayed(const Duration(seconds: 2), () async {
// TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicDisconnectClient,
payload: DisconnectClientMessage(),
);
Future.delayed(const Duration(seconds: 5), () async { //await MessageService().publish<DisconnectClientMessage>(Constants.messageTopicDisconnectClient, arguments: DisconnectClientMessage());
Navigator.of(context).pop();
Future.delayed(const Duration(seconds: 3), () async {
// TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicDisconnectClient,
payload: DisconnectClientMessage(),
);
//await MessageService().publish<DisconnectClientMessage>(Constants.messageTopicDisconnectClient, arguments: DisconnectClientMessage());
Navigator.of(MyApp.appNavigatorKey.currentContext!).pop();
setState(() {}); setState(() {});
}); });
});
}, },
); );
@@ -329,8 +407,13 @@ class _MainPageState extends State<MainPage> {
logoutMessage.pos!.acc = position.accuracy.toInt(); logoutMessage.pos!.acc = position.accuracy.toInt();
} }
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, // TODO MESSAGING
arguments: PublishPayloadMessage(topic: "logout", message: logoutMessage.toJson(), qos: MqttQos.exactlyOnce)); sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "logout", message: logoutMessage.toJson(), qos: MqttQos.exactlyOnce),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "logout", message: logoutMessage.toJson(), qos: MqttQos.exactlyOnce));
} }
} }
@@ -339,7 +422,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ConsumerMixin {
final ValueNotifier<String> _zipValueNotifier = ValueNotifier("-----"); final ValueNotifier<String> _zipValueNotifier = ValueNotifier("-----");
final ValueNotifier<String> _zipRealValueNotifier = ValueNotifier("-----"); final ValueNotifier<String> _zipRealValueNotifier = ValueNotifier("-----");
final ValueNotifier<String> _sidValueNotifier = ValueNotifier("-----"); final ValueNotifier<String> _sidValueNotifier = ValueNotifier("-----");
@@ -498,13 +581,27 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
} }
_initMessages() { _initMessages() {
MessageService().subscribe<SessionStatusInfoUpdate>(Constants.messageTopicSessionStatusInfoUpdate, this, (sessionStatusInfoUpdateMessage) { subscribe(
queueId: Constants.messageTopicSessionStatusInfoUpdate,
callback: (message) {
_updateHeader(); _updateHeader();
}); },
);
MessageService().subscribe<LocationStatusUpdate>(Constants.messageTopicLocationStatusUpdated, this, (statusInfoUpdateMessage) { /*MessageService().subscribe<SessionStatusInfoUpdate>(Constants.messageTopicSessionStatusInfoUpdate, this, (sessionStatusInfoUpdateMessage) {
_updateHeader(); _updateHeader();
}); });*/
subscribe(
queueId: Constants.messageTopicLocationStatusUpdated,
callback: (message) {
_updateHeader();
},
);
/*MessageService().subscribe<LocationStatusUpdate>(Constants.messageTopicLocationStatusUpdated, this, (statusInfoUpdateMessage) {
_updateHeader();
});*/
} }
_updateHeader() async { _updateHeader() async {
+32 -13
View File
@@ -1,4 +1,5 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_chat_ui/flutter_chat_ui.dart'; import 'package:flutter_chat_ui/flutter_chat_ui.dart';
import 'package:flutter_chat_types/flutter_chat_types.dart' as types; import 'package:flutter_chat_types/flutter_chat_types.dart' as types;
@@ -7,8 +8,8 @@ import 'package:mqtt5_client/mqtt5_client.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart'; import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/main.dart'; import 'package:stadtbote/main.dart';
import 'package:stadtbote/messages/pop_content_view_message.dart'; import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/model/message.dart' as sbmessage; import 'package:stadtbote/model/chat_message.dart' as sbmessage;
import 'package:stadtbote/model/message.dart'; import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/session_status.dart'; import 'package:stadtbote/model/session_status.dart';
import 'package:stadtbote/tools/constants.dart'; import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/message_service.dart'; import 'package:stadtbote/tools/message_service.dart';
@@ -30,7 +31,7 @@ class MessagesPage extends ContentViewWidget {
} }
} }
class _MessagesPageState extends State<MessagesPage> { class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
bool _initCompleted = false; bool _initCompleted = false;
late String _sid; late String _sid;
@@ -87,19 +88,25 @@ class _MessagesPageState extends State<MessagesPage> {
void _handleSendPressed(types.PartialText text) async { void _handleSendPressed(types.PartialText text) async {
var now = DateTime.now(); var now = DateTime.now();
var message = sbmessage.Message(); var message = sbmessage.ChatMessage();
message.text = text.text; message.text = text.text;
message.from = _sid; message.from = _sid;
message.subj = ''; message.subj = '';
message.time = now.toUtc().toIso8601String(); message.time = now.toUtc().toIso8601String();
message.read = true; message.read = true;
message.id = await sbmessage.Message.getNextId(); message.id = await sbmessage.ChatMessage.getNextId();
await MyApp.isarInstance.writeTxn(() async { await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.messages.put(message); await MyApp.isarInstance.chatMessages.put(message);
}); });
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "message", message: message.toJson(), qos: MqttQos.exactlyOnce)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "message", message: message.toJson(), qos: MqttQos.exactlyOnce),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "message", message: message.toJson(), qos: MqttQos.exactlyOnce));
_messages.insert(0, types.TextMessage( _messages.insert(0, types.TextMessage(
author: _user, author: _user,
@@ -114,7 +121,7 @@ class _MessagesPageState extends State<MessagesPage> {
Future<void> _fetchMessages() async { Future<void> _fetchMessages() async {
_messages.clear(); _messages.clear();
var messages = await MyApp.isarInstance.messages.where().findAll(); var messages = await MyApp.isarInstance.chatMessages.where().findAll();
for (var message in messages) { for (var message in messages) {
_messages.add(types.TextMessage( _messages.add(types.TextMessage(
author: message.from == _sid ? _user : _central, author: message.from == _sid ? _user : _central,
@@ -127,7 +134,7 @@ class _MessagesPageState extends State<MessagesPage> {
message.read = true; message.read = true;
await MyApp.isarInstance.writeTxn(() async { await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.messages.put(message); await MyApp.isarInstance.chatMessages.put(message);
}); });
} }
@@ -166,7 +173,7 @@ class _MessagesPageState extends State<MessagesPage> {
const SizedBox(width: 20), const SizedBox(width: 20),
Expanded( Expanded(
child: getDefaultButton('Ja', () async => { child: getDefaultButton('Ja', () async => {
await MyApp.isarInstance.writeTxn(() async => { await MyApp.isarInstance.messages.delete(int.parse(message.id))}), await MyApp.isarInstance.writeTxn(() async => { await MyApp.isarInstance.chatMessages.delete(int.parse(message.id))}),
_fetchMessages(), _fetchMessages(),
@@ -192,7 +199,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -222,7 +229,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -245,7 +258,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+45 -8
View File
@@ -1,5 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@@ -50,7 +51,7 @@ class TaskListPage extends ContentViewWidget {
} }
} }
class _TaskListPageState extends State<TaskListPage> { class _TaskListPageState extends State<TaskListPage> with ProducerMixin {
late bool _initCompleted = false; late bool _initCompleted = false;
late List<TaskInfo> _taskList; late List<TaskInfo> _taskList;
@@ -420,7 +421,13 @@ class _TaskListPageState extends State<TaskListPage> {
_finishTaskProcessing(taskInfo); _finishTaskProcessing(taskInfo);
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 2)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 2),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 2));
} }
}); });
}); });
@@ -471,7 +478,13 @@ class _TaskListPageState extends State<TaskListPage> {
message.task.pos = null; message.task.pos = null;
} }
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "fin_task", message: message.toJson(), qos: MqttQos.exactlyOnce)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "fin_task", message: message.toJson(), qos: MqttQos.exactlyOnce),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "fin_task", message: message.toJson(), qos: MqttQos.exactlyOnce));
} }
FinTourTask _createAnswerHeader(TaskInfo taskInfo) { FinTourTask _createAnswerHeader(TaskInfo taskInfo) {
@@ -515,7 +528,13 @@ class _TaskListPageState extends State<TaskListPage> {
} }
} }
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "fin_tour", message: finTourMessage.toJson(), qos: MqttQos.exactlyOnce)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "fin_tour", message: finTourMessage.toJson(), qos: MqttQos.exactlyOnce),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "fin_tour", message: finTourMessage.toJson(), qos: MqttQos.exactlyOnce));
widget.tour.state = Constants.stateFinishedNotConfirmed; widget.tour.state = Constants.stateFinishedNotConfirmed;
@@ -540,7 +559,13 @@ class _TaskListPageState extends State<TaskListPage> {
message.time = DateTime.now().millisecondsSinceEpoch; message.time = DateTime.now().millisecondsSinceEpoch;
message.data = picture.data; message.data = picture.data;
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "pic", message: message.toJson(), qos: MqttQos.exactlyOnce)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "pic", message: message.toJson(), qos: MqttQos.exactlyOnce),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "pic", message: message.toJson(), qos: MqttQos.exactlyOnce));
await MyApp.isarInstance.writeTxn(() async { await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.pictures.delete(picture.id); await MyApp.isarInstance.pictures.delete(picture.id);
@@ -575,7 +600,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -605,7 +630,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -628,7 +659,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+24 -5
View File
@@ -1,3 +1,4 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stadtbote/content_views/task_list_page.dart'; import 'package:stadtbote/content_views/task_list_page.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart'; import 'package:stadtbote/content_views/utils/content_view_widget.dart';
@@ -30,7 +31,7 @@ class TourDetailsPage extends ContentViewWidget {
} }
} }
class _TourDetailsPageState extends State<TourDetailsPage> { class _TourDetailsPageState extends State<TourDetailsPage> with ProducerMixin {
late bool _initCompleted = false; late bool _initCompleted = false;
@override @override
@@ -133,7 +134,13 @@ class _TourDetailsPageState extends State<TourDetailsPage> {
const SizedBox(height: 10), const SizedBox(height: 10),
getDefaultButton('Weiter', () async => getDefaultButton('Weiter', () async =>
{ {
await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TaskListPage(job: widget.job, tour: widget.tour, readOnly: widget.readOnly)) // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPushContentView,
payload: TaskListPage(job: widget.job, tour: widget.tour, readOnly: widget.readOnly),
)
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TaskListPage(job: widget.job, tour: widget.tour, readOnly: widget.readOnly))
}), }),
], ],
), ),
@@ -146,7 +153,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -176,7 +183,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -199,7 +212,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+24 -5
View File
@@ -1,3 +1,4 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stadtbote/content_views/tour_details_page.dart'; import 'package:stadtbote/content_views/tour_details_page.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart'; import 'package:stadtbote/content_views/utils/content_view_widget.dart';
@@ -28,7 +29,7 @@ class TourListPage extends ContentViewWidget {
} }
} }
class _TourListPageState extends State<TourListPage> { class _TourListPageState extends State<TourListPage> with ProducerMixin {
late List<JobTour> _tours; late List<JobTour> _tours;
late bool _initCompleted = false; late bool _initCompleted = false;
@@ -198,7 +199,13 @@ class _TourListPageState extends State<TourListPage> {
} }
Future<void> _clicked(JobTour tour, bool readOnly) async { Future<void> _clicked(JobTour tour, bool readOnly) async {
await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TourDetailsPage(job: widget.job, tour: tour, readOnly: readOnly)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPushContentView,
payload: TourDetailsPage(job: widget.job, tour: tour, readOnly: readOnly),
);
//await MessageService().publish<ContentViewWidget>(Constants.messageTopicPushContentView, arguments: TourDetailsPage(job: widget.job, tour: tour, readOnly: readOnly));
} }
} }
@@ -207,7 +214,7 @@ class _HeaderWidget extends StatefulWidget {
State<_HeaderWidget> createState() => _HeaderWidgetState(); State<_HeaderWidget> createState() => _HeaderWidgetState();
} }
class _HeaderWidgetState extends State<_HeaderWidget> { class _HeaderWidgetState extends State<_HeaderWidget> with ProducerMixin {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@@ -237,7 +244,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
radius: 10, radius: 10,
@@ -260,7 +273,13 @@ class _HeaderWidgetState extends State<_HeaderWidget> {
child: FittedBox( child: FittedBox(
child: GestureDetector( child: GestureDetector(
onTap: () async { onTap: () async {
await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPopContentView,
payload: PopContentViewMessage(count: 1),
);
//await MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 1));
}, },
child: const CircleAvatar( child: const CircleAvatar(
backgroundColor: Constants.colorPrimary, backgroundColor: Constants.colorPrimary,
+105 -19
View File
@@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:dart_mq/dart_mq.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
@@ -8,7 +9,7 @@ import 'package:shared_map/shared_map.dart';
import 'package:stadtbote/messages/pop_content_view_message.dart'; import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/model/enqueued_message.dart'; import 'package:stadtbote/model/enqueued_message.dart';
import 'package:stadtbote/model/log_entry.dart'; import 'package:stadtbote/model/log_entry.dart';
import 'package:stadtbote/model/message.dart'; import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/pictures.dart'; import 'package:stadtbote/model/pictures.dart';
import 'package:stadtbote/model/rank.dart'; import 'package:stadtbote/model/rank.dart';
import 'package:stadtbote/model/location_status.dart'; import 'package:stadtbote/model/location_status.dart';
@@ -35,13 +36,32 @@ Future<void> main() async {
runZonedGuarded(() async { runZonedGuarded(() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
MQClient.initialize();
MQClient.instance.declareQueue(Constants.messageTopicRemoveJob);
MQClient.instance.declareQueue(Constants.messageTopicPublishPayload);
MQClient.instance.declareQueue(Constants.messageTopicDisconnectClient);
MQClient.instance.declareQueue(Constants.messageTopicConnectClient);
MQClient.instance.declareQueue(Constants.messageTopicRequestConnectionStatus);
MQClient.instance.declareQueue(Constants.messageTopicConnectionStatusChanged);
MQClient.instance.declareQueue(Constants.messageTopicJobDeleted);
MQClient.instance.declareQueue(Constants.messageTopicRankingUpdated);
MQClient.instance.declareQueue(Constants.messageTopicSessionInfoUpdate);
MQClient.instance.declareQueue(Constants.messageTopicSessionStatusInfoUpdate);
MQClient.instance.declareQueue(Constants.messageTopicLocationStatusUpdated);
MQClient.instance.declareQueue(Constants.messageTopicPushContentView);
MQClient.instance.declareQueue(Constants.messageTopicPopContentView);
MQClient.instance.declareQueue(Constants.messageTopicReplaceContentView);
MQClient.instance.declareQueue(Constants.messageTopicJobReceived);
MQClient.instance.declareQueue(Constants.messageTopicMessageReceived);
MQClient.instance.declareQueue(Constants.messageTopicUpdateBadges);
final dir = await getApplicationDocumentsDirectory(); final dir = await getApplicationDocumentsDirectory();
MyApp.isarInstance = await Isar.open([ MyApp.isarInstance = await Isar.open([
SessionStatusSchema, SessionStatusSchema,
LocationStatusSchema, LocationStatusSchema,
JobSchema, JobSchema,
TaskInfoSchema, TaskInfoSchema,
MessageSchema, ChatMessageSchema,
EnqueuedMessageSchema, EnqueuedMessageSchema,
LogEntrySchema, LogEntrySchema,
RankingSchema, RankingSchema,
@@ -84,7 +104,7 @@ class MyApp extends StatefulWidget {
State<MyApp> createState() => _MyAppState(); State<MyApp> createState() => _MyAppState();
} }
class _MyAppState extends State<MyApp> { class _MyAppState extends State<MyApp> with ConsumerMixin {
final MqttCore mqttCore = MqttCore(); final MqttCore mqttCore = MqttCore();
@override void initState() { @override void initState() {
@@ -161,7 +181,7 @@ class Main extends StatefulWidget {
State<Main> createState() => _MainState(); State<Main> createState() => _MainState();
} }
class _MainState extends State<Main> with SingleTickerProviderStateMixin { class _MainState extends State<Main> with SingleTickerProviderStateMixin, ProducerMixin, ConsumerMixin {
late ContentViewWidget _currentContent; late ContentViewWidget _currentContent;
late WidgetStack<ContentViewWidget> contentStack = WidgetStack(); late WidgetStack<ContentViewWidget> contentStack = WidgetStack();
@@ -282,25 +302,75 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
} }
void _initMessages() { void _initMessages() {
MessageService().unsubscribeAll(this); subscribe(
queueId: Constants.messageTopicPushContentView,
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicPushContentView, this, (ContentViewWidget widget) { callback: (message) {
var widget = message.payload as ContentViewWidget;
_pushContentView(widget); _pushContentView(widget);
}); },
);
/*MessageService().subscribe<ContentViewWidget>(Constants.messageTopicPushContentView, this, (ContentViewWidget widget) {
_pushContentView(widget);
});*/
MessageService().subscribe<PopContentViewMessage>(Constants.messageTopicPopContentView, this, (PopContentViewMessage message) { subscribe(
queueId: Constants.messageTopicPopContentView,
callback: (message) {
var popContentViewMessage = message.payload as PopContentViewMessage;
_popContentView(popContentViewMessage.count);
},
);
/*MessageService().subscribe<PopContentViewMessage>(Constants.messageTopicPopContentView, this, (PopContentViewMessage message) {
_popContentView(message.count); _popContentView(message.count);
}); });*/
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicReplaceContentView, this, (ContentViewWidget widget) { subscribe(
queueId: Constants.messageTopicReplaceContentView,
callback: (message) {
var widget = message.payload as ContentViewWidget;
_replaceContentView(widget); _replaceContentView(widget);
}); },
);
/*MessageService().subscribe<ContentViewWidget>(Constants.messageTopicReplaceContentView, this, (ContentViewWidget widget) {
_replaceContentView(widget);
});*/
MessageService().subscribe<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, this, (ConnectionStatus connectionStatus) { subscribe(
queueId: Constants.messageTopicConnectionStatusChanged,
callback: (message) {
var connectionStatus = message.payload as ConnectionStatus;
_connectionStatusChanged(connectionStatus); _connectionStatusChanged(connectionStatus);
},
);
/*MessageService().subscribe<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, this, (ConnectionStatus connectionStatus) {
_connectionStatusChanged(connectionStatus);
});*/
subscribe(
queueId: Constants.messageTopicRemoveJob,
callback: (message) async {
var removeJobMessage = message.payload as RemoveJobMessage;
await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.jobs.where().filter().idEqualTo(removeJobMessage.id).deleteAll();
}); });
MessageService().subscribe<RemoveJobMessage>(Constants.messageTopicRemoveJob, this, (RemoveJobMessage job) async { // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicJobDeleted,
payload: JobDeletedMessage(id: removeJobMessage.id),
);
//await MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: job.id));
// TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicUpdateBadges,
payload: RefreshBadgesMessage,
);
//await MessageService().publish<RefreshBadgesMessage>(Constants.messageTopicUpdateBadges, arguments: RefreshBadgesMessage());
},
);
/*MessageService().subscribe<RemoveJobMessage>(Constants.messageTopicRemoveJob, this, (RemoveJobMessage job) async {
await MyApp.isarInstance.writeTxn(() async { await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.jobs.where().filter().idEqualTo(job.id).deleteAll(); await MyApp.isarInstance.jobs.where().filter().idEqualTo(job.id).deleteAll();
}); });
@@ -308,17 +378,33 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
await MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: job.id)); await MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: job.id));
await MessageService().publish<RefreshBadgesMessage>(Constants.messageTopicUpdateBadges, arguments: RefreshBadgesMessage()); await MessageService().publish<RefreshBadgesMessage>(Constants.messageTopicUpdateBadges, arguments: RefreshBadgesMessage());
}); });*/
MessageService().subscribe<JobReceivedMessage>(Constants.messageTopicJobReceived, this, (JobReceivedMessage jobReceivedMessage) async { subscribe(
queueId: Constants.messageTopicJobReceived,
callback: (message) async {
var jobReceived = message.payload as JobReceivedMessage;
if (jobReceived.job.state == 0) {
await _jobMap!.put(jobReceived.job.id, jobReceived.job);
}
},
);
/*MessageService().subscribe<JobReceivedMessage>(Constants.messageTopicJobReceived, this, (JobReceivedMessage jobReceivedMessage) async {
if (jobReceivedMessage.job.state == 0) { if (jobReceivedMessage.job.state == 0) {
await _jobMap!.put(jobReceivedMessage.job.id, jobReceivedMessage.job); await _jobMap!.put(jobReceivedMessage.job.id, jobReceivedMessage.job);
} }
}); });*/
MessageService().subscribe<JobDeletedMessage>(Constants.messageTopicJobDeleted, this, (JobDeletedMessage jobDeletedMessage) async { subscribe(
queueId: Constants.messageTopicJobDeleted,
callback: (message) async {
var jobDeleted = message.payload as JobDeletedMessage;
await _jobMap!.remove(jobDeleted.id);
},
);
/*MessageService().subscribe<JobDeletedMessage>(Constants.messageTopicJobDeleted, this, (JobDeletedMessage jobDeletedMessage) async {
await _jobMap!.remove(jobDeletedMessage.id); await _jobMap!.remove(jobDeletedMessage.id);
}); });*/
} }
void _replaceContentView(ContentViewWidget widget) async { void _replaceContentView(ContentViewWidget widget) async {
@@ -3,11 +3,11 @@ import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/main.dart'; import 'package:stadtbote/main.dart';
import 'package:stadtbote/tools/util.dart'; import 'package:stadtbote/tools/util.dart';
part 'message.g.dart'; part 'chat_message.g.dart';
@collection @collection
@JsonSerializable() @JsonSerializable()
class Message { class ChatMessage {
late Id id; late Id id;
late String time; late String time;
@@ -20,14 +20,14 @@ class Message {
late bool? read = false; late bool? read = false;
Message(); ChatMessage();
factory Message.fromJson(Map<String, dynamic> json) => _$MessageFromJson(json); factory ChatMessage.fromJson(Map<String, dynamic> json) => _$ChatMessageFromJson(json);
Map<String, dynamic> toJson() => _$MessageToJson(this); Map<String, dynamic> toJson() => _$ChatMessageToJson(this);
static Future<Message> mergeFromJson(Map<String, dynamic> json) async { static Future<ChatMessage> mergeFromJson(Map<String, dynamic> json) async {
var availableMessage = await MyApp.isarInstance.messages.filter().idEqualTo(json["id"]).findFirst(); var availableMessage = await MyApp.isarInstance.chatMessages.filter().idEqualTo(json["id"]).findFirst();
if (availableMessage != null) { if (availableMessage != null) {
availableMessage.id = json["id"]; availableMessage.id = json["id"];
@@ -38,7 +38,7 @@ class Message {
return availableMessage; return availableMessage;
} else { } else {
var message = Message.fromJson(json); var message = ChatMessage.fromJson(json);
message.read = false; message.read = false;
return message; return message;
@@ -1,6 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND // GENERATED CODE - DO NOT MODIFY BY HAND
part of 'message.dart'; part of 'chat_message.dart';
// ************************************************************************** // **************************************************************************
// IsarCollectionGenerator // IsarCollectionGenerator
@@ -9,13 +9,13 @@ part of 'message.dart';
// coverage:ignore-file // coverage:ignore-file
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types // ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
extension GetMessageCollection on Isar { extension GetChatMessageCollection on Isar {
IsarCollection<Message> get messages => this.collection(); IsarCollection<ChatMessage> get chatMessages => this.collection();
} }
const MessageSchema = CollectionSchema( const ChatMessageSchema = CollectionSchema(
name: r'Message', name: r'ChatMessage',
id: 2463283977299753079, id: 35366979330584919,
properties: { properties: {
r'from': PropertySchema( r'from': PropertySchema(
id: 0, id: 0,
@@ -43,22 +43,22 @@ const MessageSchema = CollectionSchema(
type: IsarType.string, type: IsarType.string,
) )
}, },
estimateSize: _messageEstimateSize, estimateSize: _chatMessageEstimateSize,
serialize: _messageSerialize, serialize: _chatMessageSerialize,
deserialize: _messageDeserialize, deserialize: _chatMessageDeserialize,
deserializeProp: _messageDeserializeProp, deserializeProp: _chatMessageDeserializeProp,
idName: r'id', idName: r'id',
indexes: {}, indexes: {},
links: {}, links: {},
embeddedSchemas: {}, embeddedSchemas: {},
getId: _messageGetId, getId: _chatMessageGetId,
getLinks: _messageGetLinks, getLinks: _chatMessageGetLinks,
attach: _messageAttach, attach: _chatMessageAttach,
version: '3.1.0+1', version: '3.1.0+1',
); );
int _messageEstimateSize( int _chatMessageEstimateSize(
Message object, ChatMessage object,
List<int> offsets, List<int> offsets,
Map<Type, List<int>> allOffsets, Map<Type, List<int>> allOffsets,
) { ) {
@@ -70,8 +70,8 @@ int _messageEstimateSize(
return bytesCount; return bytesCount;
} }
void _messageSerialize( void _chatMessageSerialize(
Message object, ChatMessage object,
IsarWriter writer, IsarWriter writer,
List<int> offsets, List<int> offsets,
Map<Type, List<int>> allOffsets, Map<Type, List<int>> allOffsets,
@@ -83,13 +83,13 @@ void _messageSerialize(
writer.writeString(offsets[4], object.time); writer.writeString(offsets[4], object.time);
} }
Message _messageDeserialize( ChatMessage _chatMessageDeserialize(
Id id, Id id,
IsarReader reader, IsarReader reader,
List<int> offsets, List<int> offsets,
Map<Type, List<int>> allOffsets, Map<Type, List<int>> allOffsets,
) { ) {
final object = Message(); final object = ChatMessage();
object.from = reader.readString(offsets[0]); object.from = reader.readString(offsets[0]);
object.id = id; object.id = id;
object.read = reader.readBoolOrNull(offsets[1]); object.read = reader.readBoolOrNull(offsets[1]);
@@ -99,7 +99,7 @@ Message _messageDeserialize(
return object; return object;
} }
P _messageDeserializeProp<P>( P _chatMessageDeserializeProp<P>(
IsarReader reader, IsarReader reader,
int propertyId, int propertyId,
int offset, int offset,
@@ -121,28 +121,31 @@ P _messageDeserializeProp<P>(
} }
} }
Id _messageGetId(Message object) { Id _chatMessageGetId(ChatMessage object) {
return object.id; return object.id;
} }
List<IsarLinkBase<dynamic>> _messageGetLinks(Message object) { List<IsarLinkBase<dynamic>> _chatMessageGetLinks(ChatMessage object) {
return []; return [];
} }
void _messageAttach(IsarCollection<dynamic> col, Id id, Message object) { void _chatMessageAttach(
IsarCollection<dynamic> col, Id id, ChatMessage object) {
object.id = id; object.id = id;
} }
extension MessageQueryWhereSort on QueryBuilder<Message, Message, QWhere> { extension ChatMessageQueryWhereSort
QueryBuilder<Message, Message, QAfterWhere> anyId() { on QueryBuilder<ChatMessage, ChatMessage, QWhere> {
QueryBuilder<ChatMessage, ChatMessage, QAfterWhere> anyId() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(const IdWhereClause.any()); return query.addWhereClause(const IdWhereClause.any());
}); });
} }
} }
extension MessageQueryWhere on QueryBuilder<Message, Message, QWhereClause> { extension ChatMessageQueryWhere
QueryBuilder<Message, Message, QAfterWhereClause> idEqualTo(Id id) { on QueryBuilder<ChatMessage, ChatMessage, QWhereClause> {
QueryBuilder<ChatMessage, ChatMessage, QAfterWhereClause> idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between( return query.addWhereClause(IdWhereClause.between(
lower: id, lower: id,
@@ -151,7 +154,8 @@ extension MessageQueryWhere on QueryBuilder<Message, Message, QWhereClause> {
}); });
} }
QueryBuilder<Message, Message, QAfterWhereClause> idNotEqualTo(Id id) { QueryBuilder<ChatMessage, ChatMessage, QAfterWhereClause> idNotEqualTo(
Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
if (query.whereSort == Sort.asc) { if (query.whereSort == Sort.asc) {
return query return query
@@ -173,7 +177,7 @@ extension MessageQueryWhere on QueryBuilder<Message, Message, QWhereClause> {
}); });
} }
QueryBuilder<Message, Message, QAfterWhereClause> idGreaterThan(Id id, QueryBuilder<ChatMessage, ChatMessage, QAfterWhereClause> idGreaterThan(Id id,
{bool include = false}) { {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
@@ -182,7 +186,7 @@ extension MessageQueryWhere on QueryBuilder<Message, Message, QWhereClause> {
}); });
} }
QueryBuilder<Message, Message, QAfterWhereClause> idLessThan(Id id, QueryBuilder<ChatMessage, ChatMessage, QAfterWhereClause> idLessThan(Id id,
{bool include = false}) { {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
@@ -191,7 +195,7 @@ extension MessageQueryWhere on QueryBuilder<Message, Message, QWhereClause> {
}); });
} }
QueryBuilder<Message, Message, QAfterWhereClause> idBetween( QueryBuilder<ChatMessage, ChatMessage, QAfterWhereClause> idBetween(
Id lowerId, Id lowerId,
Id upperId, { Id upperId, {
bool includeLower = true, bool includeLower = true,
@@ -208,9 +212,9 @@ extension MessageQueryWhere on QueryBuilder<Message, Message, QWhereClause> {
} }
} }
extension MessageQueryFilter extension ChatMessageQueryFilter
on QueryBuilder<Message, Message, QFilterCondition> { on QueryBuilder<ChatMessage, ChatMessage, QFilterCondition> {
QueryBuilder<Message, Message, QAfterFilterCondition> fromEqualTo( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromEqualTo(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -223,7 +227,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromGreaterThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromGreaterThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -238,7 +242,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromLessThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromLessThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -253,7 +257,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromBetween( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromBetween(
String lower, String lower,
String upper, { String upper, {
bool includeLower = true, bool includeLower = true,
@@ -272,7 +276,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromStartsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromStartsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -285,7 +289,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromEndsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromEndsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -298,7 +302,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromContains( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromContains(
String value, String value,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -310,7 +314,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromMatches( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromMatches(
String pattern, String pattern,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -322,7 +326,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromIsEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> fromIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo( return query.addFilterCondition(FilterCondition.equalTo(
property: r'from', property: r'from',
@@ -331,7 +335,8 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> fromIsNotEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition>
fromIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan( return query.addFilterCondition(FilterCondition.greaterThan(
property: r'from', property: r'from',
@@ -340,7 +345,8 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> idEqualTo(Id value) { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> idEqualTo(
Id value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo( return query.addFilterCondition(FilterCondition.equalTo(
property: r'id', property: r'id',
@@ -349,7 +355,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> idGreaterThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> idGreaterThan(
Id value, { Id value, {
bool include = false, bool include = false,
}) { }) {
@@ -362,7 +368,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> idLessThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> idLessThan(
Id value, { Id value, {
bool include = false, bool include = false,
}) { }) {
@@ -375,7 +381,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> idBetween( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> idBetween(
Id lower, Id lower,
Id upper, { Id upper, {
bool includeLower = true, bool includeLower = true,
@@ -392,7 +398,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> readIsNull() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> readIsNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNull( return query.addFilterCondition(const FilterCondition.isNull(
property: r'read', property: r'read',
@@ -400,7 +406,8 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> readIsNotNull() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition>
readIsNotNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNotNull( return query.addFilterCondition(const FilterCondition.isNotNull(
property: r'read', property: r'read',
@@ -408,7 +415,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> readEqualTo( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> readEqualTo(
bool? value) { bool? value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo( return query.addFilterCondition(FilterCondition.equalTo(
@@ -418,7 +425,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjEqualTo( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjEqualTo(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -431,7 +438,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjGreaterThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjGreaterThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -446,7 +453,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjLessThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjLessThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -461,7 +468,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjBetween( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjBetween(
String lower, String lower,
String upper, { String upper, {
bool includeLower = true, bool includeLower = true,
@@ -480,7 +487,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjStartsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjStartsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -493,7 +500,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjEndsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjEndsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -506,7 +513,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjContains( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjContains(
String value, String value,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -518,7 +525,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjMatches( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjMatches(
String pattern, String pattern,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -530,7 +537,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjIsEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> subjIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo( return query.addFilterCondition(FilterCondition.equalTo(
property: r'subj', property: r'subj',
@@ -539,7 +546,8 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> subjIsNotEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition>
subjIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan( return query.addFilterCondition(FilterCondition.greaterThan(
property: r'subj', property: r'subj',
@@ -548,7 +556,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textEqualTo( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textEqualTo(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -561,7 +569,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textGreaterThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textGreaterThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -576,7 +584,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textLessThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textLessThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -591,7 +599,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textBetween( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textBetween(
String lower, String lower,
String upper, { String upper, {
bool includeLower = true, bool includeLower = true,
@@ -610,7 +618,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textStartsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textStartsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -623,7 +631,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textEndsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textEndsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -636,7 +644,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textContains( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textContains(
String value, String value,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -648,7 +656,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textMatches( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textMatches(
String pattern, String pattern,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -660,7 +668,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textIsEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> textIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo( return query.addFilterCondition(FilterCondition.equalTo(
property: r'text', property: r'text',
@@ -669,7 +677,8 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> textIsNotEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition>
textIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan( return query.addFilterCondition(FilterCondition.greaterThan(
property: r'text', property: r'text',
@@ -678,7 +687,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeEqualTo( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeEqualTo(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -691,7 +700,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeGreaterThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeGreaterThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -706,7 +715,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeLessThan( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeLessThan(
String value, { String value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
@@ -721,7 +730,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeBetween( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeBetween(
String lower, String lower,
String upper, { String upper, {
bool includeLower = true, bool includeLower = true,
@@ -740,7 +749,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeStartsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeStartsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -753,7 +762,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeEndsWith( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeEndsWith(
String value, { String value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -766,7 +775,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeContains( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeContains(
String value, String value,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -778,7 +787,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeMatches( QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeMatches(
String pattern, String pattern,
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -790,7 +799,7 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeIsEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition> timeIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo( return query.addFilterCondition(FilterCondition.equalTo(
property: r'time', property: r'time',
@@ -799,7 +808,8 @@ extension MessageQueryFilter
}); });
} }
QueryBuilder<Message, Message, QAfterFilterCondition> timeIsNotEmpty() { QueryBuilder<ChatMessage, ChatMessage, QAfterFilterCondition>
timeIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan( return query.addFilterCondition(FilterCondition.greaterThan(
property: r'time', property: r'time',
@@ -809,179 +819,180 @@ extension MessageQueryFilter
} }
} }
extension MessageQueryObject extension ChatMessageQueryObject
on QueryBuilder<Message, Message, QFilterCondition> {} on QueryBuilder<ChatMessage, ChatMessage, QFilterCondition> {}
extension MessageQueryLinks extension ChatMessageQueryLinks
on QueryBuilder<Message, Message, QFilterCondition> {} on QueryBuilder<ChatMessage, ChatMessage, QFilterCondition> {}
extension MessageQuerySortBy on QueryBuilder<Message, Message, QSortBy> { extension ChatMessageQuerySortBy
QueryBuilder<Message, Message, QAfterSortBy> sortByFrom() { on QueryBuilder<ChatMessage, ChatMessage, QSortBy> {
QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByFrom() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'from', Sort.asc); return query.addSortBy(r'from', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortByFromDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByFromDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'from', Sort.desc); return query.addSortBy(r'from', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortByRead() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByRead() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'read', Sort.asc); return query.addSortBy(r'read', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortByReadDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByReadDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'read', Sort.desc); return query.addSortBy(r'read', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortBySubj() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortBySubj() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'subj', Sort.asc); return query.addSortBy(r'subj', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortBySubjDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortBySubjDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'subj', Sort.desc); return query.addSortBy(r'subj', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortByText() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByText() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'text', Sort.asc); return query.addSortBy(r'text', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortByTextDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByTextDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'text', Sort.desc); return query.addSortBy(r'text', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortByTime() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByTime() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'time', Sort.asc); return query.addSortBy(r'time', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> sortByTimeDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> sortByTimeDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'time', Sort.desc); return query.addSortBy(r'time', Sort.desc);
}); });
} }
} }
extension MessageQuerySortThenBy extension ChatMessageQuerySortThenBy
on QueryBuilder<Message, Message, QSortThenBy> { on QueryBuilder<ChatMessage, ChatMessage, QSortThenBy> {
QueryBuilder<Message, Message, QAfterSortBy> thenByFrom() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByFrom() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'from', Sort.asc); return query.addSortBy(r'from', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByFromDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByFromDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'from', Sort.desc); return query.addSortBy(r'from', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenById() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenById() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'id', Sort.asc); return query.addSortBy(r'id', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByIdDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByIdDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'id', Sort.desc); return query.addSortBy(r'id', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByRead() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByRead() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'read', Sort.asc); return query.addSortBy(r'read', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByReadDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByReadDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'read', Sort.desc); return query.addSortBy(r'read', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenBySubj() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenBySubj() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'subj', Sort.asc); return query.addSortBy(r'subj', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenBySubjDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenBySubjDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'subj', Sort.desc); return query.addSortBy(r'subj', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByText() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByText() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'text', Sort.asc); return query.addSortBy(r'text', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByTextDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByTextDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'text', Sort.desc); return query.addSortBy(r'text', Sort.desc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByTime() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByTime() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'time', Sort.asc); return query.addSortBy(r'time', Sort.asc);
}); });
} }
QueryBuilder<Message, Message, QAfterSortBy> thenByTimeDesc() { QueryBuilder<ChatMessage, ChatMessage, QAfterSortBy> thenByTimeDesc() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'time', Sort.desc); return query.addSortBy(r'time', Sort.desc);
}); });
} }
} }
extension MessageQueryWhereDistinct extension ChatMessageQueryWhereDistinct
on QueryBuilder<Message, Message, QDistinct> { on QueryBuilder<ChatMessage, ChatMessage, QDistinct> {
QueryBuilder<Message, Message, QDistinct> distinctByFrom( QueryBuilder<ChatMessage, ChatMessage, QDistinct> distinctByFrom(
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'from', caseSensitive: caseSensitive); return query.addDistinctBy(r'from', caseSensitive: caseSensitive);
}); });
} }
QueryBuilder<Message, Message, QDistinct> distinctByRead() { QueryBuilder<ChatMessage, ChatMessage, QDistinct> distinctByRead() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'read'); return query.addDistinctBy(r'read');
}); });
} }
QueryBuilder<Message, Message, QDistinct> distinctBySubj( QueryBuilder<ChatMessage, ChatMessage, QDistinct> distinctBySubj(
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'subj', caseSensitive: caseSensitive); return query.addDistinctBy(r'subj', caseSensitive: caseSensitive);
}); });
} }
QueryBuilder<Message, Message, QDistinct> distinctByText( QueryBuilder<ChatMessage, ChatMessage, QDistinct> distinctByText(
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'text', caseSensitive: caseSensitive); return query.addDistinctBy(r'text', caseSensitive: caseSensitive);
}); });
} }
QueryBuilder<Message, Message, QDistinct> distinctByTime( QueryBuilder<ChatMessage, ChatMessage, QDistinct> distinctByTime(
{bool caseSensitive = true}) { {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'time', caseSensitive: caseSensitive); return query.addDistinctBy(r'time', caseSensitive: caseSensitive);
@@ -989,39 +1000,39 @@ extension MessageQueryWhereDistinct
} }
} }
extension MessageQueryProperty extension ChatMessageQueryProperty
on QueryBuilder<Message, Message, QQueryProperty> { on QueryBuilder<ChatMessage, ChatMessage, QQueryProperty> {
QueryBuilder<Message, int, QQueryOperations> idProperty() { QueryBuilder<ChatMessage, int, QQueryOperations> idProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'id'); return query.addPropertyName(r'id');
}); });
} }
QueryBuilder<Message, String, QQueryOperations> fromProperty() { QueryBuilder<ChatMessage, String, QQueryOperations> fromProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'from'); return query.addPropertyName(r'from');
}); });
} }
QueryBuilder<Message, bool?, QQueryOperations> readProperty() { QueryBuilder<ChatMessage, bool?, QQueryOperations> readProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'read'); return query.addPropertyName(r'read');
}); });
} }
QueryBuilder<Message, String, QQueryOperations> subjProperty() { QueryBuilder<ChatMessage, String, QQueryOperations> subjProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'subj'); return query.addPropertyName(r'subj');
}); });
} }
QueryBuilder<Message, String, QQueryOperations> textProperty() { QueryBuilder<ChatMessage, String, QQueryOperations> textProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'text'); return query.addPropertyName(r'text');
}); });
} }
QueryBuilder<Message, String, QQueryOperations> timeProperty() { QueryBuilder<ChatMessage, String, QQueryOperations> timeProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'time'); return query.addPropertyName(r'time');
}); });
@@ -1032,15 +1043,16 @@ extension MessageQueryProperty
// JsonSerializableGenerator // JsonSerializableGenerator
// ************************************************************************** // **************************************************************************
Message _$MessageFromJson(Map<String, dynamic> json) => Message() ChatMessage _$ChatMessageFromJson(Map<String, dynamic> json) => ChatMessage()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..time = json['time'] as String ..time = json['time'] as String
..from = json['from'] as String ..from = json['from'] as String
..subj = json['subj'] as String ..subj = json['subj'] as String
..text = json['text'] as String ..text = json['text'] as String
..read = json['read'] as bool?; ..read = json['read'] as bool?;
Map<String, dynamic> _$MessageToJson(Message instance) => <String, dynamic>{ Map<String, dynamic> _$ChatMessageToJson(ChatMessage instance) =>
<String, dynamic>{
'id': instance.id, 'id': instance.id,
'time': instance.time, 'time': instance.time,
'from': instance.from, 'from': instance.from,
+2 -1
View File
@@ -1,3 +1,4 @@
import 'package:dart_mq/dart_mq.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/model/job_tour.dart'; import 'package:stadtbote/model/job_tour.dart';
@@ -8,7 +9,7 @@ part 'job.g.dart';
@collection @collection
@JsonSerializable() @JsonSerializable()
class Job { class Job with ProducerMixin {
late Id id; late Id id;
@JsonKey(name: 'ver') @JsonKey(name: 'ver')
late String ver; late String ver;
+5 -5
View File
@@ -1546,16 +1546,16 @@ extension JobQueryProperty on QueryBuilder<Job, Job, QQueryProperty> {
// ************************************************************************** // **************************************************************************
Job _$JobFromJson(Map<String, dynamic> json) => Job() Job _$JobFromJson(Map<String, dynamic> json) => Job()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..ver = json['ver'] as String ..ver = json['ver'] as String
..state = json['state'] as int ..state = (json['state'] as num).toInt()
..crFilter = json['cr_filter'] as String? ..crFilter = json['cr_filter'] as String?
..ordertime = json['ordertime'] as String ..ordertime = json['ordertime'] as String
..offsWarn = json['offs_warn'] as int ..offsWarn = (json['offs_warn'] as num).toInt()
..global = json['global'] as bool ..global = json['global'] as bool
..vhtId = json['vht_id'] as int ..vhtId = (json['vht_id'] as num).toInt()
..rem = json['rem'] as String ..rem = json['rem'] as String
..delayOrderTime = json['delayOrderTime'] as int ..delayOrderTime = (json['delayOrderTime'] as num).toInt()
..tours = (json['tours'] as List<dynamic>) ..tours = (json['tours'] as List<dynamic>)
.map((e) => JobTour.fromJson(e as Map<String, dynamic>)) .map((e) => JobTour.fromJson(e as Map<String, dynamic>))
.toList(); .toList();
+3 -3
View File
@@ -1615,9 +1615,9 @@ extension JobTourQueryObject
// ************************************************************************** // **************************************************************************
JobTour _$JobTourFromJson(Map<String, dynamic> json) => JobTour() JobTour _$JobTourFromJson(Map<String, dynamic> json) => JobTour()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..sort = json['sort'] as int ..sort = (json['sort'] as num).toInt()
..state = json['state'] as int ..state = (json['state'] as num).toInt()
..mode = json['mode'] as String ..mode = json['mode'] as String
..comp = json['comp'] as String ..comp = json['comp'] as String
..person = json['person'] as String ..person = json['person'] as String
+1 -1
View File
@@ -835,7 +835,7 @@ extension LocationStatusQueryProperty
LocationStatus _$LocationStatusFromJson(Map<String, dynamic> json) => LocationStatus _$LocationStatusFromJson(Map<String, dynamic> json) =>
LocationStatus() LocationStatus()
..id = json['id'] as int? ..id = (json['id'] as num?)?.toInt()
..zip = json['zip'] as String ..zip = json['zip'] as String
..area = json['area'] as String ..area = json['area'] as String
..zipReal = json['zip_real'] as String; ..zipReal = json['zip_real'] as String;
+1 -1
View File
@@ -643,7 +643,7 @@ extension LogEntryQueryProperty
// ************************************************************************** // **************************************************************************
LogEntry _$LogEntryFromJson(Map<String, dynamic> json) => LogEntry() LogEntry _$LogEntryFromJson(Map<String, dynamic> json) => LogEntry()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..time = DateTime.parse(json['time'] as String) ..time = DateTime.parse(json['time'] as String)
..severity = $enumDecode(_$LogEntrySeverityEnumEnumMap, json['severity']) ..severity = $enumDecode(_$LogEntrySeverityEnumEnumMap, json['severity'])
..text = json['text'] as String; ..text = json['text'] as String;
+5 -5
View File
@@ -1240,7 +1240,7 @@ extension VehicleQueryObject
// ************************************************************************** // **************************************************************************
Ranking _$RankingFromJson(Map<String, dynamic> json) => Ranking() Ranking _$RankingFromJson(Map<String, dynamic> json) => Ranking()
..id = json['id'] as int? ..id = (json['id'] as num?)?.toInt()
..ranks = (json['ranking'] as List<dynamic>) ..ranks = (json['ranking'] as List<dynamic>)
.map((e) => Rank.fromJson(e as Map<String, dynamic>)) .map((e) => Rank.fromJson(e as Map<String, dynamic>))
.toList(); .toList();
@@ -1251,7 +1251,7 @@ Map<String, dynamic> _$RankingToJson(Ranking instance) => <String, dynamic>{
}; };
Rank _$RankFromJson(Map<String, dynamic> json) => Rank() Rank _$RankFromJson(Map<String, dynamic> json) => Rank()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..zip = json['zip'] as String ..zip = json['zip'] as String
..area = json['area'] as String? ..area = json['area'] as String?
..vehicles = (json['vehicles'] as List<dynamic>) ..vehicles = (json['vehicles'] as List<dynamic>)
@@ -1266,9 +1266,9 @@ Map<String, dynamic> _$RankToJson(Rank instance) => <String, dynamic>{
}; };
Vehicle _$VehicleFromJson(Map<String, dynamic> json) => Vehicle() Vehicle _$VehicleFromJson(Map<String, dynamic> json) => Vehicle()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..type = json['type'] as int ..type = (json['type'] as num).toInt()
..cnt = json['cnt'] as int? ..cnt = (json['cnt'] as num?)?.toInt()
..self = json['self'] as bool? ?? false; ..self = json['self'] as bool? ?? false;
Map<String, dynamic> _$VehicleToJson(Vehicle instance) => <String, dynamic>{ Map<String, dynamic> _$VehicleToJson(Vehicle instance) => <String, dynamic>{
+5 -5
View File
@@ -1507,12 +1507,12 @@ extension SessionStatusQueryProperty
SessionStatus _$SessionStatusFromJson(Map<String, dynamic> json) => SessionStatus _$SessionStatusFromJson(Map<String, dynamic> json) =>
SessionStatus() SessionStatus()
..custId = json['cust_id'] as int ..custId = (json['cust_id'] as num).toInt()
..hqId = json['hq_id'] as int ..hqId = (json['hq_id'] as num).toInt()
..usrId = json['usr_id'] as int ..usrId = (json['usr_id'] as num).toInt()
..crId = json['cr_id'] as int ..crId = (json['cr_id'] as num).toInt()
..sid = json['sid'] as String ..sid = json['sid'] as String
..vhtId = json['vht_id'] as int ..vhtId = (json['vht_id'] as num).toInt()
..locZip = json['loc_zip'] as String ..locZip = json['loc_zip'] as String
..serverVersion = json['server_version'] as String ..serverVersion = json['server_version'] as String
..serverInstance = json['server_instance'] as String; ..serverInstance = json['server_instance'] as String;
+1 -1
View File
@@ -789,7 +789,7 @@ extension StatusPosQueryObject
// ************************************************************************** // **************************************************************************
Status _$StatusFromJson(Map<String, dynamic> json) => Status() Status _$StatusFromJson(Map<String, dynamic> json) => Status()
..id = json['id'] as int? ..id = (json['id'] as num?)?.toInt()
..pos = StatusPos.fromJson(json['pos'] as Map<String, dynamic>); ..pos = StatusPos.fromJson(json['pos'] as Map<String, dynamic>);
Map<String, dynamic> _$StatusToJson(Status instance) => <String, dynamic>{ Map<String, dynamic> _$StatusToJson(Status instance) => <String, dynamic>{
+8 -8
View File
@@ -1456,19 +1456,19 @@ extension TourEntryQueryObject
// ************************************************************************** // **************************************************************************
TourTask _$TourTaskFromJson(Map<String, dynamic> json) => TourTask() TourTask _$TourTaskFromJson(Map<String, dynamic> json) => TourTask()
..sId = json['s_id'] as int ..sId = (json['s_id'] as num).toInt()
..type = json['type'] as int ..type = (json['type'] as num).toInt()
..topic = json['topic'] as String ..topic = json['topic'] as String
..opt = json['opt'] as bool? ?? false ..opt = json['opt'] as bool? ?? false
..reenter = json['reenter'] as bool? ?? false ..reenter = json['reenter'] as bool? ?? false
..min = json['min'] as int? ..min = (json['min'] as num?)?.toInt()
..max = json['max'] as int? ..max = (json['max'] as num?)?.toInt()
..maxLen = json['max_len'] as int? ..maxLen = (json['max_len'] as num?)?.toInt()
..rt = json['rt'] as bool? ..rt = json['rt'] as bool?
..track = json['track'] as bool? ..track = json['track'] as bool?
..txt = json['txt'] as String? ..txt = json['txt'] as String?
..taskArrival = json['task_arrival'] as int? ..taskArrival = (json['task_arrival'] as num?)?.toInt()
..taskFinWork = json['task_fin_work'] as int? ..taskFinWork = (json['task_fin_work'] as num?)?.toInt()
..entries = (json['entries'] as List<dynamic>?) ..entries = (json['entries'] as List<dynamic>?)
?.map((e) => TourEntry.fromJson(e as Map<String, dynamic>)) ?.map((e) => TourEntry.fromJson(e as Map<String, dynamic>))
.toList(); .toList();
@@ -1491,7 +1491,7 @@ Map<String, dynamic> _$TourTaskToJson(TourTask instance) => <String, dynamic>{
}; };
TourEntry _$TourEntryFromJson(Map<String, dynamic> json) => TourEntry() TourEntry _$TourEntryFromJson(Map<String, dynamic> json) => TourEntry()
..code = json['code'] as int ..code = (json['code'] as num).toInt()
..text = json['text'] as String ..text = json['text'] as String
..queryRemark = json['query_remark'] as bool; ..queryRemark = json['query_remark'] as bool;
+23 -19
View File
@@ -1,5 +1,4 @@
import 'dart:async'; import 'dart:async';
import 'dart:math';
import 'package:expandable/expandable.dart'; import 'package:expandable/expandable.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -21,12 +20,10 @@ import '../tools/messages/publish_payload_message.dart';
late bool _initTimer; late bool _initTimer;
late Timer _checkForNewJobsTimer; late Timer _checkForNewJobsTimer;
late Map<int, DateTime> _firstDelayTimeMap;
late Map<int, bool> _infoExpandedMap; late Map<int, bool> _infoExpandedMap;
Future<void> showAcceptJobsPopup(SharedMapReference mapReference, Function() onFinished) async { Future<void> showAcceptJobsPopup(SharedMapReference mapReference, Function() onFinished) async {
_initTimer = true; _initTimer = true;
_firstDelayTimeMap = {};
_infoExpandedMap = {}; _infoExpandedMap = {};
await showDialog<void>( await showDialog<void>(
@@ -97,7 +94,6 @@ void _stopTimer() {
_checkForNewJobsTimer.cancel(); _checkForNewJobsTimer.cancel();
} }
Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFinished, SharedMapReference mapReference) async { Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFinished, SharedMapReference mapReference) async {
List<Widget> widgets = []; List<Widget> widgets = [];
@@ -107,15 +103,6 @@ Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFini
for (var jobEntry in entries) { for (var jobEntry in entries) {
var job = jobEntry.value; var job = jobEntry.value;
int enableDelay = job.delayOrderTime;
if (!_firstDelayTimeMap.containsKey(job.id)) {
_firstDelayTimeMap[job.id] = DateTime.now();
} else {
DateTime firstDisplayTime = _firstDelayTimeMap[job.id]!;
int diffInSeconds = DateTime.now().difference(firstDisplayTime).inSeconds;
enableDelay = min(0, diffInSeconds);
}
ExpandableController controller = ExpandableController(); ExpandableController controller = ExpandableController();
controller.expanded = _infoExpandedMap[job.id] != null ? _infoExpandedMap[job.id]! : false; controller.expanded = _infoExpandedMap[job.id] != null ? _infoExpandedMap[job.id]! : false;
@@ -165,7 +152,7 @@ Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFini
child: Text( child: Text(
DateFormat('dd.MM.yyyy HH:mm').format(DateTime.parse(job.ordertime).toLocal()).toString(), DateFormat('dd.MM.yyyy HH:mm').format(DateTime.parse(job.ordertime).toLocal()).toString(),
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle(backgroundColor: isJobInFuture(job) ? Colors.yellow : Colors.transparent), style: TextStyle(backgroundColor: isJobInFuture(job) ? Colors.red : Colors.transparent),
), ),
), ),
SizedBox(width: double.infinity, child: Text('Auftragsnummer: ${job.id}', textAlign: TextAlign.left)), SizedBox(width: double.infinity, child: Text('Auftragsnummer: ${job.id}', textAlign: TextAlign.left)),
@@ -231,7 +218,10 @@ Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFini
jobMap.remove(job.id); jobMap.remove(job.id);
MessageService().publish<RemoveJobMessage>(Constants.messageTopicRemoveJob, arguments: RemoveJobMessage(id: job.id)); job.sendMessage(
routingKey: Constants.messageTopicRemoveJob,
payload: RemoveJobMessage(id: job.id),
);
setState(() {}); setState(() {});
@@ -245,7 +235,7 @@ Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFini
), ),
const SizedBox(width: 20), const SizedBox(width: 20),
Expanded( Expanded(
child: getDefaultButton('Annehmen', enabledTimerActive: enableDelay > 0, enabledTimerDelay: enableDelay, () { child: getDefaultButton('Annehmen', enabledTimerActive: false, () {
dialogState(() { dialogState(() {
if (jobMap.length() == 1) { if (jobMap.length() == 1) {
_stopTimer(); _stopTimer();
@@ -255,7 +245,10 @@ Future<List<Widget>> _fetchJobWidgets(StateSetter dialogState, Function() onFini
jobMap.remove(job.id); jobMap.remove(job.id);
MessageService().publish<RemoveJobMessage>(Constants.messageTopicRemoveJob, arguments: RemoveJobMessage(id: job.id)); job.sendMessage(
routingKey: Constants.messageTopicRemoveJob,
payload: RemoveJobMessage(id: job.id),
);
setState(() {}); setState(() {});
@@ -295,8 +288,19 @@ _sendAnswer(SharedMapReference mapReference, Job job, int item) async {
message.track.pos!.long = currentPosition != null ? currentPosition.longitude : 0.0; message.track.pos!.long = currentPosition != null ? currentPosition.longitude : 0.0;
message.track.pos!.acc = currentPosition != null ? currentPosition.accuracy.toInt() : 0; message.track.pos!.acc = currentPosition != null ? currentPosition.accuracy.toInt() : 0;
await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "reaction", message: message.toJson(), qos: MqttQos.exactlyOnce)); // TODO MESSAGING
job.sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "reaction", message: message.toJson(), qos: MqttQos.exactlyOnce),
);
await MessageService().publish(Constants.messageTopicUpdateBadges, arguments: RefreshBadgesMessage()); //await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "reaction", message: message.toJson(), qos: MqttQos.exactlyOnce));
// TODO MESSAGING
job.sendMessage(
routingKey: Constants.messageTopicUpdateBadges,
payload: RefreshBadgesMessage(),
);
//await MessageService().publish(Constants.messageTopicUpdateBadges, arguments: RefreshBadgesMessage());
} }
+5 -5
View File
@@ -14,12 +14,12 @@ void showInfosPopup(SessionStatus? status) async {
late String connectedString = "Bitte warten..."; late String connectedString = "Bitte warten...";
Future.delayed(const Duration(seconds: 2), () async { Future.delayed(const Duration(seconds: 2), () async {
await MessageService().publish<RequestConnectionStatusMessage>(Constants.messageTopicRequestConnectionStatus, arguments: RequestConnectionStatusMessage()); //await MessageService().publish<RequestConnectionStatusMessage>(Constants.messageTopicRequestConnectionStatus, arguments: RequestConnectionStatusMessage());
}); });
void unsubscribeMessages() { void unsubscribeMessages() {
MessageService().unsubscribe(Constants.messageTopicCurrentConnectionStatus, version); //MessageService().unsubscribe(Constants.messageTopicCurrentConnectionStatus, version);
MessageService().unsubscribe(Constants.messageTopicConnectionStatusChanged, version); //MessageService().unsubscribe(Constants.messageTopicConnectionStatusChanged, version);
} }
await showDialog( await showDialog(
@@ -69,7 +69,7 @@ void showInfosPopup(SessionStatus? status) async {
text += "Keine Informationen gefunden"; text += "Keine Informationen gefunden";
} }
MessageService().subscribe<CurrentConnectionStatusMessage>(Constants.messageTopicCurrentConnectionStatus, version, /*MessageService().subscribe<CurrentConnectionStatusMessage>(Constants.messageTopicCurrentConnectionStatus, version,
(CurrentConnectionStatusMessage currentConnectionStatusMessage) async { (CurrentConnectionStatusMessage currentConnectionStatusMessage) async {
connectedString = currentConnectionStatusMessage.state ? "Verbunden" : "NICHT verbunden"; connectedString = currentConnectionStatusMessage.state ? "Verbunden" : "NICHT verbunden";
@@ -81,7 +81,7 @@ void showInfosPopup(SessionStatus? status) async {
connectedString = connectionStatus.status == ConnectionStatusEnum.connected ? "Verbunden" : "NICHT verbunden"; connectedString = connectionStatus.status == ConnectionStatusEnum.connected ? "Verbunden" : "NICHT verbunden";
if (context.mounted) setState(() {}); if (context.mounted) setState(() {});
}); });*/
return SizedBox( return SizedBox(
key: GlobalKey(), key: GlobalKey(),
@@ -7,9 +7,9 @@ part of 'accept_job_message.dart';
// ************************************************************************** // **************************************************************************
Reaction _$ReactionFromJson(Map<String, dynamic> json) => Reaction() Reaction _$ReactionFromJson(Map<String, dynamic> json) => Reaction()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..ver = json['ver'] as String ..ver = json['ver'] as String
..item = json['item'] as int ..item = (json['item'] as num).toInt()
..track = Track.fromJson(json['track'] as Map<String, dynamic>); ..track = Track.fromJson(json['track'] as Map<String, dynamic>);
Map<String, dynamic> _$ReactionToJson(Reaction instance) => <String, dynamic>{ Map<String, dynamic> _$ReactionToJson(Reaction instance) => <String, dynamic>{
@@ -19,10 +19,10 @@ Map<String, dynamic> _$AcknowledgeJobToJson(AcknowledgeJob instance) =>
AcknowledgeJobReceived _$AcknowledgeJobReceivedFromJson( AcknowledgeJobReceived _$AcknowledgeJobReceivedFromJson(
Map<String, dynamic> json) => Map<String, dynamic> json) =>
AcknowledgeJobReceived() AcknowledgeJobReceived()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..state = json['state'] as int ..state = (json['state'] as num).toInt()
..ver = json['ver'] as String ..ver = json['ver'] as String
..utc = json['utc'] as int; ..utc = (json['utc'] as num).toInt();
Map<String, dynamic> _$AcknowledgeJobReceivedToJson( Map<String, dynamic> _$AcknowledgeJobReceivedToJson(
AcknowledgeJobReceived instance) => AcknowledgeJobReceived instance) =>
@@ -9,7 +9,7 @@ part of 'bootstrap_request.dart';
BootstrapRequest _$BootstrapRequestFromJson(Map<String, dynamic> json) => BootstrapRequest _$BootstrapRequestFromJson(Map<String, dynamic> json) =>
BootstrapRequest() BootstrapRequest()
..app = json['app'] as String ..app = json['app'] as String
..ver = json['ver'] as int ..ver = (json['ver'] as num).toInt()
..mqttClientId = json['mqttClientId'] as String ..mqttClientId = json['mqttClientId'] as String
..deviceObject = ..deviceObject =
DeviceObject.fromJson(json['device'] as Map<String, dynamic>); DeviceObject.fromJson(json['device'] as Map<String, dynamic>);
@@ -12,7 +12,7 @@ BootstrapResponse _$BootstrapResponseFromJson(Map<String, dynamic> json) =>
..id = json['id'] as String ..id = json['id'] as String
..toServer = json['to_server'] as String ..toServer = json['to_server'] as String
..fromServer = json['from_server'] as String ..fromServer = json['from_server'] as String
..status = json['status'] as int ..status = (json['status'] as num).toInt()
..message = json['message'] as String; ..message = json['message'] as String;
Map<String, dynamic> _$BootstrapResponseToJson(BootstrapResponse instance) => Map<String, dynamic> _$BootstrapResponseToJson(BootstrapResponse instance) =>
@@ -283,7 +283,7 @@ Map<String, dynamic> _$FinTaskMessageToJson(FinTaskMessage instance) =>
}; };
FinTask _$FinTaskFromJson(Map<String, dynamic> json) => FinTask() FinTask _$FinTaskFromJson(Map<String, dynamic> json) => FinTask()
..trId = json['tr_id'] as int ..trId = (json['tr_id'] as num).toInt()
..task = Task.fromJson(json['task'] as Map<String, dynamic>); ..task = Task.fromJson(json['task'] as Map<String, dynamic>);
Map<String, dynamic> _$FinTaskToJson(FinTask instance) => <String, dynamic>{ Map<String, dynamic> _$FinTaskToJson(FinTask instance) => <String, dynamic>{
@@ -292,7 +292,7 @@ Map<String, dynamic> _$FinTaskToJson(FinTask instance) => <String, dynamic>{
}; };
Task _$TaskFromJson(Map<String, dynamic> json) => Task() Task _$TaskFromJson(Map<String, dynamic> json) => Task()
..sId = json['s_id'] as int ..sId = (json['s_id'] as num).toInt()
..time = json['time'] as String ..time = json['time'] as String
..pos = json['pos'] == null ..pos = json['pos'] == null
? null ? null
@@ -307,7 +307,7 @@ Map<String, dynamic> _$TaskToJson(Task instance) => <String, dynamic>{
FinTaskPos _$FinTaskPosFromJson(Map<String, dynamic> json) => FinTaskPos() FinTaskPos _$FinTaskPosFromJson(Map<String, dynamic> json) => FinTaskPos()
..lat = (json['lat'] as num).toDouble() ..lat = (json['lat'] as num).toDouble()
..long = (json['long'] as num).toDouble() ..long = (json['long'] as num).toDouble()
..acc = json['acc'] as int; ..acc = (json['acc'] as num).toInt();
Map<String, dynamic> _$FinTaskPosToJson(FinTaskPos instance) => Map<String, dynamic> _$FinTaskPosToJson(FinTaskPos instance) =>
<String, dynamic>{ <String, dynamic>{
@@ -16,7 +16,7 @@ Map<String, dynamic> _$FinTourMessageToJson(FinTourMessage instance) =>
}; };
FinTour _$FinTourFromJson(Map<String, dynamic> json) => FinTour() FinTour _$FinTourFromJson(Map<String, dynamic> json) => FinTour()
..trId = json['tr_id'] as int ..trId = (json['tr_id'] as num).toInt()
..com = json['com'] as String ..com = json['com'] as String
..track = json['track'] == null ..track = json['track'] == null
? null ? null
@@ -33,10 +33,10 @@ Map<String, dynamic> _$FinTourToJson(FinTour instance) => <String, dynamic>{
}; };
FinTourTask _$FinTourTaskFromJson(Map<String, dynamic> json) => FinTourTask() FinTourTask _$FinTourTaskFromJson(Map<String, dynamic> json) => FinTourTask()
..sId = json['s_id'] as int ..sId = (json['s_id'] as num).toInt()
..time = json['time'] as String ..time = json['time'] as String
..val = json['val'] as String? ..val = json['val'] as String?
..code = json['code'] as int? ..code = (json['code'] as num?)?.toInt()
..sign = json['sign'] as String? ..sign = json['sign'] as String?
..codes = (json['codes'] as List<dynamic>?)?.map((e) => e as String).toList() ..codes = (json['codes'] as List<dynamic>?)?.map((e) => e as String).toList()
..pos = json['pos'] == null ..pos = json['pos'] == null
@@ -7,7 +7,7 @@ part of 'job_del_message.dart';
// ************************************************************************** // **************************************************************************
JobDelMessage _$JobDelMessageFromJson(Map<String, dynamic> json) => JobDelMessage _$JobDelMessageFromJson(Map<String, dynamic> json) =>
JobDelMessage()..id = json['id'] as int; JobDelMessage()..id = (json['id'] as num).toInt();
Map<String, dynamic> _$JobDelMessageToJson(JobDelMessage instance) => Map<String, dynamic> _$JobDelMessageToJson(JobDelMessage instance) =>
<String, dynamic>{ <String, dynamic>{
+1 -1
View File
@@ -23,7 +23,7 @@ LogoutMessagePosition _$LogoutMessagePositionFromJson(
..time = json['time'] as String ..time = json['time'] as String
..lat = (json['lat'] as num).toDouble() ..lat = (json['lat'] as num).toDouble()
..long = (json['long'] as num).toDouble() ..long = (json['long'] as num).toDouble()
..acc = json['acc'] as int; ..acc = (json['acc'] as num).toInt();
Map<String, dynamic> _$LogoutMessagePositionToJson( Map<String, dynamic> _$LogoutMessagePositionToJson(
LogoutMessagePosition instance) => LogoutMessagePosition instance) =>
+3 -3
View File
@@ -7,9 +7,9 @@ part of 'pic_message.dart';
// ************************************************************************** // **************************************************************************
PicData _$PicDataFromJson(Map<String, dynamic> json) => PicData() PicData _$PicDataFromJson(Map<String, dynamic> json) => PicData()
..trId = json['tr_id'] as int ..trId = (json['tr_id'] as num).toInt()
..num = json['num'] as int ..num = (json['num'] as num).toInt()
..time = json['time'] as int ..time = (json['time'] as num).toInt()
..data = json['data'] as String; ..data = json['data'] as String;
Map<String, dynamic> _$PicDataToJson(PicData instance) => <String, dynamic>{ Map<String, dynamic> _$PicDataToJson(PicData instance) => <String, dynamic>{
@@ -8,7 +8,7 @@ part of 'sync_jobs_message.dart';
SyncJobsMessage _$SyncJobsMessageFromJson(Map<String, dynamic> json) => SyncJobsMessage _$SyncJobsMessageFromJson(Map<String, dynamic> json) =>
SyncJobsMessage() SyncJobsMessage()
..utcUnixTime = json['utc_unix_time'] as int ..utcUnixTime = (json['utc_unix_time'] as num).toInt()
..sync = ..sync =
SyncJobMessageSync.fromJson(json['sync'] as Map<String, dynamic>); SyncJobMessageSync.fromJson(json['sync'] as Map<String, dynamic>);
@@ -31,9 +31,9 @@ Map<String, dynamic> _$SyncJobMessageSyncToJson(SyncJobMessageSync instance) =>
SyncJobMessageJob _$SyncJobMessageJobFromJson(Map<String, dynamic> json) => SyncJobMessageJob _$SyncJobMessageJobFromJson(Map<String, dynamic> json) =>
SyncJobMessageJob() SyncJobMessageJob()
..id = json['id'] as int ..id = (json['id'] as num).toInt()
..ver = json['ver'] as String ..ver = json['ver'] as String
..state = json['state'] as int; ..state = (json['state'] as num).toInt();
Map<String, dynamic> _$SyncJobMessageJobToJson(SyncJobMessageJob instance) => Map<String, dynamic> _$SyncJobMessageJobToJson(SyncJobMessageJob instance) =>
<String, dynamic>{ <String, dynamic>{
+1 -1
View File
@@ -11,7 +11,7 @@ TrackPosition _$TrackPositionFromJson(Map<String, dynamic> json) =>
..time = json['time'] as String ..time = json['time'] as String
..lat = (json['lat'] as num).toDouble() ..lat = (json['lat'] as num).toDouble()
..long = (json['long'] as num).toDouble() ..long = (json['long'] as num).toDouble()
..acc = json['acc'] as int; ..acc = (json['acc'] as num).toInt();
Map<String, dynamic> _$TrackPositionToJson(TrackPosition instance) => Map<String, dynamic> _$TrackPositionToJson(TrackPosition instance) =>
<String, dynamic>{ <String, dynamic>{
@@ -8,7 +8,7 @@ part of 'track_station_message.dart';
TrackStationMessage _$TrackStationMessageFromJson(Map<String, dynamic> json) => TrackStationMessage _$TrackStationMessageFromJson(Map<String, dynamic> json) =>
TrackStationMessage() TrackStationMessage()
..sid = json['s_id'] as int ..sid = (json['s_id'] as num).toInt()
..time = json['time'] as String ..time = json['time'] as String
..pos = json['pos'] == null ..pos = json['pos'] == null
? null ? null
+1 -1
View File
@@ -803,7 +803,7 @@ Map<String, dynamic> _$ZipTrackToJson(ZipTrack instance) => <String, dynamic>{
ZipTrackPos _$ZipTrackPosFromJson(Map<String, dynamic> json) => ZipTrackPos() ZipTrackPos _$ZipTrackPosFromJson(Map<String, dynamic> json) => ZipTrackPos()
..lat = (json['lat'] as num).toDouble() ..lat = (json['lat'] as num).toDouble()
..long = (json['long'] as num).toDouble() ..long = (json['long'] as num).toDouble()
..acc = json['acc'] as int; ..acc = (json['acc'] as num).toInt();
Map<String, dynamic> _$ZipTrackPosToJson(ZipTrackPos instance) => Map<String, dynamic> _$ZipTrackPosToJson(ZipTrackPos instance) =>
<String, dynamic>{ <String, dynamic>{
+3 -3
View File
@@ -1,8 +1,8 @@
import 'dart:async'; import 'dart:async';
typedef EventHandler<T> = void Function(T args); //typedef EventHandler<T> = void Function(T args);
class _MapEntry { /*class _MapEntry {
late dynamic owner; late dynamic owner;
late dynamic handler; late dynamic handler;
@@ -75,4 +75,4 @@ class MessageService {
await completer.future; await completer.future;
} }
} }*/
+2 -2
View File
@@ -1,7 +1,7 @@
import 'package:stadtbote/model/message.dart'; import 'package:stadtbote/model/chat_message.dart';
class MessageReceivedMessage { class MessageReceivedMessage {
final Message message; final ChatMessage message;
MessageReceivedMessage({required this.message}); MessageReceivedMessage({required this.message});
} }
+145 -32
View File
@@ -3,6 +3,7 @@ import 'dart:convert';
import 'dart:math'; import 'dart:math';
import 'package:archive/archive.dart'; import 'package:archive/archive.dart';
import 'package:dart_mq/dart_mq.dart';
import 'package:device_info_plus/device_info_plus.dart'; import 'package:device_info_plus/device_info_plus.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
@@ -11,7 +12,7 @@ import 'package:mqtt5_client/mqtt5_server_client.dart';
import 'package:stadtbote/model/enqueued_message.dart'; import 'package:stadtbote/model/enqueued_message.dart';
import 'package:stadtbote/model/job.dart'; import 'package:stadtbote/model/job.dart';
import 'package:stadtbote/model/log_entry.dart'; import 'package:stadtbote/model/log_entry.dart';
import 'package:stadtbote/model/message.dart'; import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/location_status.dart'; import 'package:stadtbote/model/location_status.dart';
import 'package:stadtbote/model/rank.dart'; import 'package:stadtbote/model/rank.dart';
import 'package:stadtbote/model/status.dart'; import 'package:stadtbote/model/status.dart';
@@ -52,7 +53,7 @@ import 'util.dart';
enum ConnectionStateEnum { notConnected, connected } enum ConnectionStateEnum { notConnected, connected }
class MqttCore { class MqttCore with ProducerMixin, ConsumerMixin {
late ConnectionStateEnum connectionState = ConnectionStateEnum.notConnected; late ConnectionStateEnum connectionState = ConnectionStateEnum.notConnected;
late bool _disconnectInProgress = false; late bool _disconnectInProgress = false;
@@ -80,7 +81,13 @@ class MqttCore {
} }
_disconnectMqttClient() async { _disconnectMqttClient() async {
await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicConnectionStatusChanged,
payload: ConnectionStatus(status: ConnectionStatusEnum.notConnected),
);
//await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected));
_disconnectInProgress = true; _disconnectInProgress = true;
@@ -131,12 +138,24 @@ class MqttCore {
} else { } else {
Util.logInfo('Verbindung zum MQTT-Broker fehlgeschlagen!'); Util.logInfo('Verbindung zum MQTT-Broker fehlgeschlagen!');
await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicConnectionStatusChanged,
payload: ConnectionStatus(status: ConnectionStatusEnum.notConnected),
);
//await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected));
} }
} catch (ex) { } catch (ex) {
Util.logInfo('Verbindung zum MQTT-Broker fehlgeschlagen!: $ex'); Util.logInfo('Verbindung zum MQTT-Broker fehlgeschlagen!: $ex');
await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicConnectionStatusChanged,
payload: ConnectionStatus(status: ConnectionStatusEnum.notConnected),
);
//await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected));
} }
} }
@@ -250,7 +269,13 @@ class MqttCore {
Util.logInfo('subscribed to topic: $fromServerTopic'); Util.logInfo('subscribed to topic: $fromServerTopic');
await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.connected)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicConnectionStatusChanged,
payload: ConnectionStatus(status: ConnectionStatusEnum.connected),
);
//await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.connected));
} }
void _sessionMessageReceived(payloadData) async { void _sessionMessageReceived(payloadData) async {
@@ -267,7 +292,13 @@ class MqttCore {
await MyApp.isarInstance.sessionStatus.put(sessionStatusMessage); await MyApp.isarInstance.sessionStatus.put(sessionStatusMessage);
}); });
await MessageService().publish<SessionStatusInfoUpdate>(Constants.messageTopicSessionStatusInfoUpdate, arguments: SessionStatusInfoUpdate(status: sessionStatusMessage)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicSessionStatusInfoUpdate,
payload: SessionStatusInfoUpdate(status: sessionStatusMessage),
);
//await MessageService().publish<SessionStatusInfoUpdate>(Constants.messageTopicSessionStatusInfoUpdate, arguments: SessionStatusInfoUpdate(status: sessionStatusMessage));
_startTrackTimer(); _startTrackTimer();
} }
@@ -280,7 +311,13 @@ class MqttCore {
await MyApp.isarInstance.status.put(statusMessage); await MyApp.isarInstance.status.put(statusMessage);
}); });
await MessageService().publish<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdated, arguments: StatusInfoUpdate(status: statusMessage)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicStatusInfoUpdated,
payload: StatusInfoUpdate(status: statusMessage),
);
//await MessageService().publish<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdated, arguments: StatusInfoUpdate(status: statusMessage));
} }
void _locationStatusMessageReceived(payloadData) async { void _locationStatusMessageReceived(payloadData) async {
@@ -291,7 +328,13 @@ class MqttCore {
await MyApp.isarInstance.locationStatus.put(locationStatus); await MyApp.isarInstance.locationStatus.put(locationStatus);
}); });
await MessageService().publish<LocationStatusUpdate>(Constants.messageTopicLocationStatusUpdated, arguments: LocationStatusUpdate(status: locationStatus)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicLocationStatusUpdated,
payload: LocationStatusUpdate(status: locationStatus),
);
// await MessageService().publish<LocationStatusUpdate>(Constants.messageTopicLocationStatusUpdated, arguments: LocationStatusUpdate(status: locationStatus));
} }
void _rankingMessageReceived(payloadData) async { void _rankingMessageReceived(payloadData) async {
@@ -302,7 +345,13 @@ class MqttCore {
await MyApp.isarInstance.rankings.put(ranking); await MyApp.isarInstance.rankings.put(ranking);
}); });
await MessageService().publish<RankingUpdated>(Constants.messageTopicRankingUpdated, arguments: RankingUpdated()); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicRankingUpdated,
payload: RankingUpdated(),
);
//await MessageService().publish<RankingUpdated>(Constants.messageTopicRankingUpdated, arguments: RankingUpdated());
} }
void _jobMessageReceived(payloadData) async { void _jobMessageReceived(payloadData) async {
@@ -322,11 +371,13 @@ class MqttCore {
_acknowlegdeJob(newJob); _acknowlegdeJob(newJob);
try { // TODO MESSAGING
await MessageService().publish<JobReceivedMessage>(Constants.messageTopicJobReceived, arguments: JobReceivedMessage(job: newJob)); sendMessage(
} catch (ex) { routingKey: Constants.messageTopicJobReceived,
Util.logException("publish messageTopicJobReceived failed!"); payload: JobReceivedMessage(job: newJob),
} );
// await MessageService().publish<JobReceivedMessage>(Constants.messageTopicJobReceived, arguments: JobReceivedMessage(job: newJob));
} }
void _jobDeleteReceived(payloadData) async { void _jobDeleteReceived(payloadData) async {
@@ -336,7 +387,13 @@ class MqttCore {
await MyApp.isarInstance.jobs.where().filter().idEqualTo(jobDelMessage.id).deleteAll(); await MyApp.isarInstance.jobs.where().filter().idEqualTo(jobDelMessage.id).deleteAll();
}); });
await MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: jobDelMessage.id)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicJobDeleted,
payload: JobDeletedMessage(id: jobDelMessage.id),
);
//await MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: jobDelMessage.id));
} }
void _syncRequestReceived(payloadData) async { void _syncRequestReceived(payloadData) async {
@@ -346,15 +403,21 @@ class MqttCore {
} }
void _messageMessageReceived(Map<String, dynamic> payloadData) async { void _messageMessageReceived(Map<String, dynamic> payloadData) async {
var newMessage = await Message.mergeFromJson(payloadData); var newMessage = await ChatMessage.mergeFromJson(payloadData);
await MyApp.isarInstance.writeTxn(() async { await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.messages.put(newMessage); await MyApp.isarInstance.chatMessages.put(newMessage);
}); });
await Util.playMp3('asbeep.mp3'); await Util.playMp3('asbeep.mp3');
await MessageService().publish<MessageReceivedMessage>(Constants.messageTopicMessageReceived, arguments: MessageReceivedMessage(message: newMessage)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicMessageReceived,
payload: MessageReceivedMessage(message: newMessage),
);
//await MessageService().publish<MessageReceivedMessage>(Constants.messageTopicMessageReceived, arguments: MessageReceivedMessage(message: newMessage));
} }
void _messageUploadDeviceLogReceived(payloadData) async { void _messageUploadDeviceLogReceived(payloadData) async {
@@ -403,7 +466,13 @@ class MqttCore {
_cancelTrackTimer(); _cancelTrackTimer();
await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicConnectionStatusChanged,
payload: ConnectionStatus(status: ConnectionStatusEnum.notConnected),
);
//await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected));
} }
Future<void> _clientConnected() async { Future<void> _clientConnected() async {
@@ -413,7 +482,13 @@ class MqttCore {
_initSession(); _initSession();
await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.connected)); // TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicConnectionStatusChanged,
payload: ConnectionStatus(status: ConnectionStatusEnum.connected),
);
//await MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.connected));
} }
void _processBootstrap() async { void _processBootstrap() async {
@@ -458,8 +533,6 @@ class MqttCore {
var brokerUriAndPortArray = bootstrapResponsePayload.broker.replaceFirst("mqtt://", "").split(":"); var brokerUriAndPortArray = bootstrapResponsePayload.broker.replaceFirst("mqtt://", "").split(":");
_brokerUri = brokerUriAndPortArray[0]; _brokerUri = brokerUriAndPortArray[0];
_brokerPort = int.parse(brokerUriAndPortArray[1]); _brokerPort = int.parse(brokerUriAndPortArray[1]);
//_brokerUri = "192.168.180.27";
//_brokerPort = 1883;
_clientId = bootstrapResponsePayload.id; _clientId = bootstrapResponsePayload.id;
_fromServerTopic = bootstrapResponsePayload.fromServer; _fromServerTopic = bootstrapResponsePayload.fromServer;
_toServerTopic = bootstrapResponsePayload.toServer; _toServerTopic = bootstrapResponsePayload.toServer;
@@ -559,20 +632,60 @@ class MqttCore {
} }
void initMessages() { void initMessages() {
MessageService().subscribe<PublishPayloadMessage>(Constants.messageTopicPublishPayload, this, (PublishPayloadMessage payloadMessage) { subscribe(
_publishText(payloadMessage.topic, jsonEncode(payloadMessage.message), payloadMessage.qos); queueId: Constants.messageTopicPublishPayload,
}); callback: (message) {
var publisPayloadMessage = message.payload as PublishPayloadMessage;
MessageService().subscribe<DisconnectClientMessage>(Constants.messageTopicDisconnectClient, this, _publishText(publisPayloadMessage.topic, jsonEncode(publisPayloadMessage.message), publisPayloadMessage.qos);
},
);
/*MessageService().subscribe<PublishPayloadMessage>(Constants.messageTopicPublishPayload, this, (PublishPayloadMessage payloadMessage) {
_publishText(payloadMessage.topic, jsonEncode(payloadMessage.message), payloadMessage.qos);
});*/
subscribe(
queueId: Constants.messageTopicDisconnectClient,
callback: (message) {
_disconnectMqttClient();
},
);
/*MessageService().subscribe<DisconnectClientMessage>(Constants.messageTopicDisconnectClient, this,
(DisconnectClientMessage disconnectClientMessage) { (DisconnectClientMessage disconnectClientMessage) {
_disconnectMqttClient(); _disconnectMqttClient();
}); });*/
MessageService().subscribe<ConnectClientMessage>(Constants.messageTopicConnectClient, this, (ConnectClientMessage connectClientMessage) { subscribe(
queueId: Constants.messageTopicConnectClient,
callback: (message) {
_connectToBroker(); _connectToBroker();
}); },
);
/*MessageService().subscribe<ConnectClientMessage>(Constants.messageTopicConnectClient, this, (ConnectClientMessage connectClientMessage) {
_connectToBroker();
});*/
MessageService().subscribe<RequestConnectionStatusMessage>(Constants.messageTopicRequestConnectionStatus, this, subscribe(
queueId: Constants.messageTopicRequestConnectionStatus,
callback: (message) {
bool connected = false;
if (_mqttClient != null && _mqttClient!.connectionStatus != null) {
if (_mqttClient!.connectionStatus!.state == MqttConnectionState.connected) {
connected = true;
}
}
// TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicCurrentConnectionStatus,
payload: CurrentConnectionStatusMessage(state: connected),
);
//await MessageService().publish<CurrentConnectionStatusMessage>(Constants.messageTopicCurrentConnectionStatus, arguments: CurrentConnectionStatusMessage(state: connected));
},
);
/*MessageService().subscribe<RequestConnectionStatusMessage>(Constants.messageTopicRequestConnectionStatus, this,
(RequestConnectionStatusMessage requestConnectionStatusMessage) async { (RequestConnectionStatusMessage requestConnectionStatusMessage) async {
bool connected = false; bool connected = false;
if (_mqttClient != null && _mqttClient!.connectionStatus != null) { if (_mqttClient != null && _mqttClient!.connectionStatus != null) {
@@ -582,6 +695,6 @@ class MqttCore {
} }
await MessageService().publish<CurrentConnectionStatusMessage>(Constants.messageTopicCurrentConnectionStatus, arguments: CurrentConnectionStatusMessage(state: connected)); await MessageService().publish<CurrentConnectionStatusMessage>(Constants.messageTopicCurrentConnectionStatus, arguments: CurrentConnectionStatusMessage(state: connected));
}); });*/
} }
} }
+1
View File
@@ -0,0 +1 @@
flutter/ephemeral
+145
View File
@@ -0,0 +1,145 @@
# Project-level configuration.
cmake_minimum_required(VERSION 3.10)
project(runner LANGUAGES CXX)
# The name of the executable created for the application. Change this to change
# the on-disk name of your application.
set(BINARY_NAME "stadtbote")
# The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "de.assecutor.stadtbote")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.
cmake_policy(SET CMP0063 NEW)
# Load bundled libraries from the lib/ directory relative to the binary.
set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
# Root filesystem for cross-building.
if(FLUTTER_TARGET_PLATFORM_SYSROOT)
set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT})
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
endif()
# Define build configuration options.
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE "Debug" CACHE
STRING "Flutter build mode" FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Profile" "Release")
endif()
# Compilation settings that should be applied to most targets.
#
# Be cautious about adding new options here, as plugins use this function by
# default. In most cases, you should add new options to specific targets instead
# of modifying this function.
function(APPLY_STANDARD_SETTINGS TARGET)
target_compile_features(${TARGET} PUBLIC cxx_std_14)
target_compile_options(${TARGET} PRIVATE -Wall -Werror)
target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
endfunction()
# Flutter library and tool build rules.
set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
add_subdirectory(${FLUTTER_MANAGED_DIR})
# System-level dependencies.
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")
# Define the application target. To change its name, change BINARY_NAME above,
# not the value here, or `flutter run` will no longer work.
#
# Any new source files that you add to the application should be added here.
add_executable(${BINARY_NAME}
"main.cc"
"my_application.cc"
"${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
)
# Apply the standard set of build settings. This can be removed for applications
# that need different build settings.
apply_standard_settings(${BINARY_NAME})
# Add dependency libraries. Add any application-specific dependencies here.
target_link_libraries(${BINARY_NAME} PRIVATE flutter)
target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)
# Run the Flutter tool portions of the build. This must not be removed.
add_dependencies(${BINARY_NAME} flutter_assemble)
# Only the install-generated bundle's copy of the executable will launch
# correctly, since the resources must in the right relative locations. To avoid
# people trying to run the unbundled copy, put it in a subdirectory instead of
# the default top-level location.
set_target_properties(${BINARY_NAME}
PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
)
# Generated plugin build rules, which manage building the plugins and adding
# them to the application.
include(flutter/generated_plugins.cmake)
# === Installation ===
# By default, "installing" just makes a relocatable bundle in the build
# directory.
set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
endif()
# Start with a clean build bundle directory every time.
install(CODE "
file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")
" COMPONENT Runtime)
set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
COMPONENT Runtime)
install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
COMPONENT Runtime)
install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
install(FILES "${bundled_library}"
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
endforeach(bundled_library)
# Copy the native assets provided by the build.dart from all packages.
set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
install(DIRECTORY "${NATIVE_ASSETS_DIR}"
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
# Fully re-copy the assets directory on each build to avoid having stale files
# from a previous install.
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
install(CODE "
file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
" COMPONENT Runtime)
install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
# Install the AOT library on non-Debug builds only.
if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
endif()
+88
View File
@@ -0,0 +1,88 @@
# This file controls Flutter-level build steps. It should not be edited.
cmake_minimum_required(VERSION 3.10)
set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")
# Configuration provided via flutter tool.
include(${EPHEMERAL_DIR}/generated_config.cmake)
# TODO: Move the rest of this into files in ephemeral. See
# https://github.com/flutter/flutter/issues/57146.
# Serves the same purpose as list(TRANSFORM ... PREPEND ...),
# which isn't available in 3.10.
function(list_prepend LIST_NAME PREFIX)
set(NEW_LIST "")
foreach(element ${${LIST_NAME}})
list(APPEND NEW_LIST "${PREFIX}${element}")
endforeach(element)
set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE)
endfunction()
# === Flutter Library ===
# System-level dependencies.
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so")
# Published to parent scope for install step.
set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)
set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)
set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)
set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE)
list(APPEND FLUTTER_LIBRARY_HEADERS
"fl_basic_message_channel.h"
"fl_binary_codec.h"
"fl_binary_messenger.h"
"fl_dart_project.h"
"fl_engine.h"
"fl_json_message_codec.h"
"fl_json_method_codec.h"
"fl_message_codec.h"
"fl_method_call.h"
"fl_method_channel.h"
"fl_method_codec.h"
"fl_method_response.h"
"fl_plugin_registrar.h"
"fl_plugin_registry.h"
"fl_standard_message_codec.h"
"fl_standard_method_codec.h"
"fl_string_codec.h"
"fl_value.h"
"fl_view.h"
"flutter_linux.h"
)
list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/")
add_library(flutter INTERFACE)
target_include_directories(flutter INTERFACE
"${EPHEMERAL_DIR}"
)
target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}")
target_link_libraries(flutter INTERFACE
PkgConfig::GTK
PkgConfig::GLIB
PkgConfig::GIO
)
add_dependencies(flutter flutter_assemble)
# === Flutter tool backend ===
# _phony_ is a non-existent file to force this command to run every time,
# since currently there's no way to get a full input/output list from the
# flutter tool.
add_custom_command(
OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}
${CMAKE_CURRENT_BINARY_DIR}/_phony_
COMMAND ${CMAKE_COMMAND} -E env
${FLUTTER_TOOL_ENVIRONMENT}
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh"
${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE}
VERBATIM
)
add_custom_target(flutter_assemble DEPENDS
"${FLUTTER_LIBRARY}"
${FLUTTER_LIBRARY_HEADERS}
)
@@ -0,0 +1,31 @@
//
// Generated file. Do not edit.
//
// clang-format off
#include "generated_plugin_registrant.h"
#include <audioplayers_linux/audioplayers_linux_plugin.h>
#include <file_saver/file_saver_plugin.h>
#include <file_selector_linux/file_selector_plugin.h>
#include <isar_flutter_libs/isar_flutter_libs_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) audioplayers_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "AudioplayersLinuxPlugin");
audioplayers_linux_plugin_register_with_registrar(audioplayers_linux_registrar);
g_autoptr(FlPluginRegistrar) file_saver_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSaverPlugin");
file_saver_plugin_register_with_registrar(file_saver_registrar);
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
g_autoptr(FlPluginRegistrar) isar_flutter_libs_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "IsarFlutterLibsPlugin");
isar_flutter_libs_plugin_register_with_registrar(isar_flutter_libs_registrar);
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
}
@@ -0,0 +1,15 @@
//
// Generated file. Do not edit.
//
// clang-format off
#ifndef GENERATED_PLUGIN_REGISTRANT_
#define GENERATED_PLUGIN_REGISTRANT_
#include <flutter_linux/flutter_linux.h>
// Registers Flutter plugins.
void fl_register_plugins(FlPluginRegistry* registry);
#endif // GENERATED_PLUGIN_REGISTRANT_
+28
View File
@@ -0,0 +1,28 @@
#
# Generated file, do not edit.
#
list(APPEND FLUTTER_PLUGIN_LIST
audioplayers_linux
file_saver
file_selector_linux
isar_flutter_libs
url_launcher_linux
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)
+6
View File
@@ -0,0 +1,6 @@
#include "my_application.h"
int main(int argc, char** argv) {
g_autoptr(MyApplication) app = my_application_new();
return g_application_run(G_APPLICATION(app), argc, argv);
}
+124
View File
@@ -0,0 +1,124 @@
#include "my_application.h"
#include <flutter_linux/flutter_linux.h>
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#endif
#include "flutter/generated_plugin_registrant.h"
struct _MyApplication {
GtkApplication parent_instance;
char** dart_entrypoint_arguments;
};
G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)
// Implements GApplication::activate.
static void my_application_activate(GApplication* application) {
MyApplication* self = MY_APPLICATION(application);
GtkWindow* window =
GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
// Use a header bar when running in GNOME as this is the common style used
// by applications and is the setup most users will be using (e.g. Ubuntu
// desktop).
// If running on X and not using GNOME then just use a traditional title bar
// in case the window manager does more exotic layout, e.g. tiling.
// If running on Wayland assume the header bar will work (may need changing
// if future cases occur).
gboolean use_header_bar = TRUE;
#ifdef GDK_WINDOWING_X11
GdkScreen* screen = gtk_window_get_screen(window);
if (GDK_IS_X11_SCREEN(screen)) {
const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen);
if (g_strcmp0(wm_name, "GNOME Shell") != 0) {
use_header_bar = FALSE;
}
}
#endif
if (use_header_bar) {
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
gtk_widget_show(GTK_WIDGET(header_bar));
gtk_header_bar_set_title(header_bar, "stadtbote");
gtk_header_bar_set_show_close_button(header_bar, TRUE);
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
} else {
gtk_window_set_title(window, "stadtbote");
}
gtk_window_set_default_size(window, 1280, 720);
gtk_widget_show(GTK_WIDGET(window));
g_autoptr(FlDartProject) project = fl_dart_project_new();
fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments);
FlView* view = fl_view_new(project);
gtk_widget_show(GTK_WIDGET(view));
gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
fl_register_plugins(FL_PLUGIN_REGISTRY(view));
gtk_widget_grab_focus(GTK_WIDGET(view));
}
// Implements GApplication::local_command_line.
static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) {
MyApplication* self = MY_APPLICATION(application);
// Strip out the first argument as it is the binary name.
self->dart_entrypoint_arguments = g_strdupv(*arguments + 1);
g_autoptr(GError) error = nullptr;
if (!g_application_register(application, nullptr, &error)) {
g_warning("Failed to register: %s", error->message);
*exit_status = 1;
return TRUE;
}
g_application_activate(application);
*exit_status = 0;
return TRUE;
}
// Implements GApplication::startup.
static void my_application_startup(GApplication* application) {
//MyApplication* self = MY_APPLICATION(object);
// Perform any actions required at application startup.
G_APPLICATION_CLASS(my_application_parent_class)->startup(application);
}
// Implements GApplication::shutdown.
static void my_application_shutdown(GApplication* application) {
//MyApplication* self = MY_APPLICATION(object);
// Perform any actions required at application shutdown.
G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application);
}
// Implements GObject::dispose.
static void my_application_dispose(GObject* object) {
MyApplication* self = MY_APPLICATION(object);
g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev);
G_OBJECT_CLASS(my_application_parent_class)->dispose(object);
}
static void my_application_class_init(MyApplicationClass* klass) {
G_APPLICATION_CLASS(klass)->activate = my_application_activate;
G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line;
G_APPLICATION_CLASS(klass)->startup = my_application_startup;
G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown;
G_OBJECT_CLASS(klass)->dispose = my_application_dispose;
}
static void my_application_init(MyApplication* self) {}
MyApplication* my_application_new() {
return MY_APPLICATION(g_object_new(my_application_get_type(),
"application-id", APPLICATION_ID,
"flags", G_APPLICATION_NON_UNIQUE,
nullptr));
}
+18
View File
@@ -0,0 +1,18 @@
#ifndef FLUTTER_MY_APPLICATION_H_
#define FLUTTER_MY_APPLICATION_H_
#include <gtk/gtk.h>
G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,
GtkApplication)
/**
* my_application_new:
*
* Creates a new Flutter-based application.
*
* Returns: a new #MyApplication.
*/
MyApplication* my_application_new();
#endif // FLUTTER_MY_APPLICATION_H_
+7
View File
@@ -0,0 +1,7 @@
# Flutter-related
**/Flutter/ephemeral/
**/Pods/
# Xcode-related
**/dgph
**/xcuserdata/
+2
View File
@@ -0,0 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
+2
View File
@@ -0,0 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
@@ -0,0 +1,32 @@
//
// Generated file. Do not edit.
//
import FlutterMacOS
import Foundation
import audioplayers_darwin
import device_info_plus
import file_saver
import file_selector_macos
import flutter_local_notifications
import geolocator_apple
import isar_flutter_libs
import package_info_plus
import path_provider_foundation
import shared_preferences_foundation
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AudioplayersDarwinPlugin.register(with: registry.registrar(forPlugin: "AudioplayersDarwinPlugin"))
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FileSaverPlugin.register(with: registry.registrar(forPlugin: "FileSaverPlugin"))
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin"))
IsarFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "IsarFlutterLibsPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
}
+43
View File
@@ -0,0 +1,43 @@
platform :osx, '10.14'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_macos_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
target 'RunnerTests' do
inherit! :search_paths
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_macos_build_settings(target)
end
end
+705
View File
@@ -0,0 +1,705 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXAggregateTarget section */
33CC111A2044C6BA0003C045 /* Flutter Assemble */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */;
buildPhases = (
33CC111E2044C6BF0003C045 /* ShellScript */,
);
dependencies = (
);
name = "Flutter Assemble";
productName = FLX;
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; };
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 33CC10EC2044A3C60003C045;
remoteInfo = Runner;
};
33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 33CC111A2044C6BA0003C045;
remoteInfo = FLX;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
33CC110E2044A8840003C045 /* Bundle Framework */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Bundle Framework";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* stadtbote.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "stadtbote.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = "<group>"; };
33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = "<group>"; };
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = "<group>"; };
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = "<group>"; };
33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = "<group>"; };
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
331C80D2294CF70F00263BE5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
33CC10EA2044A3C60003C045 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
331C80D6294CF71000263BE5 /* RunnerTests */ = {
isa = PBXGroup;
children = (
331C80D7294CF71000263BE5 /* RunnerTests.swift */,
);
path = RunnerTests;
sourceTree = "<group>";
};
33BA886A226E78AF003329D5 /* Configs */ = {
isa = PBXGroup;
children = (
33E5194F232828860026EE4D /* AppInfo.xcconfig */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
333000ED22D3DE5D00554162 /* Warnings.xcconfig */,
);
path = Configs;
sourceTree = "<group>";
};
33CC10E42044A3C60003C045 = {
isa = PBXGroup;
children = (
33FAB671232836740065AC1E /* Runner */,
33CEB47122A05771004F2AC0 /* Flutter */,
331C80D6294CF71000263BE5 /* RunnerTests */,
33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */,
);
sourceTree = "<group>";
};
33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup;
children = (
33CC10ED2044A3C60003C045 /* stadtbote.app */,
331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
33CC11242044D66E0003C045 /* Resources */ = {
isa = PBXGroup;
children = (
33CC10F22044A3C60003C045 /* Assets.xcassets */,
33CC10F42044A3C60003C045 /* MainMenu.xib */,
33CC10F72044A3C60003C045 /* Info.plist */,
);
name = Resources;
path = ..;
sourceTree = "<group>";
};
33CEB47122A05771004F2AC0 /* Flutter */ = {
isa = PBXGroup;
children = (
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */,
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */,
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */,
33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */,
);
path = Flutter;
sourceTree = "<group>";
};
33FAB671232836740065AC1E /* Runner */ = {
isa = PBXGroup;
children = (
33CC10F02044A3C60003C045 /* AppDelegate.swift */,
33CC11122044BFA00003C045 /* MainFlutterWindow.swift */,
33E51913231747F40026EE4D /* DebugProfile.entitlements */,
33E51914231749380026EE4D /* Release.entitlements */,
33CC11242044D66E0003C045 /* Resources */,
33BA886A226E78AF003329D5 /* Configs */,
);
path = Runner;
sourceTree = "<group>";
};
D73912EC22F37F3D000D13A0 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
331C80D4294CF70F00263BE5 /* RunnerTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = (
331C80D1294CF70F00263BE5 /* Sources */,
331C80D2294CF70F00263BE5 /* Frameworks */,
331C80D3294CF70F00263BE5 /* Resources */,
);
buildRules = (
);
dependencies = (
331C80DA294CF71000263BE5 /* PBXTargetDependency */,
);
name = RunnerTests;
productName = RunnerTests;
productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
33CC10EC2044A3C60003C045 /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
33CC10E92044A3C60003C045 /* Sources */,
33CC10EA2044A3C60003C045 /* Frameworks */,
33CC10EB2044A3C60003C045 /* Resources */,
33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* ShellScript */,
);
buildRules = (
);
dependencies = (
33CC11202044C79F0003C045 /* PBXTargetDependency */,
);
name = Runner;
productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* stadtbote.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
33CC10E52044A3C60003C045 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
331C80D4294CF70F00263BE5 = {
CreatedOnToolsVersion = 14.0;
TestTargetID = 33CC10EC2044A3C60003C045;
};
33CC10EC2044A3C60003C045 = {
CreatedOnToolsVersion = 9.2;
LastSwiftMigration = 1100;
ProvisioningStyle = Automatic;
SystemCapabilities = {
com.apple.Sandbox = {
enabled = 1;
};
};
};
33CC111A2044C6BA0003C045 = {
CreatedOnToolsVersion = 9.2;
ProvisioningStyle = Manual;
};
};
};
buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 33CC10E42044A3C60003C045;
productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
33CC10EC2044A3C60003C045 /* Runner */,
331C80D4294CF70F00263BE5 /* RunnerTests */,
33CC111A2044C6BA0003C045 /* Flutter Assemble */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
331C80D3294CF70F00263BE5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
33CC10EB2044A3C60003C045 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */,
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3399D490228B24CF009A79C7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n";
};
33CC111E2044C6BF0003C045 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
Flutter/ephemeral/FlutterInputs.xcfilelist,
);
inputPaths = (
Flutter/ephemeral/tripwire,
);
outputFileListPaths = (
Flutter/ephemeral/FlutterOutputs.xcfilelist,
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
331C80D1294CF70F00263BE5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
33CC10E92044A3C60003C045 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */,
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */,
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
331C80DA294CF71000263BE5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 33CC10EC2044A3C60003C045 /* Runner */;
targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */;
};
33CC11202044C79F0003C045 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */;
targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
33CC10F42044A3C60003C045 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
33CC10F52044A3C60003C045 /* Base */,
);
name = MainMenu.xib;
path = Runner;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
331C80DB294CF71000263BE5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = de.assecutor.stadtbote.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/stadtbote.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/stadtbote";
};
name = Debug;
};
331C80DC294CF71000263BE5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = de.assecutor.stadtbote.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/stadtbote.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/stadtbote";
};
name = Release;
};
331C80DD294CF71000263BE5 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = de.assecutor.stadtbote.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/stadtbote.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/stadtbote";
};
name = Profile;
};
338D0CE9231458BD00FA5F75 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
};
name = Profile;
};
338D0CEA231458BD00FA5F75 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0;
};
name = Profile;
};
338D0CEB231458BD00FA5F75 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Manual;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Profile;
};
33CC10F92044A3C60003C045 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
33CC10FA2044A3C60003C045 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
};
name = Release;
};
33CC10FC2044A3C60003C045 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
33CC10FD2044A3C60003C045 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0;
};
name = Release;
};
33CC111C2044C6BA0003C045 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Manual;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
33CC111D2044C6BA0003C045 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
331C80DB294CF71000263BE5 /* Debug */,
331C80DC294CF71000263BE5 /* Release */,
331C80DD294CF71000263BE5 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
33CC10F92044A3C60003C045 /* Debug */,
33CC10FA2044A3C60003C045 /* Release */,
338D0CE9231458BD00FA5F75 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
33CC10FC2044A3C60003C045 /* Debug */,
33CC10FD2044A3C60003C045 /* Release */,
338D0CEA231458BD00FA5F75 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = {
isa = XCConfigurationList;
buildConfigurations = (
33CC111C2044C6BA0003C045 /* Debug */,
33CC111D2044C6BA0003C045 /* Release */,
338D0CEB231458BD00FA5F75 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 33CC10E52044A3C60003C045 /* Project object */;
}
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "stadtbote.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "stadtbote.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "331C80D4294CF70F00263BE5"
BuildableName = "RunnerTests.xctest"
BlueprintName = "RunnerTests"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "stadtbote.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "stadtbote.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
+9
View File
@@ -0,0 +1,9 @@
import Cocoa
import FlutterMacOS
@main
class AppDelegate: FlutterAppDelegate {
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
}
@@ -0,0 +1,68 @@
{
"images" : [
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "app_icon_16.png",
"scale" : "1x"
},
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "app_icon_32.png",
"scale" : "2x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "app_icon_32.png",
"scale" : "1x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "app_icon_64.png",
"scale" : "2x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "app_icon_128.png",
"scale" : "1x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "app_icon_256.png",
"scale" : "2x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "app_icon_256.png",
"scale" : "1x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "app_icon_512.png",
"scale" : "2x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "app_icon_512.png",
"scale" : "1x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "app_icon_1024.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

+343
View File
@@ -0,0 +1,343 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
<connections>
<outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Runner" customModuleProvider="target">
<connections>
<outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/>
<outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
<menuItem title="APP_NAME" id="1Xt-HY-uBw">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="APP_NAME" systemMenu="apple" id="uQy-DD-JDr">
<items>
<menuItem title="About APP_NAME" id="5kV-Vb-QxS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
<menuItem title="Services" id="NMo-om-nkz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
<menuItem title="Hide APP_NAME" keyEquivalent="h" id="Olw-nP-bQN">
<connections>
<action selector="hide:" target="-1" id="PnN-Uc-m68"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
</connections>
</menuItem>
<menuItem title="Show All" id="Kd2-mp-pUS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
<menuItem title="Quit APP_NAME" keyEquivalent="q" id="4sb-4s-VLi">
<connections>
<action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Edit" id="5QF-Oa-p0T">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Edit" id="W48-6f-4Dl">
<items>
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
<connections>
<action selector="undo:" target="-1" id="M6e-cu-g7V"/>
</connections>
</menuItem>
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
<connections>
<action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
<connections>
<action selector="cut:" target="-1" id="YJe-68-I9s"/>
</connections>
</menuItem>
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
<connections>
<action selector="copy:" target="-1" id="G1f-GL-Joy"/>
</connections>
</menuItem>
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
<connections>
<action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
</connections>
</menuItem>
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
</connections>
</menuItem>
<menuItem title="Delete" id="pa3-QI-u2k">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
</connections>
</menuItem>
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
<connections>
<action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
<menuItem title="Find" id="4EN-yA-p0u">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Find" id="1b7-l0-nxx">
<items>
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
<connections>
<action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
</connections>
</menuItem>
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
</connections>
</menuItem>
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
<connections>
<action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
</connections>
</menuItem>
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
<connections>
<action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
</connections>
</menuItem>
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
<connections>
<action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
</connections>
</menuItem>
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
<connections>
<action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
<items>
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
<connections>
<action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
</connections>
</menuItem>
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
<connections>
<action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
</connections>
</menuItem>
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
</connections>
</menuItem>
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Substitutions" id="9ic-FL-obx">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
<items>
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
</connections>
</menuItem>
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
</connections>
</menuItem>
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
</connections>
</menuItem>
<menuItem title="Smart Links" id="cwL-P1-jid">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
</connections>
</menuItem>
<menuItem title="Data Detectors" id="tRr-pd-1PS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
</connections>
</menuItem>
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Transformations" id="2oI-Rn-ZJC">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
<items>
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
</connections>
</menuItem>
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
</connections>
</menuItem>
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Speech" id="xrE-MZ-jX0">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
<items>
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
</connections>
</menuItem>
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="View" id="H8h-7b-M4v">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="View" id="HyV-fh-RgO">
<items>
<menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="toggleFullScreen:" target="-1" id="dU3-MA-1Rq"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
<items>
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
<connections>
<action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
</connections>
</menuItem>
<menuItem title="Zoom" id="R4o-n2-Eq4">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Help" id="EPT-qC-fAb">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Help" systemMenu="help" id="rJ0-wn-3NY"/>
</menuItem>
</items>
<point key="canvasLocation" x="142" y="-258"/>
</menu>
<window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<rect key="contentRect" x="335" y="390" width="800" height="600"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/>
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="800" height="600"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</window>
</objects>
</document>
+14
View File
@@ -0,0 +1,14 @@
// Application-level settings for the Runner target.
//
// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the
// future. If not, the values below would default to using the project name when this becomes a
// 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = stadtbote
// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = de.assecutor.stadtbote
// The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2024 de.assecutor. All rights reserved.
Loaded 100 of 136 files, more files were not shown because too many files have changed in this diff. Show more