Solving a bug with the search suggestions.

This commit is contained in:
Anonymus Raccoon
2019-06-25 22:26:30 +02:00
parent 200b8c73b2
commit 1978e2be27
2 changed files with 13 additions and 6 deletions

View File

@@ -186,10 +186,17 @@ namespace Opus
else if (MusicPlayer.UseCastPlayer)
MusicPlayer.GetQueueFromCast();
if (SearchableActivity.instance != null && SearchableActivity.instance.SearchQuery != null && SearchableActivity.instance.SearchQuery != "")
if (SearchableActivity.instance != null)
{
if(YoutubeSearch.instances == null || SearchableActivity.instance.SearchQuery != YoutubeSearch.instances[0].querryType) //We don't want to redo the query if the user already searched for the exact same query.
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.contentView, Pager.NewInstance(SearchableActivity.instance.SearchQuery, 0)).AddToBackStack("Youtube").Commit();
IMenuItem searchItem = menu.FindItem(Resource.Id.search);
SearchView searchView = (SearchView)searchItem.ActionView;
searchView.ClearFocus();
if(SearchableActivity.instance.SearchQuery != null && SearchableActivity.instance.SearchQuery != "")
{
if (YoutubeSearch.instances == null || SearchableActivity.instance.SearchQuery != YoutubeSearch.instances[0].querryType) //We don't want to redo the query if the user already searched for the exact same query.
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.contentView, Pager.NewInstance(SearchableActivity.instance.SearchQuery, 0)).AddToBackStack("Youtube").Commit();
}
SearchableActivity.instance = null;
}

View File

@@ -100,8 +100,10 @@ namespace Opus.Fragments
searchView = searchItem.ActionView.JavaCast<SearchView>();
searchView.MaxWidth = int.MaxValue;
searchView.QueryHint = GetString(Resource.String.youtube_search);
searchView.SetQuery(((SearchView)MainActivity.instance.menu.FindItem(Resource.Id.search).ActionView).Query, false);
searchView.QueryTextChange += (s, e) =>
{
Console.WriteLine("&Search view query changed, newText: " + e.NewText);
if (e.NewText.Length > 0)
{
Task.Run(() =>
@@ -121,7 +123,7 @@ namespace Opus.Fragments
RunOnUiThread(new Java.Lang.Runnable(() => { ListView.Adapter = new SuggestionAdapter(instance, Resource.Layout.SuggestionLayout, suggestions); }));
}
}
catch { }
catch(Exception ex) { Console.WriteLine("&Search ex: " + ex.Message); }
});
}
else
@@ -140,8 +142,6 @@ namespace Opus.Fragments
e.Handled = true;
};
searchItem.SetOnActionExpandListener(this);
SearchQuery = ((SearchView)MainActivity.instance.menu.FindItem(Resource.Id.search).ActionView).Query;
searchView.SetQuery(SearchQuery, false);
return base.OnCreateOptionsMenu(menu);
}