back button clears selection: room list and chat

When a room or event is selected and the Android back button is pressed,
don't pop but clear the current selection. Fixes #399.
This commit is contained in:
Steef Hegeman 2021-05-26 20:28:08 +02:00
parent bb5e0f8fb3
commit 24b632fc90
2 changed files with 20 additions and 4 deletions

View File

@ -26,7 +26,15 @@ class ChatListView extends StatelessWidget {
: controller.selectedRoomIds.isEmpty
? SelectMode.normal
: SelectMode.select;
return Scaffold(
return VWidgetGuard(
onSystemPop: (redirector) async {
if (controller.selectedRoomIds.isNotEmpty) {
controller.cancelAction();
redirector.stopRedirection();
}
},
child:
Scaffold(
appBar: AppBar(
elevation: MediaQuery.of(context).size.width >
FluffyThemes.columnWidth * 2
@ -231,7 +239,7 @@ class ChatListView extends StatelessWidget {
child: Icon(CupertinoIcons.chat_bubble),
)
: null,
);
));
});
}
}

View File

@ -54,7 +54,15 @@ class ChatView extends StatelessWidget {
context: context, future: () => controller.room.join());
}
return Scaffold(
return VWidgetGuard(
onSystemPop: (redirector) async {
if (controller.selectedEvents.isNotEmpty) {
controller.clearSelectedEvents();
redirector.stopRedirection();
}
},
child:
Scaffold(
appBar: AppBar(
leading: controller.selectMode
? IconButton(
@ -694,7 +702,7 @@ class ChatView extends StatelessWidget {
),
],
),
);
));
}
}