diff --git a/lib/rooms.dart b/lib/rooms.dart index f4dbacb..4ad28e1 100644 --- a/lib/rooms.dart +++ b/lib/rooms.dart @@ -28,6 +28,22 @@ class _RoomsPageState extends State { context, MaterialPageRoute(builder: (context) => RoomPage(room: room))); } + void fixNames(Client client) async { + final rooms = client.rooms + .where((element) => + element.getLocalizedDisplayname().contains("Group with")) + .toList(); + for (final room in rooms) { + print("Setting power level to 100..."); + final result = await room.setPower(client.userID!, 100); + print("Result=$result"); + print("Fixing ${room.getLocalizedDisplayname()}..."); + await room.setName( + room.getLocalizedDisplayname().replaceAll(RegExp("Group with"), "")); + } + print("Fixed all."); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -81,12 +97,21 @@ class _RoomsPageState extends State { padding: const EdgeInsets.all(8.0), child: Center(child: Consumer( builder: (context, provider, child) { + print(provider.client.rooms + .where((element) => + element.getLocalizedDisplayname().contains("Group with")) + .length); + provider.client.onRoomState.stream.listen((event) { setState(() { loadingRooms = false; }); }); + return ElevatedButton( + onPressed: () => fixNames(provider.client), + child: const Text("Fix names")); + if (provider.client.rooms.isEmpty) return const CircularProgressIndicator(); else