Refactoring

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

No files matched your search

+50 -37
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,41 +55,51 @@ 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,
return SizedBox( (ConnectionStatus connectionStatus) async {
key: GlobalKey(), connectedString = connectionStatus.status == ConnectionStatusEnum.connected ? "Verbunden" : "NICHT verbunden";
height: 350,
width: MediaQuery.of(context).size.width * 0.8, if (context.mounted) setState(() {});
child: Container( });
height: 100,
decoration: BoxDecoration( return SizedBox(
borderRadius: BorderRadius.circular(10), key: GlobalKey(),
color: Colors.white, height: 350,
border: Border.all( width: MediaQuery.of(context).size.width * 0.8,
color: Colors.grey, child: Container(
width: 1, height: 100,
), decoration: BoxDecoration(
), borderRadius: BorderRadius.circular(10),
child: Padding( color: Colors.white,
padding: const EdgeInsets.all(12.0), border: Border.all(
child: Column( color: Colors.grey,
children: [ width: 1,
Expanded(child: Text(text, textAlign: TextAlign.left)),
getDefaultButton(
'OK',
() => {Navigator.pop(context)},
), ),
], ),
), child: Padding(
), padding: const EdgeInsets.all(12.0),
)); child: Column(
})); children: [
Expanded(child: Text(text, textAlign: TextAlign.left)),
getDefaultButton(
'OK',
() {
unsubscribeMessages();
Navigator.pop(context);
},
),
],
),
),
));
})));
}); });
} }
@@ -0,0 +1,3 @@
class RequestConnectionStatusMessage {
RequestConnectionStatusMessage();
}