private async Task GetTags(bool clear, bool isLoaderNeeded = true) { CheckQueryIsEmpty(); if (clear) { if (_prevQuery.ContainsKey(_searchType) && string.Equals(_prevQuery[_searchType], _searchView.Text, StringComparison.OrdinalIgnoreCase)) { return; } if (_searchType == SearchType.People) { _searchFacade.UserFriendPresenter.Clear(); } else { _searchFacade.TagsPresenter.Clear(); } _scrollListner.ClearPosition(); if (_prevQuery.ContainsKey(_searchType)) { _prevQuery[_searchType] = _searchView.Text; } else { _prevQuery.Add(_searchType, _searchView.Text); } } if (isLoaderNeeded) { _emptyQueryLabel.Visibility = ViewStates.Invisible; if (_searchType == SearchType.People) { _peopleSpinner.Visibility = ViewStates.Visible; } else { _tagSpinner.Visibility = ViewStates.Visible; } } var error = await _searchFacade.TrySearchCategories(_searchView.Text, _searchType); if (!IsInitialized) { return; } CheckQueryIsEmpty(); Context.ShowAlert(error, ToastLength.Short); }
private async void Search(bool clear, bool isLoaderNeeded = true) { CheckQueryIsEmpty(); if (clear) { if (_prevQuery.ContainsKey(_searchType) && string.Equals(_prevQuery[_searchType], searchTextField.Text, StringComparison.OrdinalIgnoreCase)) { return; } if (_searchType == SearchType.People) { _searchFacade.UserFriendPresenter.Clear(); } else { _searchFacade.TagsPresenter.Clear(); } _userTableSource.ClearPosition(); if (_prevQuery.ContainsKey(_searchType)) { _prevQuery[_searchType] = searchTextField.Text; } else { _prevQuery.Add(_searchType, searchTextField.Text); } } if (isLoaderNeeded) { noTagsLabel.Hidden = true; activityIndicator.StartAnimating(); } var error = await _searchFacade.TrySearchCategories(searchTextField.Text, _searchType); CheckQueryIsEmpty(); ShowAlert(error); activityIndicator.StopAnimating(); }
private async Task <bool> Search(bool clear, bool shouldAnimate = true, bool isLoaderNeeded = true) { if (clear) { if (_prevQuery.ContainsKey(_searchType) && string.Equals(_prevQuery[_searchType], searchTextField.Text, StringComparison.OrdinalIgnoreCase)) { return(false); } if (_searchType == SearchType.People) { _searchFacade.UserFriendPresenter.Clear(); _userTableSource.ClearPosition(); } else { _searchFacade.TagsPresenter.Clear(); } if (_prevQuery.ContainsKey(_searchType)) { _prevQuery[_searchType] = searchTextField.Text; } else { _prevQuery.Add(_searchType, searchTextField.Text); } } if (isLoaderNeeded) { if (_searchType == SearchType.Tags) { _noResultViewTags.Hidden = true; _tagsLoader.StartAnimating(); } else { _noResultViewPeople.Hidden = true; _peopleLoader.StartAnimating(); } } var error = await _searchFacade.TrySearchCategories(searchTextField.Text, _searchType); if (error is CanceledError) { return(false); } if (shouldAnimate) { if (!_isWarningOpen && error != null) { UIView.Animate(0.3f, 0f, UIViewAnimationOptions.CurveEaseOut, () => { _isWarningOpen = true; warningViewToBottomConstraint.Constant = -ScrollAmount - 20; warningView.Alpha = 1; View.LayoutIfNeeded(); }, () => { UIView.Animate(0.2f, 5f, UIViewAnimationOptions.CurveEaseIn, () => { warningViewToBottomConstraint.Constant = -ScrollAmount + 60; warningView.Alpha = 0; View.LayoutIfNeeded(); }, () => { _isWarningOpen = false; }); }); } } ShowAlert(error); return(true); }