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) {