From 925383ae58877d09bc886c37ce85c878a98cd29f Mon Sep 17 00:00:00 2001 From: amit Date: Wed, 8 Aug 2018 13:55:24 +0530 Subject: [PATCH] search is enabled as soon as search screen is displayed --- lib/widgets/search/search_page.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/widgets/search/search_page.dart b/lib/widgets/search/search_page.dart index e1bd636..c298bee 100644 --- a/lib/widgets/search/search_page.dart +++ b/lib/widgets/search/search_page.dart @@ -5,6 +5,7 @@ import 'package:movies_flutter/util/api_client.dart'; import 'package:movies_flutter/util/utils.dart'; import 'package:movies_flutter/widgets/search/search_item.dart'; import 'package:rxdart/rxdart.dart'; +import 'dart:async'; class SearchScreen extends StatefulWidget { @override @@ -18,6 +19,7 @@ class _SearchPageState extends State { LoadingState _currentState = LoadingState.WAITING; PublishSubject querySubject = PublishSubject(); TextEditingController textController = TextEditingController(); + Timer _timer; _SearchPageState() { searchBar = SearchBar( @@ -26,6 +28,16 @@ class _SearchPageState extends State { setState: setState, buildDefaultAppBar: _buildAppBar, onSubmitted: querySubject.add); + + + //we can't call setState immediately (Don't know why, maybe widget is not yet built) + //but even if I try running this after 1 ms, it works + _timer = new Timer(const Duration(milliseconds: 50), () { + setState(() { + searchBar.beginSearch(context); + }); + }); + } @override @@ -43,6 +55,7 @@ class _SearchPageState extends State { .switchMap((query) => Observable.fromFuture(_apiClient.getSearchResults(query))) .listen(_setResults); + } void _setResults(List results) {