Пример #1
0
        private void RefreshGimmicks()
        {
            if (_isRefreshingGimmicks)
            {
                return;
            }

            this.GimmickList.Hidden = true;

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

            Gimmick[] gimmicks = null;

            _cts0 = new CancellationTokenSource();
            AppController.RefreshGimmicks(_cts0,
                                          (newGimmicks) =>
            {
                gimmicks = newGimmicks;
            },
                                          (error) =>
            {
                UIToast.MakeText(error, UIToastLength.Long).Show();
            },
                                          () =>
            {
                if (gimmicks != null)
                {
                    LoadGimmicks(gimmicks);

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

                    _isRefreshingGimmicks = false;
                    ((MainViewController)this.MainViewController).UnblockUI();
                }
                else
                {
                    AppController.Utility.ExecuteOnAsyncTask(_cts0.Token,
                                                             () =>
                    {
                        gimmicks = AppController.GetGimmicks();
                    },
                                                             () =>
                    {
                        LoadGimmicks(gimmicks);

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

                        _isRefreshingGimmicks = false;
                        ((MainViewController)this.MainViewController).UnblockUI();
                    });
                }
            });
        }
Пример #2
0
        private void RefreshGimmicks()
        {
            if (_isRefreshingGimmicks)
            {
                return;
            }

            this.GimmickList.Visibility = ViewStates.Gone;

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

            Gimmick[] gimmicks = null;

            _cts0 = new CancellationTokenSource();
            AppController.RefreshGimmicks(_cts0,
                                          (newGimmicks) =>
            {
                gimmicks = newGimmicks;
            },
                                          (error) =>
            {
                Toast.MakeText(this.Activity.ApplicationContext, error, ToastLength.Long).Show();
            },
                                          () =>
            {
                if (gimmicks != null)
                {
                    LoadGimmicks(gimmicks);

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

                    _isRefreshingGimmicks = false;
                    ((MainActivity)this.Activity).UnblockUI();
                }
                else
                {
                    AppController.Utility.ExecuteOnAsyncTask(_cts0.Token,
                                                             () =>
                    {
                        gimmicks = AppController.GetGimmicks();
                    },
                                                             () =>
                    {
                        LoadGimmicks(gimmicks);

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

                        _isRefreshingGimmicks = false;
                        ((MainActivity)this.Activity).UnblockUI();
                    });
                }
            });
        }