diff --git a/app/lib/groups/group_join/widgets/group_join_text_field.dart b/app/lib/groups/group_join/widgets/group_join_text_field.dart index 42db381a6..5e951ed32 100644 --- a/app/lib/groups/group_join/widgets/group_join_text_field.dart +++ b/app/lib/groups/group_join/widgets/group_join_text_field.dart @@ -37,7 +37,7 @@ class _GroupJoinTextFieldState extends State { void initState() { super.initState(); if (!PlatformCheck.isWeb) { - copySharecodeFromClipboardOrOpenKeyboard(); + copySharecodeFromClipboardOrOpenKeyboard(sharecodeFieldFocusNode); } } @@ -129,22 +129,23 @@ class _GroupJoinTextFieldState extends State { ); } - void copySharecodeFromClipboardOrOpenKeyboard() { + void copySharecodeFromClipboardOrOpenKeyboard(FocusNode focusNode) { final bloc = BlocProvider.of(context); bloc.getSharecodeFromClipboard().then((sharecode) { if (sharecode == null) { - _openKeyboardForSharecodeField(); + _openKeyboardForSharecodeField(focusNode); } else { - showCopySharecodeFromClipboardDialog(sharecode); + showCopySharecodeFromClipboardDialog(sharecode, focusNode); } }); } - void _openKeyboardForSharecodeField() { - FocusManager.instance.primaryFocus?.unfocus(); + void _openKeyboardForSharecodeField(FocusNode focusNode) { + FocusManager.instance.primaryFocus?.requestFocus(focusNode); } - Future showCopySharecodeFromClipboardDialog(Sharecode sharecode) async { + Future showCopySharecodeFromClipboardDialog( + Sharecode sharecode, FocusNode focusNode) async { final bloc = BlocProvider.of(context); final result = await showLeftRightAdaptiveDialog( @@ -174,7 +175,7 @@ class _GroupJoinTextFieldState extends State { final groupJoinResultDialog = GroupJoinResultDialog(bloc); groupJoinResultDialog.show(context); } else { - _openKeyboardForSharecodeField(); + _openKeyboardForSharecodeField(focusNode); } }