瀏覽代碼

[auth] Potential fix for keyboard popup not working while focusing on… (#1428)

… search

## Description

## Tests
Neeraj Gupta 1 年之前
父節點
當前提交
555a960def
共有 1 個文件被更改,包括 13 次插入0 次删除
  1. 13 0
      auth/lib/ui/home_page.dart

+ 13 - 0
auth/lib/ui/home_page.dart

@@ -51,6 +51,7 @@ class _HomePageState extends State<HomePage> {
   final scaffoldKey = GlobalKey<ScaffoldState>();
 
   final TextEditingController _textController = TextEditingController();
+  final FocusNode searchInputFocusNode = FocusNode();
   bool _showSearchBox = false;
   String _searchText = "";
   List<Code> _codes = [];
@@ -80,6 +81,17 @@ class _HomePageState extends State<HomePage> {
       setState(() {});
     });
     _showSearchBox = PreferenceService.instance.shouldAutoFocusOnSearchBar();
+    if (_showSearchBox) {
+      WidgetsBinding.instance.addPostFrameCallback(
+        (_) {
+          // https://github.com/flutter/flutter/issues/20706#issuecomment-646328652
+          FocusScope.of(context).unfocus();
+          Timer(const Duration(milliseconds: 1), () {
+            FocusScope.of(context).requestFocus(searchInputFocusNode);
+          });
+        },
+      );
+    }
   }
 
   void _loadCodes() {
@@ -192,6 +204,7 @@ class _HomePageState extends State<HomePage> {
           title: !_showSearchBox
               ? const Text('Ente Auth')
               : TextField(
+                  focusNode: searchInputFocusNode,
                   autofocus: _searchText.isEmpty,
                   controller: _textController,
                   onChanged: (val) {