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/job.dart';
|
||||||
import 'package:stadtbote/model/status.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 '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 'package:badges/badges.dart' as badges;
|
||||||
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
@@ -85,7 +86,7 @@ class _MainPageState extends State<MainPage> {
|
|||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
|
||||||
_initBadges();
|
_refreshBadges();
|
||||||
|
|
||||||
_initMessages();
|
_initMessages();
|
||||||
}
|
}
|
||||||
@@ -241,13 +242,25 @@ class _MainPageState extends State<MainPage> {
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
_initMessages() {
|
_initMessages() {
|
||||||
BroadcastReceiver().subscribe<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, (statusInfoUpdate) {
|
BroadcastReceiver().subscribe<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, (statusInfoUpdateMessage) {
|
||||||
widget._sidValueNotifier.value = statusInfoUpdate.status.sid;
|
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();
|
_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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 messageTopicConnectionStatusChanged = "connection_status_changed";
|
||||||
static const String messageTopicSessionInfoUpdate = "status_info_updated";
|
static const String messageTopicSessionInfoUpdate = "status_info_updated";
|
||||||
static const String messageTopicStatusInfoUpdate = "session_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 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";
|
||||||
|
|||||||
@@ -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/job.dart';
|
||||||
import 'package:stadtbote/model/start_session_message.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: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: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 'package:uuid/uuid.dart';
|
||||||
@@ -160,11 +161,13 @@ class MqttCore {
|
|||||||
|
|
||||||
void _jobMessageReceived(payloadData) async {
|
void _jobMessageReceived(payloadData) async {
|
||||||
for (var foundJobData in payloadData) {
|
for (var foundJobData in payloadData) {
|
||||||
var newJob = Job.fromJson(foundJobData);
|
Job newJob = Job.fromJson(foundJobData);
|
||||||
|
|
||||||
await MyApp.isarInstance.writeTxn(() async {
|
await MyApp.isarInstance.writeTxn(() async {
|
||||||
await MyApp.isarInstance.jobs.put(newJob);
|
await MyApp.isarInstance.jobs.put(newJob);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
BroadcastReceiver().publish<JobReceivedMessage>(Constants.messageTopicJobReceived, arguments: JobReceivedMessage(job: newJob));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user