示例#1
0
        private void RefreshIssues(int filter)
        {
            if (_isRefreshingIssues)
            {
                return;
            }

            _filter = filter;

            HilightFilterButton(filter);

            this.IssueList.Visibility = ViewStates.Gone;

            _isRefreshingIssues = true;
            ((MainActivity)this.Activity).BlockUI();

            Issue[] issues = null;

            _cts0 = new CancellationTokenSource();
            AppController.RefreshIssues(_cts0,
                                        _gimmickId,
                                        (newIssues) =>
            {
                issues = newIssues;
            },
                                        (error) =>
            {
                Toast.MakeText(this.Activity.ApplicationContext, error, ToastLength.Long).Show();
            },
                                        () =>
            {
                if (issues != null)
                {
                    LoadIssues(issues, filter);

                    if (_adapter?.ItemCount > 0)
                    {
                        this.IssueList.Visibility = ViewStates.Visible;
                    }

                    _isRefreshingIssues = false;
                    ((MainActivity)this.Activity).UnblockUI();
                }
                else
                {
                    AppController.Utility.ExecuteOnAsyncTask(_cts0.Token,
                                                             () =>
                    {
                        issues = AppController.GetIssues(_gimmickId);
                    },
                                                             () =>
                    {
                        LoadIssues(issues, filter);

                        if (_adapter?.ItemCount > 0)
                        {
                            this.IssueList.Visibility = ViewStates.Visible;
                        }

                        _isRefreshingIssues = false;
                        ((MainActivity)this.Activity).UnblockUI();
                    });
                }
            });
        }
示例#2
0
        private void RefreshIssues(int filter)
        {
            if (_isRefreshingIssues)
            {
                return;
            }

            _filter = filter;

            HilightFilterButton(filter);

            this.IssueList.Hidden = true;

            _isRefreshingIssues = true;
            ((MainViewController)this.MainViewController).BlockUI();

            Issue[] issues = null;

            _cts0 = new CancellationTokenSource();
            AppController.RefreshIssues(_cts0,
                                        _gimmickId,
                                        (newIssues) =>
            {
                issues = newIssues;
            },
                                        (error) =>
            {
                UIToast.MakeText(error, UIToastLength.Long).Show();
            },
                                        () =>
            {
                if (issues != null)
                {
                    LoadIssues(issues, filter);

                    if (_source?.Count > 0)
                    {
                        this.IssueList.Hidden = false;
                    }

                    _isRefreshingIssues = false;
                    ((MainViewController)this.MainViewController).UnblockUI();
                }
                else
                {
                    AppController.Utility.ExecuteOnAsyncTask(_cts0.Token,
                                                             () =>
                    {
                        issues = AppController.GetIssues(_gimmickId);
                    },
                                                             () =>
                    {
                        LoadIssues(issues, filter);

                        if (_source?.Count > 0)
                        {
                            this.IssueList.Hidden = false;
                        }

                        _isRefreshingIssues = false;
                        ((MainViewController)this.MainViewController).UnblockUI();
                    });
                }
            });
        }