wjc
2023-08-15 72e397e4550177496288503ab15d74ba077c5b78
HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
@@ -35,7 +35,7 @@
        /// <summary>
        /// 影片列表
        /// </summary>
        List<MovieLibrary> mMovieLibraryList;
        List<MovieLibrary> mMovieLibraryList=new List<MovieLibrary>();
        /// <summary>
        /// 顶部布局
        /// </summary>
@@ -111,14 +111,14 @@
        /// </summary>
        private void LoadFTypeLayout()
        {
            fLayout.RemoveAll();
            int count = this.mFilterCategoryList == null ? 0 : this.mFilterCategoryList.Count;
            horizontalFl = new CornerFramLayout(375, count * 75);
            fLayout.AddChidren(horizontalFl);
            horizontalFl.LoadHorizontalPage(this.mFilterCategoryList);
            horizontalFl.AdjustRealHeight(20);
            vv = new VerticalRefreshLayout()
            {
                Y = horizontalFl.Bottom,
@@ -129,32 +129,7 @@
            horizontalFl.selectKeyAction += (filters) =>
            {
                AddMemoryFilters(filters);
                CommonMethod.Current.Loading.Start();
                CommonMethod.Current.SunThread(() =>
                {
                    try
                    {
                        this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, this.FiltersList.Values.ToList(), pageNo, SendMethod.pageSize);
                        for (int i = 0; i < this.mMovieLibraryList.Count; i++)
                        {
                            var mMovieLibrary = this.mMovieLibraryList[i];
                            var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl);
                            mMovieLibrary.imageBytes = bytes;
                        }
                    }
                    catch { }
                    finally
                    {
                        CommonMethod.Current.MainThread(() =>
                        {
                            CommonMethod.Current.Loading.Hide();
                            this.LoadImageFLayout();
                        });
                    }
                });
                UpdateData();
            };
        }
@@ -191,11 +166,12 @@
            {
                //关闭刷新View;
                vv.EndHeaderRefreshing();
                UpdateData();
            };
        }
        /// <summary>
        /// 初始数据
        /// 初始化数据
        /// </summary>
        private void ReadData()
        {
@@ -205,15 +181,8 @@
                try
                {
                    this.mFilterCategoryList = SendMethod.Current.GetFilterCategoryLits(this.remoteControl.deviceId, this.remoteControl.rcId);
                    this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), pageNo, SendMethod.pageSize);
                    for (int i = 0; i < this.mMovieLibraryList.Count; i++)
                    {
                        var mMovieLibrary = this.mMovieLibraryList[i];
                        var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl);
                        mMovieLibrary.imageBytes = bytes;
                    }
                    var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), pageNo, SendMethod.pageSize);
                    DataTreating(newList);
                }
                catch { }
                finally
@@ -230,8 +199,77 @@
        }
        /// <summary>
        /// 主动更新数据
        /// </summary>
        private void UpdateData()
        {
        private void AddMemoryFilters(Filters filters) {
            CommonMethod.Current.Loading.Start();
            CommonMethod.Current.SunThread(() =>
            {
                try
                {
                    var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, this.FiltersList.Values.ToList(), pageNo, SendMethod.pageSize);
                    DataTreating(newList);
                }
                catch { }
                finally
                {
                    CommonMethod.Current.MainThread(() =>
                    {
                        CommonMethod.Current.Loading.Hide();
                        this.LoadImageFLayout();
                    });
                }
            });
        }
        /// <summary>
        /// 页面处理逻辑
        /// </summary>
        /// <param name="newList">新列表数据</param>
        private void DataTreating(List<MovieLibrary> newList)
        {
            if (newList == null)
            {
                return;
            }
            for (int i = 0; i < newList.Count; i++)
            {
                var mMovieLibrary = newList[i];
                //图片的字节流
                var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl);
                //更新值
                mMovieLibrary.imageBytes = bytes;
            }
            for (int i = 0; i < newList.Count; i++)
            {
                //去重
                var mMovieLibrary = this.mMovieLibraryList.Find((o) => o.movieId == newList[i].movieId);
                if (mMovieLibrary == null)
                {
                    //新列表默认加在前面
                    this.mMovieLibraryList.Insert(0, newList[i]);
                }
            }
            if (newList.Count == SendMethod.pageSize)
            {
                //数据回复更新页数
                pageNo++;
            }
        }
        /// <summary>
        /// 添加过滤数据
        /// </summary>
        /// <param name="filters">过滤条件</param>
        private void AddMemoryFilters(Filters filters)
        {
            if (FiltersList.ContainsKey(filters.category))
            {