mirror of
https://github.com/zoriya/Opus.git
synced 2025-12-05 22:16:17 +00:00
Solving a bug with the search suggestions.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user