Erweiterungen
This commit is contained in:
1 parent
3dab4025e7
commit
3d7ae9de2a
16 files changed
+438
-327
No files matched your search
@@ -3,13 +3,16 @@ import 'dart:convert';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_broadcast_receiver/flutter_broadcast_receiver.dart';
|
import 'package:flutter_broadcast_receiver/flutter_broadcast_receiver.dart';
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
import 'package:stadtbote/content_views/accepted_jobs_page.dart';
|
import 'package:stadtbote/content_views/accepted_jobs_page.dart';
|
||||||
import 'package:stadtbote/content_views/assigned_jobs_page.dart';
|
import 'package:stadtbote/content_views/assigned_jobs_page.dart';
|
||||||
import 'package:stadtbote/content_views/finished_jobs_page.dart';
|
import 'package:stadtbote/content_views/finished_jobs_page.dart';
|
||||||
import 'package:stadtbote/content_views/messages_page.dart';
|
import 'package:stadtbote/content_views/messages_page.dart';
|
||||||
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
||||||
import 'package:stadtbote/content_views/utils/header_info.dart';
|
import 'package:stadtbote/content_views/utils/header_info.dart';
|
||||||
|
import 'package:stadtbote/model/status.dart';
|
||||||
import 'package:stadtbote/popups/infos_popup.dart';
|
import 'package:stadtbote/popups/infos_popup.dart';
|
||||||
|
import 'package:stadtbote/tools/session_info_update.dart';
|
||||||
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import '../model/job.dart';
|
import '../model/job.dart';
|
||||||
@@ -17,7 +20,16 @@ import '../tools/constants.dart';
|
|||||||
import '../tools/util.dart';
|
import '../tools/util.dart';
|
||||||
|
|
||||||
class MainPage extends ContentViewWidget {
|
class MainPage extends ContentViewWidget {
|
||||||
const MainPage({super.key});
|
final ValueNotifier<String> _zipValueNotifier = ValueNotifier("----");
|
||||||
|
final ValueNotifier<String> _sidValueNotifier = ValueNotifier("----");
|
||||||
|
|
||||||
|
MainPage({super.key}) {
|
||||||
|
Status? status = MyApp.isarInstance.status.where().findFirstSync();
|
||||||
|
if (status != null) {
|
||||||
|
_zipValueNotifier.value = status.locZip;
|
||||||
|
_sidValueNotifier.value = status.sid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<MainPage> createState() => _MainPageState();
|
State<MainPage> createState() => _MainPageState();
|
||||||
@@ -27,21 +39,31 @@ class MainPage extends ContentViewWidget {
|
|||||||
return HeaderInfo(
|
return HeaderInfo(
|
||||||
titleWidget: Container(
|
titleWidget: Container(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 3),
|
padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 3),
|
||||||
child: const Column(children: [
|
child: Column(children: [
|
||||||
Text(
|
ValueListenableBuilder<String>(
|
||||||
'Zeile 1',
|
valueListenable: _zipValueNotifier,
|
||||||
style: TextStyle(
|
builder: (context, value, child) {
|
||||||
color: Colors.white,
|
return Text(
|
||||||
fontSize: 18.0,
|
value,
|
||||||
),
|
style: const TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 18.0,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
SizedBox(height: 5),
|
const SizedBox(height: 5),
|
||||||
Text(
|
ValueListenableBuilder<String>(
|
||||||
'Zeile 2',
|
valueListenable: _sidValueNotifier,
|
||||||
style: TextStyle(
|
builder: (context, value, child) {
|
||||||
color: Colors.white,
|
return Text(
|
||||||
fontSize: 18.0,
|
value,
|
||||||
),
|
style: const TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 18.0,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
@@ -55,6 +77,13 @@ class MainPage extends ContentViewWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _MainPageState extends State<MainPage> {
|
class _MainPageState extends State<MainPage> {
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
|
||||||
|
_initMessages();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Stack(
|
return Stack(
|
||||||
@@ -123,7 +152,7 @@ class _MainPageState extends State<MainPage> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _test() async {
|
_test() async {
|
||||||
var json = await rootBundle.loadString('assets/job.json');
|
var json = await rootBundle.loadString('assets/job.json');
|
||||||
var jsonMap = jsonDecode(json);
|
var jsonMap = jsonDecode(json);
|
||||||
var payload = jsonMap["payload"];
|
var payload = jsonMap["payload"];
|
||||||
@@ -138,4 +167,10 @@ class _MainPageState extends State<MainPage> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_initMessages() {
|
||||||
|
BroadcastReceiver().subscribe<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, (statusInfoUpdate) {
|
||||||
|
widget._sidValueNotifier.value = statusInfoUpdate.status.sid;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -13,6 +13,7 @@ import 'package:stadtbote/popups/tasks_popups/scan_barcodes_popup.dart';
|
|||||||
import 'package:stadtbote/popups/tasks_popups/signature_popup.dart';
|
import 'package:stadtbote/popups/tasks_popups/signature_popup.dart';
|
||||||
import 'package:stadtbote/popups/tasks_popups/station_notice_popup.dart';
|
import 'package:stadtbote/popups/tasks_popups/station_notice_popup.dart';
|
||||||
import 'package:stadtbote/popups/tasks_popups/take_photos_popup.dart';
|
import 'package:stadtbote/popups/tasks_popups/take_photos_popup.dart';
|
||||||
|
import 'package:stadtbote/tools/constants.dart';
|
||||||
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import '../model/task_info.dart';
|
import '../model/task_info.dart';
|
||||||
@@ -105,11 +106,11 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
children: [
|
children: [
|
||||||
Positioned(
|
Positioned(
|
||||||
left: 16.5,
|
left: 16.5,
|
||||||
top: i == 0 ? 5 : 0,
|
top: i == 0 ? 40 : 40,
|
||||||
child: Container(
|
child: Container(
|
||||||
height: i == widget.tour.tasks.length - 1 ? 1: 60,
|
height: i == widget.tour.tasks.length - 1 ? 0 : 20,
|
||||||
width: 6,
|
width: 6,
|
||||||
color: Colors.green
|
color: isTaskActive(i) ? Constants.colorPrimary : Constants.colorPrimaryOpaque,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Column(
|
Column(
|
||||||
@@ -117,9 +118,9 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
Container(
|
Container(
|
||||||
width: 40,
|
width: 40,
|
||||||
height: 40,
|
height: 40,
|
||||||
decoration: const BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: Colors.grey,
|
color: isTaskActive(i) ? Constants.colorPrimary : Constants.colorPrimaryOpaque,
|
||||||
),
|
),
|
||||||
child: const Icon(Icons.check, size: 30.0, color: Colors.white),
|
child: const Icon(Icons.check, size: 30.0, color: Colors.white),
|
||||||
),
|
),
|
||||||
@@ -130,7 +131,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
const SizedBox(width: 20),
|
const SizedBox(width: 20),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
taskInfo.task.topic,
|
taskInfo.task.topic,
|
||||||
@@ -142,7 +143,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 5),
|
const SizedBox(height: 5),
|
||||||
Text(
|
Text(
|
||||||
taskInfo.additionalText ?? 'Additonal text',
|
taskInfo.additionalText ?? '',
|
||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.blue,
|
color: Colors.blue,
|
||||||
@@ -169,12 +170,14 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
|
|
||||||
for(var task in widget.tour.tasks) {
|
for(var task in widget.tour.tasks) {
|
||||||
var taskInfo = await MyApp.isarInstance.taskInfos.filter().sIdEqualTo(task.sId).findFirst();
|
var taskInfo = await MyApp.isarInstance.taskInfos.filter().sIdEqualTo(task.sId).findFirst();
|
||||||
taskInfo ??= TaskInfo();
|
if (taskInfo == null) {
|
||||||
|
taskInfo = TaskInfo();
|
||||||
|
taskInfo.answer = null;
|
||||||
|
taskInfo.additionalText = null;
|
||||||
|
taskInfo.completed = task.opt as bool;
|
||||||
|
}
|
||||||
|
|
||||||
taskInfo.task = task;
|
taskInfo.task = task;
|
||||||
|
|
||||||
taskInfo.answer = null;
|
|
||||||
taskInfo.additionalText = null;
|
|
||||||
|
|
||||||
taskList.add(taskInfo);
|
taskList.add(taskInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,6 +228,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm");
|
DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm");
|
||||||
|
|
||||||
taskInfo.additionalText = dateFormat.format(DateTime.now());
|
taskInfo.additionalText = dateFormat.format(DateTime.now());
|
||||||
|
taskInfo.completed = true;
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
@@ -239,6 +243,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
_popup.dismiss(context);
|
_popup.dismiss(context);
|
||||||
|
|
||||||
taskInfo.additionalText = comissionNumber;
|
taskInfo.additionalText = comissionNumber;
|
||||||
|
taskInfo.completed = true;
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
@@ -253,16 +258,26 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
_popup.dismiss(context);
|
_popup.dismiss(context);
|
||||||
|
|
||||||
taskInfo.additionalText = "Barcodes gescannt";
|
taskInfo.additionalText = "Barcodes gescannt";
|
||||||
|
taskInfo.completed = true;
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
|
|
||||||
void _processTakePhotos(TaskInfo taskInfo) {
|
_processTakePhotos(TaskInfo taskInfo) {
|
||||||
_popup = showTakePhotosPopup(context, taskInfo, () => {
|
_popup = showTakePhotosPopup(context, taskInfo, () => {
|
||||||
_popup.dismiss(context)
|
_finishProcessTakePhotos(taskInfo)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_finishProcessTakePhotos(TaskInfo taskInfo) {
|
||||||
|
_popup.dismiss(context);
|
||||||
|
|
||||||
|
taskInfo.additionalText = "Fotos aufgenommen";
|
||||||
|
taskInfo.completed = true;
|
||||||
|
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
void _processStationNotice(TaskInfo taskInfo) {
|
void _processStationNotice(TaskInfo taskInfo) {
|
||||||
_popup = showStationNoticePopup(context, taskInfo, (notice) => {
|
_popup = showStationNoticePopup(context, taskInfo, (notice) => {
|
||||||
_finishProcessStationNotice(taskInfo, notice)
|
_finishProcessStationNotice(taskInfo, notice)
|
||||||
@@ -273,6 +288,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
_popup.dismiss(context);
|
_popup.dismiss(context);
|
||||||
|
|
||||||
taskInfo.additionalText = notice;
|
taskInfo.additionalText = notice;
|
||||||
|
taskInfo.completed = true;
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
@@ -287,6 +303,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
_popup.dismiss(context);
|
_popup.dismiss(context);
|
||||||
|
|
||||||
taskInfo.additionalText = receiptGiver;
|
taskInfo.additionalText = receiptGiver;
|
||||||
|
taskInfo.completed = true;
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
@@ -298,8 +315,20 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
_popup = showSignaturePopup(context, taskInfo, () => {
|
_popup = showSignaturePopup(context, taskInfo, () => {
|
||||||
_popup.dismiss(context),
|
_popup.dismiss(context),
|
||||||
|
|
||||||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
|
taskInfo.completed = true,
|
||||||
|
|
||||||
|
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isTaskActive(int index) {
|
||||||
|
for (int i = 0; i < index; i++) {
|
||||||
|
var taskInfo = _taskList[i];
|
||||||
|
|
||||||
|
if (!taskInfo.completed) return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+7
-5
@@ -92,7 +92,7 @@ class _MainState extends State<Main> {
|
|||||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||||
_initMessages();
|
_initMessages();
|
||||||
|
|
||||||
_currentContent = const MainPage();
|
_currentContent = MainPage();
|
||||||
|
|
||||||
var headerInfo = await _currentContent.getHeaderInfo(context);
|
var headerInfo = await _currentContent.getHeaderInfo(context);
|
||||||
_currentTitleWidget = headerInfo.titleWidget;
|
_currentTitleWidget = headerInfo.titleWidget;
|
||||||
@@ -152,8 +152,8 @@ class _MainState extends State<Main> {
|
|||||||
Visibility(
|
Visibility(
|
||||||
visible: _leftButtonVisible,
|
visible: _leftButtonVisible,
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 40,
|
width: 60,
|
||||||
height: 40,
|
height: 60,
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -165,6 +165,7 @@ class _MainState extends State<Main> {
|
|||||||
},
|
},
|
||||||
child: CircleAvatar(
|
child: CircleAvatar(
|
||||||
radius: 15,
|
radius: 15,
|
||||||
|
backgroundColor: Constants.colorPrimary,
|
||||||
child: Padding(padding: const EdgeInsets.all(1.0), child: _leftIconButton),
|
child: Padding(padding: const EdgeInsets.all(1.0), child: _leftIconButton),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -174,8 +175,8 @@ class _MainState extends State<Main> {
|
|||||||
Visibility(
|
Visibility(
|
||||||
visible: _rightButtonVisible,
|
visible: _rightButtonVisible,
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 40,
|
width: 60,
|
||||||
height: 40,
|
height: 60,
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: Colors.red,
|
color: Colors.red,
|
||||||
@@ -186,6 +187,7 @@ class _MainState extends State<Main> {
|
|||||||
_rightButtonOnPressed();
|
_rightButtonOnPressed();
|
||||||
},
|
},
|
||||||
child: CircleAvatar(
|
child: CircleAvatar(
|
||||||
|
backgroundColor: Constants.colorPrimary,
|
||||||
radius: 15,
|
radius: 15,
|
||||||
child: Padding(padding: const EdgeInsets.all(1.0), child: _rightIconButton),
|
child: Padding(padding: const EdgeInsets.all(1.0), child: _rightIconButton),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
import 'package:isar/isar.dart';
|
||||||
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
import 'package:stadtbote/tools/util.dart';
|
||||||
|
|
||||||
|
part 'start_session_message.g.dart';
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class StartSessionMessage {
|
||||||
|
Id get isarId => Util.fastHash(messageId);
|
||||||
|
|
||||||
|
late String recv;
|
||||||
|
|
||||||
|
late bool store;
|
||||||
|
|
||||||
|
late String messageId;
|
||||||
|
|
||||||
|
late Payload payload;
|
||||||
|
|
||||||
|
StartSessionMessage();
|
||||||
|
|
||||||
|
factory StartSessionMessage.fromJson(Map<String, dynamic> json) => _$StartSessionMessageFromJson(json);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$StartSessionMessageToJson(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class Payload {
|
||||||
|
@JsonKey(name:'start_session')
|
||||||
|
late String startSession;
|
||||||
|
|
||||||
|
Payload();
|
||||||
|
|
||||||
|
factory Payload.fromJson(Map<String, dynamic> json) => _$PayloadFromJson(json);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$PayloadToJson(this);
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'start_session_message.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// JsonSerializableGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
StartSessionMessage _$StartSessionMessageFromJson(Map<String, dynamic> json) =>
|
||||||
|
StartSessionMessage()
|
||||||
|
..recv = json['recv'] as String
|
||||||
|
..store = json['store'] as bool
|
||||||
|
..messageId = json['messageId'] as String
|
||||||
|
..payload = Payload.fromJson(json['payload'] as Map<String, dynamic>);
|
||||||
|
|
||||||
|
Map<String, dynamic> _$StartSessionMessageToJson(
|
||||||
|
StartSessionMessage instance) =>
|
||||||
|
<String, dynamic>{
|
||||||
|
'recv': instance.recv,
|
||||||
|
'store': instance.store,
|
||||||
|
'messageId': instance.messageId,
|
||||||
|
'payload': instance.payload,
|
||||||
|
};
|
||||||
|
|
||||||
|
Payload _$PayloadFromJson(Map<String, dynamic> json) =>
|
||||||
|
Payload()..startSession = json['start_session'] as String;
|
||||||
|
|
||||||
|
Map<String, dynamic> _$PayloadToJson(Payload instance) => <String, dynamic>{
|
||||||
|
'start_session': instance.startSession,
|
||||||
|
};
|
||||||
@@ -9,21 +9,21 @@ class Status {
|
|||||||
final Id id = 0;
|
final Id id = 0;
|
||||||
|
|
||||||
@JsonKey(name: 'cust_id')
|
@JsonKey(name: 'cust_id')
|
||||||
int? custId;
|
late int custId;
|
||||||
@JsonKey(name: 'hq_id')
|
@JsonKey(name: 'hq_id')
|
||||||
int? hqId;
|
late int hqId;
|
||||||
@JsonKey(name: 'usr_id')
|
@JsonKey(name: 'usr_id')
|
||||||
int? usrId;
|
late int usrId;
|
||||||
@JsonKey(name: 'cr_id')
|
@JsonKey(name: 'cr_id')
|
||||||
int? crId;
|
late int crId;
|
||||||
@JsonKey(name: 'sid')
|
@JsonKey(name: 'sid')
|
||||||
String? sid;
|
late String sid;
|
||||||
@JsonKey(name: 'vht_id')
|
@JsonKey(name: 'vht_id')
|
||||||
int? vhtId;
|
late int vhtId;
|
||||||
@JsonKey(name: 'loc_zip')
|
@JsonKey(name: 'loc_zip')
|
||||||
String? locZip;
|
late String locZip;
|
||||||
|
|
||||||
Status({this.hqId, this.usrId, this.crId, this.sid, this.vhtId, this.locZip, this.custId});
|
Status();
|
||||||
|
|
||||||
factory Status.fromJson(Map<String, dynamic> json) => _$StatusFromJson(json);
|
factory Status.fromJson(Map<String, dynamic> json) => _$StatusFromJson(json);
|
||||||
|
|
||||||
|
|||||||
+67
-192
@@ -73,18 +73,8 @@ int _statusEstimateSize(
|
|||||||
Map<Type, List<int>> allOffsets,
|
Map<Type, List<int>> allOffsets,
|
||||||
) {
|
) {
|
||||||
var bytesCount = offsets.last;
|
var bytesCount = offsets.last;
|
||||||
{
|
bytesCount += 3 + object.locZip.length * 3;
|
||||||
final value = object.locZip;
|
bytesCount += 3 + object.sid.length * 3;
|
||||||
if (value != null) {
|
|
||||||
bytesCount += 3 + value.length * 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
final value = object.sid;
|
|
||||||
if (value != null) {
|
|
||||||
bytesCount += 3 + value.length * 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return bytesCount;
|
return bytesCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,15 +99,14 @@ Status _statusDeserialize(
|
|||||||
List<int> offsets,
|
List<int> offsets,
|
||||||
Map<Type, List<int>> allOffsets,
|
Map<Type, List<int>> allOffsets,
|
||||||
) {
|
) {
|
||||||
final object = Status(
|
final object = Status();
|
||||||
crId: reader.readLongOrNull(offsets[0]),
|
object.crId = reader.readLong(offsets[0]);
|
||||||
custId: reader.readLongOrNull(offsets[1]),
|
object.custId = reader.readLong(offsets[1]);
|
||||||
hqId: reader.readLongOrNull(offsets[2]),
|
object.hqId = reader.readLong(offsets[2]);
|
||||||
locZip: reader.readStringOrNull(offsets[3]),
|
object.locZip = reader.readString(offsets[3]);
|
||||||
sid: reader.readStringOrNull(offsets[4]),
|
object.sid = reader.readString(offsets[4]);
|
||||||
usrId: reader.readLongOrNull(offsets[5]),
|
object.usrId = reader.readLong(offsets[5]);
|
||||||
vhtId: reader.readLongOrNull(offsets[6]),
|
object.vhtId = reader.readLong(offsets[6]);
|
||||||
);
|
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,19 +118,19 @@ P _statusDeserializeProp<P>(
|
|||||||
) {
|
) {
|
||||||
switch (propertyId) {
|
switch (propertyId) {
|
||||||
case 0:
|
case 0:
|
||||||
return (reader.readLongOrNull(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
case 1:
|
case 1:
|
||||||
return (reader.readLongOrNull(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
case 2:
|
case 2:
|
||||||
return (reader.readLongOrNull(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
case 3:
|
case 3:
|
||||||
return (reader.readStringOrNull(offset)) as P;
|
return (reader.readString(offset)) as P;
|
||||||
case 4:
|
case 4:
|
||||||
return (reader.readStringOrNull(offset)) as P;
|
return (reader.readString(offset)) as P;
|
||||||
case 5:
|
case 5:
|
||||||
return (reader.readLongOrNull(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
case 6:
|
case 6:
|
||||||
return (reader.readLongOrNull(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
default:
|
default:
|
||||||
throw IsarError('Unknown property with id $propertyId');
|
throw IsarError('Unknown property with id $propertyId');
|
||||||
}
|
}
|
||||||
@@ -233,23 +222,7 @@ extension StatusQueryWhere on QueryBuilder<Status, Status, QWhereClause> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> crIdIsNull() {
|
QueryBuilder<Status, Status, QAfterFilterCondition> crIdEqualTo(int value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'crId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> crIdIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'crId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> crIdEqualTo(int? value) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'crId',
|
property: r'crId',
|
||||||
@@ -259,7 +232,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> crIdGreaterThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> crIdGreaterThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -272,7 +245,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> crIdLessThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> crIdLessThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -285,8 +258,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> crIdBetween(
|
QueryBuilder<Status, Status, QAfterFilterCondition> crIdBetween(
|
||||||
int? lower,
|
int lower,
|
||||||
int? upper, {
|
int upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
bool includeUpper = true,
|
bool includeUpper = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -301,24 +274,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> custIdIsNull() {
|
QueryBuilder<Status, Status, QAfterFilterCondition> custIdEqualTo(int value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'custId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> custIdIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'custId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> custIdEqualTo(
|
|
||||||
int? value) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'custId',
|
property: r'custId',
|
||||||
@@ -328,7 +284,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> custIdGreaterThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> custIdGreaterThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -341,7 +297,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> custIdLessThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> custIdLessThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -354,8 +310,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> custIdBetween(
|
QueryBuilder<Status, Status, QAfterFilterCondition> custIdBetween(
|
||||||
int? lower,
|
int lower,
|
||||||
int? upper, {
|
int upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
bool includeUpper = true,
|
bool includeUpper = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -370,23 +326,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdIsNull() {
|
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdEqualTo(int value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'hqId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'hqId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdEqualTo(int? value) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'hqId',
|
property: r'hqId',
|
||||||
@@ -396,7 +336,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdGreaterThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdGreaterThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -409,7 +349,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdLessThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdLessThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -422,8 +362,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdBetween(
|
QueryBuilder<Status, Status, QAfterFilterCondition> hqIdBetween(
|
||||||
int? lower,
|
int lower,
|
||||||
int? upper, {
|
int upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
bool includeUpper = true,
|
bool includeUpper = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -490,24 +430,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> locZipIsNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'locZip',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> locZipIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'locZip',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> locZipEqualTo(
|
QueryBuilder<Status, Status, QAfterFilterCondition> locZipEqualTo(
|
||||||
String? value, {
|
String value, {
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -520,7 +444,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> locZipGreaterThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> locZipGreaterThan(
|
||||||
String? value, {
|
String value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -535,7 +459,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> locZipLessThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> locZipLessThan(
|
||||||
String? value, {
|
String value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -550,8 +474,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> locZipBetween(
|
QueryBuilder<Status, Status, QAfterFilterCondition> locZipBetween(
|
||||||
String? lower,
|
String lower,
|
||||||
String? upper, {
|
String upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
bool includeUpper = true,
|
bool includeUpper = true,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
@@ -636,24 +560,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> sidIsNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'sid',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> sidIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'sid',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> sidEqualTo(
|
QueryBuilder<Status, Status, QAfterFilterCondition> sidEqualTo(
|
||||||
String? value, {
|
String value, {
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -666,7 +574,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> sidGreaterThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> sidGreaterThan(
|
||||||
String? value, {
|
String value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -681,7 +589,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> sidLessThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> sidLessThan(
|
||||||
String? value, {
|
String value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -696,8 +604,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> sidBetween(
|
QueryBuilder<Status, Status, QAfterFilterCondition> sidBetween(
|
||||||
String? lower,
|
String lower,
|
||||||
String? upper, {
|
String upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
bool includeUpper = true,
|
bool includeUpper = true,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
@@ -780,23 +688,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdIsNull() {
|
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdEqualTo(int value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'usrId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'usrId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdEqualTo(int? value) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'usrId',
|
property: r'usrId',
|
||||||
@@ -806,7 +698,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdGreaterThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdGreaterThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -819,7 +711,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdLessThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdLessThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -832,8 +724,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdBetween(
|
QueryBuilder<Status, Status, QAfterFilterCondition> usrIdBetween(
|
||||||
int? lower,
|
int lower,
|
||||||
int? upper, {
|
int upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
bool includeUpper = true,
|
bool includeUpper = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -848,23 +740,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdIsNull() {
|
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdEqualTo(int value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'vhtId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'vhtId',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdEqualTo(int? value) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'vhtId',
|
property: r'vhtId',
|
||||||
@@ -874,7 +750,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdGreaterThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdGreaterThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -887,7 +763,7 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdLessThan(
|
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdLessThan(
|
||||||
int? value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -900,8 +776,8 @@ extension StatusQueryFilter on QueryBuilder<Status, Status, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdBetween(
|
QueryBuilder<Status, Status, QAfterFilterCondition> vhtIdBetween(
|
||||||
int? lower,
|
int lower,
|
||||||
int? upper, {
|
int upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
bool includeUpper = true,
|
bool includeUpper = true,
|
||||||
}) {
|
}) {
|
||||||
@@ -1158,43 +1034,43 @@ extension StatusQueryProperty on QueryBuilder<Status, Status, QQueryProperty> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, int?, QQueryOperations> crIdProperty() {
|
QueryBuilder<Status, int, QQueryOperations> crIdProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'crId');
|
return query.addPropertyName(r'crId');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, int?, QQueryOperations> custIdProperty() {
|
QueryBuilder<Status, int, QQueryOperations> custIdProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'custId');
|
return query.addPropertyName(r'custId');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, int?, QQueryOperations> hqIdProperty() {
|
QueryBuilder<Status, int, QQueryOperations> hqIdProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'hqId');
|
return query.addPropertyName(r'hqId');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, String?, QQueryOperations> locZipProperty() {
|
QueryBuilder<Status, String, QQueryOperations> locZipProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'locZip');
|
return query.addPropertyName(r'locZip');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, String?, QQueryOperations> sidProperty() {
|
QueryBuilder<Status, String, QQueryOperations> sidProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'sid');
|
return query.addPropertyName(r'sid');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, int?, QQueryOperations> usrIdProperty() {
|
QueryBuilder<Status, int, QQueryOperations> usrIdProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'usrId');
|
return query.addPropertyName(r'usrId');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Status, int?, QQueryOperations> vhtIdProperty() {
|
QueryBuilder<Status, int, QQueryOperations> vhtIdProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'vhtId');
|
return query.addPropertyName(r'vhtId');
|
||||||
});
|
});
|
||||||
@@ -1205,15 +1081,14 @@ extension StatusQueryProperty on QueryBuilder<Status, Status, QQueryProperty> {
|
|||||||
// JsonSerializableGenerator
|
// JsonSerializableGenerator
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
Status _$StatusFromJson(Map<String, dynamic> json) => Status(
|
Status _$StatusFromJson(Map<String, dynamic> json) => Status()
|
||||||
hqId: json['hq_id'] as int?,
|
..custId = json['cust_id'] as int
|
||||||
usrId: json['usr_id'] as int?,
|
..hqId = json['hq_id'] as int
|
||||||
crId: json['cr_id'] as int?,
|
..usrId = json['usr_id'] as int
|
||||||
sid: json['sid'] as String?,
|
..crId = json['cr_id'] as int
|
||||||
vhtId: json['vht_id'] as int?,
|
..sid = json['sid'] as String
|
||||||
locZip: json['loc_zip'] as String?,
|
..vhtId = json['vht_id'] as int
|
||||||
custId: json['cust_id'] as int?,
|
..locZip = json['loc_zip'] as String;
|
||||||
);
|
|
||||||
|
|
||||||
Map<String, dynamic> _$StatusToJson(Status instance) => <String, dynamic>{
|
Map<String, dynamic> _$StatusToJson(Status instance) => <String, dynamic>{
|
||||||
'cust_id': instance.custId,
|
'cust_id': instance.custId,
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ class TaskInfo {
|
|||||||
|
|
||||||
late String? answer;
|
late String? answer;
|
||||||
|
|
||||||
|
late bool completed;
|
||||||
|
|
||||||
@ignore
|
@ignore
|
||||||
late TourTask task;
|
late TourTask task;
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,13 @@ const TaskInfoSchema = CollectionSchema(
|
|||||||
name: r'answer',
|
name: r'answer',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
),
|
),
|
||||||
r'sId': PropertySchema(
|
r'completed': PropertySchema(
|
||||||
id: 2,
|
id: 2,
|
||||||
|
name: r'completed',
|
||||||
|
type: IsarType.bool,
|
||||||
|
),
|
||||||
|
r'sId': PropertySchema(
|
||||||
|
id: 3,
|
||||||
name: r'sId',
|
name: r'sId',
|
||||||
type: IsarType.long,
|
type: IsarType.long,
|
||||||
)
|
)
|
||||||
@@ -76,7 +81,8 @@ void _taskInfoSerialize(
|
|||||||
) {
|
) {
|
||||||
writer.writeString(offsets[0], object.additionalText);
|
writer.writeString(offsets[0], object.additionalText);
|
||||||
writer.writeString(offsets[1], object.answer);
|
writer.writeString(offsets[1], object.answer);
|
||||||
writer.writeLong(offsets[2], object.sId);
|
writer.writeBool(offsets[2], object.completed);
|
||||||
|
writer.writeLong(offsets[3], object.sId);
|
||||||
}
|
}
|
||||||
|
|
||||||
TaskInfo _taskInfoDeserialize(
|
TaskInfo _taskInfoDeserialize(
|
||||||
@@ -88,8 +94,9 @@ TaskInfo _taskInfoDeserialize(
|
|||||||
final object = TaskInfo();
|
final object = TaskInfo();
|
||||||
object.additionalText = reader.readStringOrNull(offsets[0]);
|
object.additionalText = reader.readStringOrNull(offsets[0]);
|
||||||
object.answer = reader.readStringOrNull(offsets[1]);
|
object.answer = reader.readStringOrNull(offsets[1]);
|
||||||
|
object.completed = reader.readBool(offsets[2]);
|
||||||
object.id = id;
|
object.id = id;
|
||||||
object.sId = reader.readLong(offsets[2]);
|
object.sId = reader.readLong(offsets[3]);
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,6 +112,8 @@ P _taskInfoDeserializeProp<P>(
|
|||||||
case 1:
|
case 1:
|
||||||
return (reader.readStringOrNull(offset)) as P;
|
return (reader.readStringOrNull(offset)) as P;
|
||||||
case 2:
|
case 2:
|
||||||
|
return (reader.readBool(offset)) as P;
|
||||||
|
case 3:
|
||||||
return (reader.readLong(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
default:
|
default:
|
||||||
throw IsarError('Unknown property with id $propertyId');
|
throw IsarError('Unknown property with id $propertyId');
|
||||||
@@ -499,6 +508,16 @@ extension TaskInfoQueryFilter
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<TaskInfo, TaskInfo, QAfterFilterCondition> completedEqualTo(
|
||||||
|
bool value) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
|
property: r'completed',
|
||||||
|
value: value,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<TaskInfo, TaskInfo, QAfterFilterCondition> idEqualTo(Id value) {
|
QueryBuilder<TaskInfo, TaskInfo, QAfterFilterCondition> idEqualTo(Id value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
@@ -636,6 +655,18 @@ extension TaskInfoQuerySortBy on QueryBuilder<TaskInfo, TaskInfo, QSortBy> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<TaskInfo, TaskInfo, QAfterSortBy> sortByCompleted() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'completed', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<TaskInfo, TaskInfo, QAfterSortBy> sortByCompletedDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'completed', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<TaskInfo, TaskInfo, QAfterSortBy> sortBySId() {
|
QueryBuilder<TaskInfo, TaskInfo, QAfterSortBy> sortBySId() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addSortBy(r'sId', Sort.asc);
|
return query.addSortBy(r'sId', Sort.asc);
|
||||||
@@ -675,6 +706,18 @@ extension TaskInfoQuerySortThenBy
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<TaskInfo, TaskInfo, QAfterSortBy> thenByCompleted() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'completed', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<TaskInfo, TaskInfo, QAfterSortBy> thenByCompletedDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'completed', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<TaskInfo, TaskInfo, QAfterSortBy> thenById() {
|
QueryBuilder<TaskInfo, TaskInfo, 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);
|
||||||
@@ -717,6 +760,12 @@ extension TaskInfoQueryWhereDistinct
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<TaskInfo, TaskInfo, QDistinct> distinctByCompleted() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addDistinctBy(r'completed');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<TaskInfo, TaskInfo, QDistinct> distinctBySId() {
|
QueryBuilder<TaskInfo, TaskInfo, QDistinct> distinctBySId() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addDistinctBy(r'sId');
|
return query.addDistinctBy(r'sId');
|
||||||
@@ -744,6 +793,12 @@ extension TaskInfoQueryProperty
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<TaskInfo, bool, QQueryOperations> completedProperty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addPropertyName(r'completed');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<TaskInfo, int, QQueryOperations> sIdProperty() {
|
QueryBuilder<TaskInfo, int, QQueryOperations> sIdProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'sId');
|
return query.addPropertyName(r'sId');
|
||||||
|
|||||||
@@ -138,8 +138,8 @@ TourTask _tourTaskDeserialize(
|
|||||||
object.max = reader.readLongOrNull(offsets[0]);
|
object.max = reader.readLongOrNull(offsets[0]);
|
||||||
object.maxLen = reader.readLongOrNull(offsets[1]);
|
object.maxLen = reader.readLongOrNull(offsets[1]);
|
||||||
object.min = reader.readLongOrNull(offsets[2]);
|
object.min = reader.readLongOrNull(offsets[2]);
|
||||||
object.opt = reader.readBoolOrNull(offsets[3]);
|
object.opt = reader.readBool(offsets[3]);
|
||||||
object.reenter = reader.readBoolOrNull(offsets[4]);
|
object.reenter = reader.readBool(offsets[4]);
|
||||||
object.rt = reader.readBoolOrNull(offsets[5]);
|
object.rt = reader.readBoolOrNull(offsets[5]);
|
||||||
object.sId = reader.readLong(offsets[6]);
|
object.sId = reader.readLong(offsets[6]);
|
||||||
object.taskArrival = reader.readLongOrNull(offsets[7]);
|
object.taskArrival = reader.readLongOrNull(offsets[7]);
|
||||||
@@ -165,9 +165,9 @@ P _tourTaskDeserializeProp<P>(
|
|||||||
case 2:
|
case 2:
|
||||||
return (reader.readLongOrNull(offset)) as P;
|
return (reader.readLongOrNull(offset)) as P;
|
||||||
case 3:
|
case 3:
|
||||||
return (reader.readBoolOrNull(offset)) as P;
|
return (reader.readBool(offset)) as P;
|
||||||
case 4:
|
case 4:
|
||||||
return (reader.readBoolOrNull(offset)) as P;
|
return (reader.readBool(offset)) as P;
|
||||||
case 5:
|
case 5:
|
||||||
return (reader.readBoolOrNull(offset)) as P;
|
return (reader.readBoolOrNull(offset)) as P;
|
||||||
case 6:
|
case 6:
|
||||||
@@ -398,24 +398,8 @@ extension TourTaskQueryFilter
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> optIsNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'opt',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> optIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'opt',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> optEqualTo(
|
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> optEqualTo(
|
||||||
bool? value) {
|
bool value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'opt',
|
property: r'opt',
|
||||||
@@ -424,24 +408,8 @@ extension TourTaskQueryFilter
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> reenterIsNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNull(
|
|
||||||
property: r'reenter',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> reenterIsNotNull() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(const FilterCondition.isNotNull(
|
|
||||||
property: r'reenter',
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> reenterEqualTo(
|
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> reenterEqualTo(
|
||||||
bool? value) {
|
bool value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'reenter',
|
property: r'reenter',
|
||||||
@@ -1123,8 +1091,8 @@ TourTask _$TourTaskFromJson(Map<String, dynamic> json) => TourTask()
|
|||||||
..sId = json['s_id'] as int
|
..sId = json['s_id'] as int
|
||||||
..type = json['type'] as int
|
..type = json['type'] as int
|
||||||
..topic = json['topic'] as String
|
..topic = json['topic'] as String
|
||||||
..opt = json['opt'] as bool?
|
..opt = json['opt'] as bool
|
||||||
..reenter = json['reenter'] as bool?
|
..reenter = json['reenter'] as bool
|
||||||
..min = json['min'] as int?
|
..min = json['min'] as int?
|
||||||
..max = json['max'] as int?
|
..max = json['max'] as int?
|
||||||
..maxLen = json['max_len'] as int?
|
..maxLen = json['max_len'] as int?
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:stadtbote/tools/constants.dart';
|
||||||
|
|
||||||
class ColoredSafeArea extends StatelessWidget {
|
class ColoredSafeArea extends StatelessWidget {
|
||||||
final Widget child;
|
final Widget child;
|
||||||
@@ -9,7 +10,7 @@ class ColoredSafeArea extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
color: Theme.of(context).colorScheme.primaryContainer,
|
color: Constants.colorPrimary,
|
||||||
child: SafeArea(
|
child: SafeArea(
|
||||||
child: child,
|
child: child,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
|
|
||||||
class Constants {
|
class Constants {
|
||||||
static const Color colorPrimary = Color(0xff0095DB);
|
static const Color colorPrimary = Color(0xFFE00029);
|
||||||
|
static const Color colorPrimaryOpaque = Color(0x33E00029);
|
||||||
|
|
||||||
static const String messageTopicConnectionStatusChanged = "connection_status_changed";
|
static const String messageTopicConnectionStatusChanged = "connection_status_changed";
|
||||||
|
static const String messageTopicSessionInfoUpdate = "status_info_updated";
|
||||||
|
static const String messageTopicStatusInfoUpdate = "session_info_updated";
|
||||||
static const String messageTopicPushContentView = "push_content_view";
|
static const String messageTopicPushContentView = "push_content_view";
|
||||||
static const String messageTopicPopContentView = "pop_content_view";
|
static const String messageTopicPopContentView = "pop_content_view";
|
||||||
static const String messageTopicReplaceContentView = "replace_content_view";
|
static const String messageTopicReplaceContentView = "replace_content_view";
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
import 'dart:typed_data' as typed;
|
||||||
|
|
||||||
import 'package:flutter_broadcast_receiver/flutter_broadcast_receiver.dart';
|
import 'package:flutter_broadcast_receiver/flutter_broadcast_receiver.dart';
|
||||||
import 'package:mqtt_client/mqtt_client.dart';
|
import 'package:mqtt_client/mqtt_client.dart';
|
||||||
@@ -9,9 +10,12 @@ import 'package:stadtbote/model/bootstrap_request.dart';
|
|||||||
import 'package:stadtbote/model/bootstrap_response_payload.dart';
|
import 'package:stadtbote/model/bootstrap_response_payload.dart';
|
||||||
import 'package:stadtbote/model/device_object.dart';
|
import 'package:stadtbote/model/device_object.dart';
|
||||||
import 'package:stadtbote/model/job.dart';
|
import 'package:stadtbote/model/job.dart';
|
||||||
|
import 'package:stadtbote/model/start_session_message.dart';
|
||||||
import 'package:stadtbote/tools/connection_status.dart';
|
import 'package:stadtbote/tools/connection_status.dart';
|
||||||
|
import 'package:stadtbote/tools/session_info_update.dart';
|
||||||
import 'package:typed_data/typed_buffers.dart';
|
import 'package:typed_data/typed_buffers.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import '../model/status.dart';
|
import '../model/status.dart';
|
||||||
@@ -64,6 +68,8 @@ class MqttCore {
|
|||||||
_reconnectDelay = 0;
|
_reconnectDelay = 0;
|
||||||
|
|
||||||
_setupSubscriptions();
|
_setupSubscriptions();
|
||||||
|
|
||||||
|
_initSession();
|
||||||
} else {
|
} else {
|
||||||
Util.logInfo('Verbindung zum MQTT-Broker fehlgeschlagen!');
|
Util.logInfo('Verbindung zum MQTT-Broker fehlgeschlagen!');
|
||||||
|
|
||||||
@@ -146,6 +152,8 @@ class MqttCore {
|
|||||||
await MyApp.isarInstance.writeTxn(() async {
|
await MyApp.isarInstance.writeTxn(() async {
|
||||||
await MyApp.isarInstance.status.put(statusMessage);
|
await MyApp.isarInstance.status.put(statusMessage);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
BroadcastReceiver().publish<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, arguments: StatusInfoUpdate(status: statusMessage));
|
||||||
}
|
}
|
||||||
|
|
||||||
void _jobMessageReceived(payloadData) async {
|
void _jobMessageReceived(payloadData) async {
|
||||||
@@ -211,4 +219,64 @@ class MqttCore {
|
|||||||
_startReconnectTimer();
|
_startReconnectTimer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_initSession() {
|
||||||
|
var playload = Payload();
|
||||||
|
playload.startSession = "true";
|
||||||
|
|
||||||
|
var startSessionMessage = StartSessionMessage();
|
||||||
|
startSessionMessage.recv = "server";
|
||||||
|
startSessionMessage.store = true;
|
||||||
|
startSessionMessage.messageId = const Uuid().v4();;
|
||||||
|
startSessionMessage.payload = playload;
|
||||||
|
|
||||||
|
var jsonMap = startSessionMessage.toJson();
|
||||||
|
var json = jsonEncode(jsonMap);
|
||||||
|
Util.logInfo("json: $json");
|
||||||
|
|
||||||
|
final builder = MqttClientPayloadBuilder();
|
||||||
|
builder.addString(json);
|
||||||
|
var payload = builder.payload;
|
||||||
|
|
||||||
|
var topic = "$_toServerTopic/init";
|
||||||
|
Util.logInfo("topic: $topic");
|
||||||
|
|
||||||
|
var messageId = _mqttClient.publishMessage(topic, MqttQos.exactlyOnce, payload!);
|
||||||
|
Util.logInfo("messageId: $messageId");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
private async void StartSession()
|
||||||
|
{
|
||||||
|
App.Logger.Debug("StartSession called");
|
||||||
|
|
||||||
|
App.Logger.Debug("Setting state to start session");
|
||||||
|
_mqttState = MqttStateEnum.StartSession;
|
||||||
|
|
||||||
|
var startSession = new JObject
|
||||||
|
{
|
||||||
|
new JProperty("recv", "server"),
|
||||||
|
new JProperty("store", true),
|
||||||
|
new JProperty("id", Guid.NewGuid().ToString()),
|
||||||
|
new JProperty("payload", new JObject(
|
||||||
|
new JProperty("start_session", "true")))
|
||||||
|
};
|
||||||
|
|
||||||
|
var json = JsonConvert.SerializeObject(startSession);
|
||||||
|
|
||||||
|
var topic = _toServerTopic + "/init";
|
||||||
|
var message = new MqttApplicationMessage()
|
||||||
|
{
|
||||||
|
Topic = topic,
|
||||||
|
Payload = Encoding.UTF8.GetBytes(json),
|
||||||
|
QualityOfServiceLevel = MqttQualityOfServiceLevel.ExactlyOnce,
|
||||||
|
Retain = true,
|
||||||
|
MessageExpiryInterval = 3600,
|
||||||
|
};
|
||||||
|
await _mqttClient.PublishAsync(message);
|
||||||
|
App.Logger.Debug("StartSession message " + json + " published to " + topic);
|
||||||
|
|
||||||
|
SendEnqueuedMessages();
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
import 'package:stadtbote/model/status.dart';
|
||||||
|
|
||||||
|
class StatusInfoUpdate {
|
||||||
|
StatusInfoUpdate({required this.status});
|
||||||
|
|
||||||
|
final Status status;
|
||||||
|
}
|
||||||
+45
-45
@@ -69,10 +69,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build
|
name: build
|
||||||
sha256: "3fbda25365741f8251b39f3917fb3c8e286a96fd068a5a242e11c2012d495777"
|
sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.1"
|
version: "2.4.1"
|
||||||
build_config:
|
build_config:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -85,34 +85,34 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build_daemon
|
name: build_daemon
|
||||||
sha256: "757153e5d9cd88253cb13f28c2fb55a537dc31fefd98137549895b5beb7c6169"
|
sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "4.0.1"
|
||||||
build_resolvers:
|
build_resolvers:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build_resolvers
|
name: build_resolvers
|
||||||
sha256: "0713a05b0386bd97f9e63e78108805a4feca5898a4b821d6610857f10c91e975"
|
sha256: "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.0"
|
version: "2.4.1"
|
||||||
build_runner:
|
build_runner:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: build_runner
|
name: build_runner
|
||||||
sha256: b0a8a7b8a76c493e85f1b84bffa0588859a06197863dba8c9036b15581fd9727
|
sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.3"
|
version: "2.4.6"
|
||||||
build_runner_core:
|
build_runner_core:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build_runner_core
|
name: build_runner_core
|
||||||
sha256: "0671ad4162ed510b70d0eb4ad6354c249f8429cab4ae7a4cec86bbc2886eb76e"
|
sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.2.7+1"
|
version: "7.2.11"
|
||||||
built_collection:
|
built_collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -285,26 +285,26 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: ffi
|
name: ffi
|
||||||
sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99
|
sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.1.0"
|
||||||
file:
|
file:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: file
|
name: file
|
||||||
sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
|
sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.1.4"
|
version: "7.0.0"
|
||||||
file_picker:
|
file_picker:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: file_picker
|
name: file_picker
|
||||||
sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf"
|
sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.3.1"
|
version: "5.5.0"
|
||||||
file_selector_linux:
|
file_selector_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -418,10 +418,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_osm_interface
|
name: flutter_osm_interface
|
||||||
sha256: "68a4c0280413a0491b9ed7bc8f035ffa954579fc277d8daf4c12bbc395110fcc"
|
sha256: "9d1c747635ce8a58ceb623825f0fe4d469272645458ce839d466f9d03dff2729"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.3.5"
|
version: "0.7.0"
|
||||||
flutter_osm_plugin:
|
flutter_osm_plugin:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -458,10 +458,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_svg
|
name: flutter_svg
|
||||||
sha256: f991fdb1533c3caeee0cdc14b04f50f0c3916f0dbcbc05237ccbe4e3c6b93f3f
|
sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.5"
|
version: "2.0.9"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -652,10 +652,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: js
|
name: js
|
||||||
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
|
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.5"
|
version: "0.6.7"
|
||||||
json_annotation:
|
json_annotation:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -668,10 +668,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: json_serializable
|
name: json_serializable
|
||||||
sha256: "43793352f90efa5d8b251893a63d767b2f7c833120e3cc02adad55eefec04dc7"
|
sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.6.2"
|
version: "6.7.1"
|
||||||
kumi_popup_window:
|
kumi_popup_window:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -700,10 +700,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593"
|
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "2.1.1"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -724,10 +724,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lottie
|
name: lottie
|
||||||
sha256: "23522951540d20a57a60202ed7022e6376bed206a4eee1c347a91f58bd57eb9f"
|
sha256: a93542cc2d60a7057255405f62252533f8e8956e7e06754955669fd32fb4b216
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.2"
|
version: "2.7.0"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -900,10 +900,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4"
|
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.1.0"
|
version: "5.4.0"
|
||||||
photo_view:
|
photo_view:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1081,10 +1081,10 @@ packages:
|
|||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: source_gen
|
name: source_gen
|
||||||
sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33"
|
sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.2"
|
version: "1.4.0"
|
||||||
source_helper:
|
source_helper:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1182,7 +1182,7 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.0.2"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: "direct main"
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: typed_data
|
name: typed_data
|
||||||
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
||||||
@@ -1273,26 +1273,26 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics
|
name: vector_graphics
|
||||||
sha256: ea8d3fc7b2e0f35de38a7465063ecfcf03d8217f7962aa2a6717132cb5d43a79
|
sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.5"
|
version: "1.1.9+1"
|
||||||
vector_graphics_codec:
|
vector_graphics_codec:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics_codec
|
name: vector_graphics_codec
|
||||||
sha256: a5eaa5d19e123ad4f61c3718ca1ed921c4e6254238d9145f82aa214955d9aced
|
sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.5"
|
version: "1.1.9+1"
|
||||||
vector_graphics_compiler:
|
vector_graphics_compiler:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics_compiler
|
name: vector_graphics_compiler
|
||||||
sha256: "15edc42f7eaa478ce854eaf1fbb9062a899c0e4e56e775dd73b7f4709c97c4ca"
|
sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.5"
|
version: "1.1.9+1"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1313,10 +1313,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: watcher
|
name: watcher
|
||||||
sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
|
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.2"
|
version: "1.1.0"
|
||||||
web:
|
web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1337,10 +1337,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: win32
|
name: win32
|
||||||
sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c"
|
sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.4"
|
version: "5.1.0"
|
||||||
wkt_parser:
|
wkt_parser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1361,10 +1361,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xml
|
name: xml
|
||||||
sha256: "979ee37d622dec6365e2efa4d906c37470995871fe9ae080d967e192d88286b5"
|
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.2"
|
version: "6.3.0"
|
||||||
xxh3:
|
xxh3:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ dependencies:
|
|||||||
json_serializable: ^6.6.2
|
json_serializable: ^6.6.2
|
||||||
json_annotation: ^4.8.1
|
json_annotation: ^4.8.1
|
||||||
shared_preferences: ^2.1.1
|
shared_preferences: ^2.1.1
|
||||||
typed_data: ^1.3.2
|
|
||||||
flutter_broadcast_receiver: ^1.0.0+2
|
flutter_broadcast_receiver: ^1.0.0+2
|
||||||
intl: ^0.18.0
|
intl: ^0.18.0
|
||||||
another_stepper: ^1.2.2
|
another_stepper: ^1.2.2
|
||||||
|
|||||||
Reference in new issue
Block a user