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(); }); } }); }
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(); }); } }); }