Erweiterungen
This commit is contained in:
1 parent
3d42853f96
commit
550c11cb58
5 files changed
+31
-7
No files matched your search
@@ -11,7 +11,8 @@ import 'package:stadtbote/content_views/utils/header_info.dart';
|
||||
import 'package:stadtbote/model/job.dart';
|
||||
import 'package:stadtbote/model/status.dart';
|
||||
import 'package:stadtbote/popups/infos_popup.dart';
|
||||
import 'package:stadtbote/tools/session_info_update.dart';
|
||||
import 'package:stadtbote/tools/messages/job_received_message.dart';
|
||||
import 'package:stadtbote/tools/messages/session_info_update.dart';
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
|
||||
import '../main.dart';
|
||||
@@ -85,7 +86,7 @@ class _MainPageState extends State<MainPage> {
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
_initBadges();
|
||||
_refreshBadges();
|
||||
|
||||
_initMessages();
|
||||
}
|
||||
@@ -241,13 +242,25 @@ class _MainPageState extends State<MainPage> {
|
||||
}*/
|
||||
|
||||
_initMessages() {
|
||||
BroadcastReceiver().subscribe<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, (statusInfoUpdate) {
|
||||
widget._sidValueNotifier.value = statusInfoUpdate.status.sid;
|
||||
BroadcastReceiver().subscribe<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, (statusInfoUpdateMessage) {
|
||||
widget._sidValueNotifier.value = statusInfoUpdateMessage.status.sid;
|
||||
});
|
||||
|
||||
BroadcastReceiver().subscribe<JobReceivedMessage>(Constants.messageTopicJobReceived, (JobReceivedMessage jobReceivedMessage) {
|
||||
_jobReceived(jobReceivedMessage.job);
|
||||
});
|
||||
}
|
||||
|
||||
void _initBadges() async {
|
||||
void _refreshBadges() async {
|
||||
_assignedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(0).count();
|
||||
_acceptedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(1).count();
|
||||
}
|
||||
|
||||
void _jobReceived(Job job) {
|
||||
_refreshBadges();
|
||||
|
||||
if (job.state == 0) {
|
||||
Util.logInfo("test");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ class Constants {
|
||||
static const String messageTopicConnectionStatusChanged = "connection_status_changed";
|
||||
static const String messageTopicSessionInfoUpdate = "status_info_updated";
|
||||
static const String messageTopicStatusInfoUpdate = "session_info_updated";
|
||||
static const String messageTopicJobReceived = "job_received";
|
||||
static const String messageTopicPushContentView = "push_content_view";
|
||||
static const String messageTopicPopContentView = "pop_content_view";
|
||||
static const String messageTopicReplaceContentView = "replace_content_view";
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
import 'package:stadtbote/model/job.dart';
|
||||
|
||||
class JobReceivedMessage {
|
||||
final Job job;
|
||||
|
||||
JobReceivedMessage({required this.job});
|
||||
}
|
||||
File renamed without changes.
@@ -11,7 +11,8 @@ import 'package:stadtbote/model/device_object.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/session_info_update.dart';
|
||||
import 'package:stadtbote/tools/messages/job_received_message.dart';
|
||||
import 'package:stadtbote/tools/messages/session_info_update.dart';
|
||||
import 'package:typed_data/typed_buffers.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:uuid/uuid.dart';
|
||||
@@ -160,11 +161,13 @@ class MqttCore {
|
||||
|
||||
void _jobMessageReceived(payloadData) async {
|
||||
for (var foundJobData in payloadData) {
|
||||
var newJob = Job.fromJson(foundJobData);
|
||||
Job newJob = Job.fromJson(foundJobData);
|
||||
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.jobs.put(newJob);
|
||||
});
|
||||
|
||||
BroadcastReceiver().publish<JobReceivedMessage>(Constants.messageTopicJobReceived, arguments: JobReceivedMessage(job: newJob));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user