diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 41387a1..f916467 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -35,6 +35,8 @@ PODS: - DKImagePickerController/PhotoGallery - Flutter - Flutter (1.0.0) + - flutter_barcode_scanner (2.0.0): + - Flutter - flutter_osm_plugin (0.0.1): - Alamofire - Flutter @@ -66,13 +68,14 @@ PODS: DEPENDENCIES: - file_picker (from `.symlinks/plugins/file_picker/ios`) - Flutter (from `Flutter`) + - flutter_barcode_scanner (from `.symlinks/plugins/flutter_barcode_scanner/ios`) - flutter_osm_plugin (from `.symlinks/plugins/flutter_osm_plugin/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - isar_flutter_libs (from `.symlinks/plugins/isar_flutter_libs/ios`) - open_filex (from `.symlinks/plugins/open_filex/ios`) - - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) SPEC REPOS: @@ -90,6 +93,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/file_picker/ios" Flutter: :path: Flutter + flutter_barcode_scanner: + :path: ".symlinks/plugins/flutter_barcode_scanner/ios" flutter_osm_plugin: :path: ".symlinks/plugins/flutter_osm_plugin/ios" image_picker_ios: @@ -99,11 +104,11 @@ EXTERNAL SOURCES: open_filex: :path: ".symlinks/plugins/open_filex/ios" path_provider_foundation: - :path: ".symlinks/plugins/path_provider_foundation/ios" + :path: ".symlinks/plugins/path_provider_foundation/darwin" permission_handler_apple: :path: ".symlinks/plugins/permission_handler_apple/ios" shared_preferences_foundation: - :path: ".symlinks/plugins/shared_preferences_foundation/ios" + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" @@ -113,6 +118,7 @@ SPEC CHECKSUMS: DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 file_picker: ce3938a0df3cc1ef404671531facef740d03f920 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + flutter_barcode_scanner: 7a1144744c28dc0c57a8de7218ffe5ec59a9e4bf flutter_osm_plugin: 029b14f54485ced3190bb2c4444616b76e10c6a8 image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5 isar_flutter_libs: b69f437aeab9c521821c3f376198c4371fa21073 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index ef7b3aa..aaf19bd 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -156,7 +156,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -205,6 +205,7 @@ files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c87d15a..a6b826d 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ { } } - void _processTaskArrivedOrFinished(TaskInfo taskInfo) { + _processTaskArrivedOrFinished(TaskInfo taskInfo) { _popup = showTaskArrivedPopup(context, taskInfo, () => { - _popup.dismiss(context), + _finishProcessTaskArrivedOrFinished(taskInfo) }); } - void _processCommissionNumber(TaskInfo taskInfo) { - _popup = showCommisionNumberPopup(context, taskInfo, () => { - _popup.dismiss(context), + _finishProcessTaskArrivedOrFinished(TaskInfo taskInfo) { + _popup.dismiss(context); + + DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm"); + + taskInfo.additionalText = dateFormat.format(DateTime.now()); + + setState(() {}); + } + + _processCommissionNumber(TaskInfo taskInfo) { + _popup = showComissionNumberPopup(context, taskInfo, (text) => { + _finishProcessCommissionNumber(taskInfo, text) }); } - void _processScanBarcodes(TaskInfo taskInfo) { - _popup = showScanBarcodesPopup(context, taskInfo, () => { - _popup.dismiss(context) + _finishProcessCommissionNumber(TaskInfo taskInfo, String comissionNumber) { + _popup.dismiss(context); + + taskInfo.additionalText = comissionNumber; + + setState(() {}); + } + + _processScanBarcodes(TaskInfo taskInfo) { + _popup = showScanBarcodesPopup(context, taskInfo, (List barcodes) => { + _finishProcessScanBarcodes(taskInfo, barcodes) }); } + _finishProcessScanBarcodes(TaskInfo taskInfo, List barcodess) { + _popup.dismiss(context); + + taskInfo.additionalText = "Barcodes gescannt"; + + setState(() {}); + } + void _processTakePhotos(TaskInfo taskInfo) { _popup = showTakePhotosPopup(context, taskInfo, () => { _popup.dismiss(context) @@ -237,17 +264,33 @@ class _TaskListPageState extends State { } void _processStationNotice(TaskInfo taskInfo) { - _popup = showStationNoticePopup(context, taskInfo, () => { - _popup.dismiss(context) + _popup = showStationNoticePopup(context, taskInfo, (notice) => { + _finishProcessStationNotice(taskInfo, notice) }); } + _finishProcessStationNotice(TaskInfo taskInfo, String notice) { + _popup.dismiss(context); + + taskInfo.additionalText = notice; + + setState(() {}); + } + void _processReceiptGiver(TaskInfo taskInfo) { - _popup = showReceiptGiverPopup(context, taskInfo, () => { - _popup.dismiss(context) + _popup = showReceiptGiverPopup(context, taskInfo, (receiptGiver) => { + _finishReceiptGiver(taskInfo, receiptGiver) }); } + _finishReceiptGiver(TaskInfo taskInfo, String receiptGiver) { + _popup.dismiss(context); + + taskInfo.additionalText = receiptGiver; + + setState(() {}); + } + void _processSignature(TaskInfo taskInfo) { SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]); diff --git a/lib/popups/tasks_popups/commision_number_popup.dart b/lib/popups/tasks_popups/commision_number_popup.dart index c8773f1..7557270 100644 --- a/lib/popups/tasks_popups/commision_number_popup.dart +++ b/lib/popups/tasks_popups/commision_number_popup.dart @@ -4,7 +4,7 @@ import 'package:kumi_popup_window/kumi_popup_window.dart'; import 'package:stadtbote/model/task_info.dart'; import 'package:stadtbote/tools/util.dart'; -KumiPopupWindow showCommisionNumberPopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) { +KumiPopupWindow showComissionNumberPopup(BuildContext context, TaskInfo taskInfo, Function(String) onFinished) { return showPopupWindow( context, //childSize:Size(240, MediaQuery.of(context).size.width * 0.8), @@ -56,8 +56,9 @@ KumiPopupWindow showCommisionNumberPopup(BuildContext context, TaskInfo taskInfo type: TextInputType.text, formatter: [FilteringTextInputFormatter.singleLineFormatter], controller: textEditingController, autofocus: true), const SizedBox(height: 20), getDefaultButton('Übernehmen', () => { - onFinished() - }) ], + onFinished(textEditingController.text) + }) + ], ), ), )); diff --git a/lib/popups/tasks_popups/receipt_giver_popup.dart b/lib/popups/tasks_popups/receipt_giver_popup.dart index 1c0787d..12ce870 100644 --- a/lib/popups/tasks_popups/receipt_giver_popup.dart +++ b/lib/popups/tasks_popups/receipt_giver_popup.dart @@ -4,7 +4,7 @@ import 'package:kumi_popup_window/kumi_popup_window.dart'; import 'package:stadtbote/model/task_info.dart'; import 'package:stadtbote/tools/util.dart'; -KumiPopupWindow showReceiptGiverPopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) { +KumiPopupWindow showReceiptGiverPopup(BuildContext context, TaskInfo taskInfo, Function(String) onFinished) { return showPopupWindow( context, //childSize:Size(240, MediaQuery.of(context).size.width * 0.8), @@ -56,7 +56,7 @@ KumiPopupWindow showReceiptGiverPopup(BuildContext context, TaskInfo taskInfo, F type: TextInputType.text, formatter: [FilteringTextInputFormatter.singleLineFormatter], controller: textEditingController, autofocus: true), const SizedBox(height: 20), getDefaultButton('Übernehmen', () => { - onFinished() + onFinished(textEditingController.text) }) ], ), diff --git a/lib/popups/tasks_popups/scan_barcodes_popup.dart b/lib/popups/tasks_popups/scan_barcodes_popup.dart index 348d29d..9d2bd12 100644 --- a/lib/popups/tasks_popups/scan_barcodes_popup.dart +++ b/lib/popups/tasks_popups/scan_barcodes_popup.dart @@ -5,7 +5,7 @@ import 'package:kumi_popup_window/kumi_popup_window.dart'; import 'package:stadtbote/model/task_info.dart'; import 'package:stadtbote/tools/util.dart'; -KumiPopupWindow showScanBarcodesPopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) { +KumiPopupWindow showScanBarcodesPopup(BuildContext context, TaskInfo taskInfo, Function(List barcodes) onFinished) { return showPopupWindow( context, //childSize:Size(240, MediaQuery.of(context).size.width * 0.8), @@ -108,7 +108,7 @@ KumiPopupWindow showScanBarcodesPopup(BuildContext context, TaskInfo taskInfo, F scanBarcode() }), getDefaultButton('Übernehmen', buttonHeight: 50, () => { - onFinished() + onFinished(scannedBarcodes) }) ], ), diff --git a/lib/popups/tasks_popups/station_notice_popup.dart b/lib/popups/tasks_popups/station_notice_popup.dart index 55eeeb6..fc17a74 100644 --- a/lib/popups/tasks_popups/station_notice_popup.dart +++ b/lib/popups/tasks_popups/station_notice_popup.dart @@ -4,7 +4,7 @@ import 'package:kumi_popup_window/kumi_popup_window.dart'; import 'package:stadtbote/model/task_info.dart'; import 'package:stadtbote/tools/util.dart'; -KumiPopupWindow showStationNoticePopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) { +KumiPopupWindow showStationNoticePopup(BuildContext context, TaskInfo taskInfo, Function(String) onFinished) { return showPopupWindow( context, //childSize:Size(240, MediaQuery.of(context).size.width * 0.8), @@ -62,7 +62,7 @@ KumiPopupWindow showStationNoticePopup(BuildContext context, TaskInfo taskInfo, autofocus: true), ), const SizedBox(height: 20), - getDefaultButton('Übernehmen', buttonHeight: 50, () => {onFinished()}) + getDefaultButton('Übernehmen', buttonHeight: 50, () => {onFinished(textEditingController.text)}) ], ), ), diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index 6ff2d41..0000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:stadtbote/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -}