Refactoring

This commit is contained in:
Sven committed 2024-05-06 09:26:13 +02:00
1 parent 91d50fe58c
commit e0bd8792d1
2 files changed
+28 -12

No files matched your search

+25 -12
View File
@@ -1,9 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stadtbote/main.dart'; import 'package:stadtbote/main.dart';
import 'package:stadtbote/model/session_status.dart'; import 'package:stadtbote/model/session_status.dart';
import 'package:stadtbote/tools/connection_status.dart';
import 'package:stadtbote/tools/constants.dart'; import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/message_service.dart'; import 'package:stadtbote/tools/message_service.dart';
import 'package:stadtbote/tools/mqtt_core.dart'; import 'package:stadtbote/tools/messages/current_connection_status_message.dart';
import 'package:stadtbote/tools/messages/request_connection_status_message.dart';
import 'package:stadtbote/tools/util.dart'; import 'package:stadtbote/tools/util.dart';
void showInfosPopup(BuildContext context, SessionStatus? status) async { void showInfosPopup(BuildContext context, SessionStatus? status) async {
@@ -12,7 +14,8 @@ void showInfosPopup(BuildContext context, SessionStatus? status) async {
late String connectedString = "Bitte warten..."; late String connectedString = "Bitte warten...";
Future.delayed(const Duration(seconds: 2), () async { Future.delayed(const Duration(seconds: 2), () async {
MessageService().publish<RequestConnectionStatusMessage>(Constants.messageTopicRequestConnectionStatus, arguments: RequestConnectionStatusMessage()); MessageService()
.publish<RequestConnectionStatusMessage>(Constants.messageTopicRequestConnectionStatus, arguments: RequestConnectionStatusMessage());
}); });
void unsubscribeMessages() { void unsubscribeMessages() {
@@ -52,14 +55,20 @@ void showInfosPopup(BuildContext context, SessionStatus? status) async {
text += "Keine Informationen gefunden"; text += "Keine Informationen gefunden";
} }
await showDialog( MessageService().subscribe<CurrentConnectionStatusMessage>(Constants.messageTopicCurrentConnectionStatus, version,
context: context, (CurrentConnectionStatusMessage currentConnectionStatusMessage) async {
builder: (BuildContext context) { connectedString = currentConnectionStatusMessage.state ? "Verbunden" : "NICHT verbunden";
return AlertDialog(
contentPadding: EdgeInsets.zero, if (context.mounted) setState(() {});
shadowColor: Colors.transparent, });
backgroundColor: Colors.white,
content: StatefulBuilder(builder: (BuildContext context, StateSetter setState) { MessageService().subscribe<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, version,
(ConnectionStatus connectionStatus) async {
connectedString = connectionStatus.status == ConnectionStatusEnum.connected ? "Verbunden" : "NICHT verbunden";
if (context.mounted) setState(() {});
});
return SizedBox( return SizedBox(
key: GlobalKey(), key: GlobalKey(),
height: 350, height: 350,
@@ -81,12 +90,16 @@ void showInfosPopup(BuildContext context, SessionStatus? status) async {
Expanded(child: Text(text, textAlign: TextAlign.left)), Expanded(child: Text(text, textAlign: TextAlign.left)),
getDefaultButton( getDefaultButton(
'OK', 'OK',
() => {Navigator.pop(context)}, () {
unsubscribeMessages();
Navigator.pop(context);
},
), ),
], ],
), ),
), ),
)); ));
})); })));
}); });
} }
@@ -0,0 +1,3 @@
class RequestConnectionStatusMessage {
RequestConnectionStatusMessage();
}