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 |  157 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 124 insertions(+), 33 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 5ccfafc..608fa42 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -2,6 +2,7 @@
 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);
@@ -144,7 +154,7 @@
                     System.Threading.Tasks.Task.Run(() =>
                         {
                             //DriverLayer.Control.Ins.SearchLoaclGateway();
-                            MainPage.InitializationData();
+                            //MainPage.InitializationData();
                             //DriverLayer.Control.Ins.IsRemote = true;
                         });
                 };
@@ -242,7 +252,7 @@
                 };
                 msgView.AddChidren(btnMsgBg);
 
-              
+
                 btnMsgIcon = new Button()
                 {
                     X = Application.GetRealWidth(12),
@@ -254,7 +264,7 @@
                 };
                 msgView.AddChidren(btnMsgIcon);
 
-               
+
                 btnMsg = new Button()
                 {
                     X = Application.GetRealWidth(10) + btnMsgIcon.Right,
@@ -266,7 +276,7 @@
                 };
                 msgView.AddChidren(btnMsg);
 
-             
+
                 btnMsgTime = new Button()
                 {
                     X = Application.GetRealWidth(299),
@@ -333,38 +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();
-
-                // 鏌ヨ鏈娑堟伅骞舵樉绀�
-                GetUnreadPushMessages();
             }
             catch (Exception ex)
             {
                 MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
             }
 
-
-            System.Threading.Tasks.Task.Run(() =>
-            {
-                //DriverLayer.Control.Ins.SearchLoaclGateway();
-            });
         }
 
         /// <summary>
@@ -372,6 +419,7 @@
         /// </summary>
         void LoadDeviceFunctionControlZone()
         {
+         
             #region ContextView
             deviceFunctionView.RemoveAll();
             functionViews.Clear();
@@ -379,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)
@@ -494,7 +542,7 @@
             try
             {
                 int index = 0;
-                foreach (var scene in DB_ResidenceData.functionList.scenes)
+                foreach (var scene in FunctionList.List.scenes)
                 {
                     if (!scene.collect)
                         continue;
@@ -640,7 +688,13 @@
                     SelectedImagePath = "Collection/CollectionWhiteIcon.png",
                     UnSelectedImagePath = "Collection/CollectionIcon.png",
                 };
-                view.AddChidren(btnCollection);
+                //view.AddChidren(btnCollection);
+                //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+                if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+                {
+                    view.AddChidren(btnCollection);
+                }
+
                 LoadEvent_FunctionCollection(btnCollection, function);
 
                 if (function.functionCategory == FunctionCategory.Curtain)
@@ -793,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;
@@ -822,6 +892,19 @@
                     UnSelectedImagePath = "Collection/SceneCovered.png",
                 };
                 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()
@@ -874,10 +957,16 @@
                     SelectedImagePath = "Collection/CollectionWhiteIcon.png",
                     UnSelectedImagePath = "Collection/CollectionIcon.png",
                 };
-                view.AddChidren(btnCollection);
+                //view.AddChidren(btnCollection);
+                //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+                if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+                {
+                    view.AddChidren(btnCollection);
+                }
+
                 LoadEvent_SceneCollection(btnCollection, scene);
-              
-                LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene);
+
+                LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene);
 
                 btnSettingIcon.MouseUpEventHandler = (sender, e) => {
                     Action backAction = () => {
@@ -892,9 +981,11 @@
                     };
                     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