From 263401d40b2d9d2c1b36a24f33d45c5cb7192518 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 23 十二月 2020 15:51:54 +0800 Subject: [PATCH] 20201223-6 --- HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 206 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 152 insertions(+), 54 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 98698fd..608fa42 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -1,7 +1,8 @@ -锘縰sing System; +锘縰sing System; using System.Collections.Generic; using System.Text; using HDL_ON.DAL; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Newtonsoft.Json; @@ -93,6 +94,12 @@ bodyView.BackgroundColor = CSS_Color.BackgroundColor; } + public override void RemoveFromParent() + { + UnregisterGetPushMessageAction(); + base.RemoveFromParent(); + } + public void LoadPage() { try @@ -101,7 +108,7 @@ topView = new FrameLayout() { Height = Application.GetRealHeight(216), - BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage, + BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, }; bodyView.AddChidren(topView); @@ -122,17 +129,20 @@ Radius = (uint)Application.GetRealWidth(3), }; topView.AddChidren(btnLinkStateTip); + //鏇存柊閾炬帴鐘舵�乮con棰滆壊 + CheckLinkStatus();//2020-12-22 + //LoadEvent_CheckLinkStatus(); btnResidenceName = new Button() { X = Application.GetRealWidth(26), Y = Application.GetRealHeight(32), - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(33), TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, - Text = DB_ResidenceData.residenceData.residecenInfo.Name, + Text = DB_ResidenceData.Instance.CurrentRegion.Name, IsBold = true }; topView.AddChidren(btnResidenceName); @@ -143,9 +153,9 @@ { System.Threading.Tasks.Task.Run(() => { - DriverLayer.Control.Ins.OpenUdp(6000); - //DB_ResidenceData.residenceData.GatewayType = 0; //DriverLayer.Control.Ins.SearchLoaclGateway(); + //MainPage.InitializationData(); + //DriverLayer.Control.Ins.IsRemote = true; }); }; #endif @@ -242,7 +252,7 @@ }; msgView.AddChidren(btnMsgBg); - + btnMsgIcon = new Button() { X = Application.GetRealWidth(12), @@ -254,19 +264,19 @@ }; msgView.AddChidren(btnMsgIcon); - + btnMsg = new Button() { X = Application.GetRealWidth(10) + btnMsgIcon.Right, Width = Application.GetRealWidth(240), - Text = "鏃�", + Text = "...", TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, }; msgView.AddChidren(btnMsg); - + btnMsgTime = new Button() { X = Application.GetRealWidth(299), @@ -333,35 +343,75 @@ #region ContextView contentView = new PageLayout() { - Y = changeView.Bottom , + Y = changeView.Bottom, Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒� }; bodyView.AddChidren(contentView); functionViews = new List<FrameLayout>(); - deviceFunctionView = new VerticalScrolViewLayout(); - contentView.AddChidren(deviceFunctionView); - LoadDeviceFunctionControlZone(); - sceneFunctionView = new VerticalScrolViewLayout(); - contentView.AddChidren(sceneFunctionView); - LoadSceneFunctionControlZone(); - contentView.PageIndex = 0; + if (!Common.ApiUtlis.Ins.DownloadDataComplete) + { + var waitPage = new Loading(); + MainPage.BaseView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + + new System.Threading.Thread(() => + { + while (!Common.ApiUtlis.Ins.DownloadDataComplete) + { + System.Threading.Thread.Sleep(400); + } + Application.RunOnMainThread(() => + { + + deviceFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(deviceFunctionView); + LoadDeviceFunctionControlZone(); + sceneFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(sceneFunctionView); + LoadSceneFunctionControlZone(); + contentView.PageIndex = 0; + + + LoadEvent_ChangeShowedFunctionType(); + + // 鏌ヨ鏈娑堟伅骞舵樉绀� + GetUnreadPushMessages(); + RegisterGetPushMessageAction(); + + waitPage.Hide(); + }); + }) + { IsBackground = true }.Start(); + } + else + { + + deviceFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(deviceFunctionView); + LoadDeviceFunctionControlZone(); + sceneFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(sceneFunctionView); + LoadSceneFunctionControlZone(); + contentView.PageIndex = 0; + + + LoadEvent_ChangeShowedFunctionType(); + + // 鏌ヨ鏈娑堟伅骞舵樉绀� + GetUnreadPushMessages(); + RegisterGetPushMessageAction(); + + } #endregion - - LoadEvent_ChangeShowedFunctionType(); } catch (Exception ex) { MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); } - - System.Threading.Tasks.Task.Run(() => - { - //DriverLayer.Control.Ins.SearchLoaclGateway(); - }); } /// <summary> @@ -369,6 +419,7 @@ /// </summary> void LoadDeviceFunctionControlZone() { + #region ContextView deviceFunctionView.RemoveAll(); functionViews.Clear(); @@ -376,7 +427,7 @@ try { int index = 0; - foreach (var function in DB_ResidenceData.functionList.GetAllDeviceFunctionList()) + foreach (var function in FunctionList.List.GetDeviceFunctionList()) { //闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞� if (function.functionCategory == FunctionCategory.Music) @@ -395,7 +446,7 @@ } else { - if (!music.collection) + if (!music.collect) { continue; } @@ -403,7 +454,7 @@ } else { - if (!function.collection) + if (!function.collect) continue; //if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず //{ @@ -491,15 +542,15 @@ try { int index = 0; - foreach (var function in DB_ResidenceData.functionList.scenes) + foreach (var scene in FunctionList.List.scenes) { - if (!function.collection) + if (!scene.collect) continue; - if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず - { - function.collection = false; - continue; - } + //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず + //{ + // scene.collect = false; + // continue; + //} if (index % 2 == 0) { sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) }); @@ -517,12 +568,15 @@ X = functionView_X, Width = Application.GetRealWidth(164), Height = Application.GetRealWidth(122), - Tag = function.sid, - BackgroundImagePath = (function as Scene).ImagePath, + Tag = scene.sid, + BackgroundImagePath = scene.ImagePath, }; rowView.AddChidren(functionView); - LoadSceneFunctionDiv( functionView, function); + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView); + + LoadSceneFunctionDiv( functionView, scene); index++; } @@ -634,8 +688,14 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - view.AddChidren(btnCollection); - LoadEvent_FunctionCollection(btnCollection, function, true); + //view.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnCollection); + } + + LoadEvent_FunctionCollection(btnCollection, function); if (function.functionCategory == FunctionCategory.Curtain) { @@ -787,7 +847,23 @@ } LoadEvent_SwitchFunction(function, btnSwitch); } - var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, new Button(), new Button(), new Button()); + //鍙栨秷鏀惰棌浜嬩欢 + Action cannelCollect = () => { + function.collect = false; + if (function.functionCategory == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴 + { + if ((function as Music.A31MusicModel).ServerClientType == 1) + { + (function as Music.A31MusicModel).MainPlayCollection = false; + Music.A31MusicModel.Save(); + } + } + string msg = function.name + Language.StringByID(StringId.CollectionCancelled); + LoadDeviceFunctionControlZone(); + function.SaveFunctionData(true); + }; + + var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone); view.MouseUpEventHandler = skipControlPageEvent; btnName.MouseUpEventHandler = skipControlPageEvent; btnIcon.MouseUpEventHandler = skipControlPageEvent; @@ -807,7 +883,7 @@ /// <summary> /// 鍔犺浇鍦烘櫙鎺у埗鍗$墖 /// </summary> - void LoadSceneFunctionDiv(FrameLayout view, Function function) + void LoadSceneFunctionDiv(FrameLayout view, Scene scene) { try { @@ -817,6 +893,19 @@ }; view.AddChidren(btnCoverd); + Button btnShowDelay; + btnShowDelay = new Button() + { + X = Application.GetRealWidth(40), + Y = Application.GetRealWidth(4), + Height = Application.GetRealWidth(32), + Width = Application.GetRealWidth(100), + TextColor = CSS_Color.AuxiliaryColor1, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + }; + view.AddChidren(btnShowDelay); + Button btnSettingIcon; btnSettingIcon = new Button() { @@ -824,7 +913,6 @@ Y = Application.GetRealWidth(4), Height = Application.GetRealWidth(32), Width = Application.GetRealWidth(32), - //UnSelectedImagePath = "FunctionIcon/Scene/DelayIcon.png", UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png", }; view.AddChidren(btnSettingIcon); @@ -836,7 +924,7 @@ Y = Application.GetRealWidth(68), Width = Application.GetRealWidth(150), Height = Application.GetRealHeight(24), - Text = function.name, + Text = scene.name, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.MainBackgroundColor, TextAlignment = TextAlignment.CenterLeft, @@ -854,7 +942,7 @@ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, TextAlignment = TextAlignment.CenterLeft, SelectedTextColor = CSS_Color.MainBackgroundColor, - Text = function.GetRoomListName(), + Text = scene.GetRoomListName(), }; view.AddChidren(btnZone); @@ -869,25 +957,35 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - view.AddChidren(btnCollection); - LoadEvent_FunctionCollection(btnCollection, function, false); - - LoadEvent_ControlScene(btnCoverd,btnName,btnZone, function); + //view.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnCollection); + } + + LoadEvent_SceneCollection(btnCollection, scene); + + LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene); btnSettingIcon.MouseUpEventHandler = (sender, e) => { Action backAction = () => { //LoadSceneFunctionControlZone(); }; Action refreshAction = () => { - btnName.Text = function.name; - btnZone.Text = function.GetRoomListName(); - view.BackgroundImagePath = (function as Scene).ImagePath; + btnName.Text = scene.name; + btnZone.Text = scene.GetRoomListName(); + //view.BackgroundImagePath = (scene as Scene).ImagePath; + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, view); }; - var aep = new SceneEditPage(function as Scene, backAction); + var aep = new SceneEditPage(scene, backAction); MainPage.BasePageView.AddChidren(aep); - aep.LoadPage(StringId.EditScene, refreshAction); + aep.LoadPage( refreshAction); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; + //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑 + scene.SceneCountDown(btnShowDelay); } catch (Exception ex) { -- Gitblit v1.8.0