Example #1
0
        public static void Create(BaseAniDroidActivity context, Action <NyaaSiSearchRequest> searchAction, NyaaSiSearchRequest previousSearchRequest = null)
        {
            var dialogue = context.LayoutInflater.Inflate(Resource.Layout.Dialog_TorrentSearch, null);
            var searchCategorySpinner = dialogue.FindViewById <Spinner>(Resource.Id.TorrentSearch_CategorySpinner);
            var searchFilterSpinner   = dialogue.FindViewById <Spinner>(Resource.Id.TorrentSearch_FilterSpinner);
            var searchTerm            = dialogue.FindViewById <EditText>(Resource.Id.TorrentSearch_SearchText);

            searchCategorySpinner.Adapter = new ArrayAdapter <string>(context, Resource.Layout.View_SpinnerDropDownItem, NyaaSiConstants.TorrentCategoryTuples.Select(x => x.Value).ToList());
            searchFilterSpinner.Adapter   = new ArrayAdapter <string>(context, Resource.Layout.View_SpinnerDropDownItem, NyaaSiConstants.TorrentFilterTuples.Select(x => x.Value).ToList());

            if (previousSearchRequest != null)
            {
                searchTerm.Text = previousSearchRequest.SearchTerm;
                searchCategorySpinner.SetSelection(
                    NyaaSiConstants.TorrentCategoryTuples.FindIndex(x => x.Key == previousSearchRequest.Category));
                searchFilterSpinner.SetSelection(
                    NyaaSiConstants.TorrentFilterTuples.FindIndex(x => x.Key == previousSearchRequest.Filter));
            }

            var a = new AlertDialog.Builder(context, context.GetThemedResourceId(Resource.Attribute.Dialog_Theme)).Create();

            a.SetView(dialogue);
            a.SetTitle("Search Torrents");
            a.SetButton((int)DialogButtonType.Positive, "Search", async(aS, ev) =>
            {
                var category = NyaaSiConstants.TorrentCategoryTuples[searchCategorySpinner.SelectedItemPosition].Key;
                var filter   = NyaaSiConstants.TorrentFilterTuples[searchFilterSpinner.SelectedItemPosition].Key;
                var term     = searchTerm.Text;

                var request = new NyaaSiSearchRequest {
                    Category = category, Filter = filter, SearchTerm = term
                };
                searchAction?.Invoke(request);
            });
            a.SetButton((int)DialogButtonType.Neutral, "Cancel", (aS, eV) =>
            {
                a.Dismiss();
            });
            a.Show();
        }
Example #2
0
 public void SearchNyaaSi(NyaaSiSearchRequest searchReq)
 {
     View.ShowNyaaSiSearchResults(NyaaSiService.GetSearchEnumerable(searchReq));
 }
Example #3
0
 public override Action GetSearchFabAction()
 {
     return(() => TorrentSearchDialog.Create(Activity, req => { Presenter.SearchNyaaSi(req); _request = req; }, _request));
 }