From 6992b9bc927550ed3ec82eff8ec4a5aa65e6fa63 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 12 四月 2021 17:39:14 +0800
Subject: [PATCH] 2021-04-12 1.完善智能音箱功能。

---
 HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerListPage.cs |  117 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 94 insertions(+), 23 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerListPage.cs
index 1292090..c704948 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerListPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerListPage.cs
@@ -2,16 +2,13 @@
 using Shared;
 using HDL_ON.UI.CSS;
 using System.Collections.Generic;
-using System.Threading;
 using HDL_ON.DAL.Server;
 
 namespace HDL_ON.UI
 {
 
-
     /// <summary>
     /// 鏅鸿兘闊崇鍒楄〃
-
     /// </summary>
     public class SmartSpeakerListPage : FrameLayout
     {
@@ -61,6 +58,7 @@
                 Y = bodyY,
                 Height = bodyView.Height - bodyY,
                 BackgroundColor = CSS_Color.BackgroundColor,
+
             };
             bodyView.AddChidren(bodyScrolView);
 
@@ -243,7 +241,8 @@
             };
             view2.AddChidren(btnNickname);
 
-            if (string.IsNullOrEmpty(speakerInfo.remark)) {
+            if (string.IsNullOrEmpty(speakerInfo.remark))
+            {
                 btnNickname.TextID = StringId.SmartSpeaker;
             }
 
@@ -276,9 +275,7 @@
 
             btnNickname.MouseUpEventHandler += (sender, e) =>
             {
-                new PublicAssmebly().LoadDialog_EditParater(StringId.Remarks, speakerInfo.remark, renameAction, StringId.RemarksCannotBeBlank, 0, new List<string>());
-
-                //HDLCommon.Current.ShowEditTextDialog(speakerInfo.remark, renameAction, Language.StringByID(R.MyInternationalizationString.rename));
+                new PublicAssmebly().LoadDialog_EditParater(StringId.Remarks, speakerInfo.remark, renameAction, StringId.RemarksCannotBeBlank, 0, new List<string>(),false, Language.StringByID(StringId.Save));
             };
             #endregion
 
@@ -323,8 +320,8 @@
 
             EventHandler<MouseEventArgs> eHandler = (sender, e) =>
             {
-                //璺宠浆椤甸潰
-                GotoSpeakerManagementPage(speakerInfo);
+                //璺宠浆鏁版嵁绠$悊鎴块棿鍒楄〃
+                GotoPage(speakerInfo);
             };
             view3.MouseUpEventHandler += eHandler;
             btnDataTitle.MouseUpEventHandler += eHandler;
@@ -360,6 +357,19 @@
             };
             view4.AddChidren(btnUnbindRight);
 
+            EventHandler<MouseEventArgs> eHandler4 = (sender, e) =>
+            {
+                Action okAction = () =>
+                {
+                    //瑙g粦闊崇
+                    UnbindSpeaker(speakerInfo, rowView, lineView);
+                };
+                new ConfirmDialog().ShowDialog(StringId.Tip, StringId.DoYouWantToUnbind, okAction, null, StringId.Cancel, StringId.Confirm);
+
+            };
+            view4.MouseUpEventHandler += eHandler4;
+            btnUnbindTitle.MouseUpEventHandler += eHandler4;
+            btnUnbindRight.MouseUpEventHandler += eHandler4;
 
             #endregion
 
@@ -464,25 +474,86 @@
         }
 
         /// <summary>
-        /// 璺宠浆AlexaDeviceListPage椤甸潰
+        /// 璇锋眰瑙g粦闊崇
         /// </summary>
-        /// <param name="speakerInfo"></param>
-        void GotoSpeakerManagementPage(SpeakerInfo speakerInfo)
+        /// <param name="speakerInfo">闊崇鍙傛暟</param>
+        /// <param name="rowView">闊崇rowView</param>
+        /// <param name="lineView">濉厖鐨刲ineView</param>
+        void UnbindSpeaker(SpeakerInfo speakerInfo, FrameLayout rowView, FrameLayout lineView)
         {
-            ////娌$粦瀹氬繕璁版彁绀哄厛缁戝畾缃戝叧锛岀姝㈣烦杞�
-            //if (!UserConfig.Instance.CheckWhetherGatewayIdNotNull())
-            //{
-            //    Utlis.ShowAlertOnMainThread(Language.StringByID(R.MyInternationalizationString.PleaseBindTheGatewayFirst));
-            //    return;
-            //}
+            if (speakerInfo == null || string.IsNullOrEmpty(speakerInfo.tokenId)) {
 
+                Utlis.ShowTip(Language.StringByID(StringId.RequestFailedParameterException) + "(-3)");
+            }
 
-            ////璺宠浆Alexa绠$悊椤甸潰
-            //AlexaDeviceListPage speakerInfoDeviceListPage = new AlexaDeviceListPage(speakerInfo);
-            //UserMiddle.SettingPageView.AddChidren(speakerInfoDeviceListPage);
-            //speakerInfoDeviceListPage.ShowPage();
-            //UserMiddle.SettingPageView.PageIndex = UserMiddle.SettingPageView.ChildrenCount - 1;
+            var waitPage = new Loading();
+            bodyView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+            System.Threading.Tasks.Task.Run(() =>
+            {
+                try
+                {
+                    var revertObj = new HttpServerRequest().UnbindSpeaker(speakerInfo.tokenId);
+                    if (revertObj.Code == StateCode.SUCCESS)
+                    {
+                        //瑙g粦鎴愬姛
+                        Application.RunOnMainThread(() =>
+                        {
+                            //lineView
+                            if (lineView != null)
+                            {
+                                lineView.RemoveFromParent();
+                            }
+
+                            //绉婚櫎rowView
+                            if (rowView != null)
+                            {
+                                rowView.RemoveFromParent();
+                            }
+                          
+                            //鎻愮ず瑙g粦鎴愬姛
+                            Utlis.ShowTip(Language.StringByID(StringId.UnbindEmailSuccess));
+
+                        });
+                    }
+                    else
+                    {
+                        //鎻愮ず閿欒
+                        IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
+                    }
+                }
+                catch
+                {
+
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
+                    });
+                }
+            });
+
         }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        void GotoPage(SpeakerInfo speakerInfo)
+        {
+            var page = new SmartSpeakerRoomListPage(speakerInfo);
+            MainPage.BasePageView.AddChidren(page);
+            page.LoadPage();
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+        }
+
     }
 
 

--
Gitblit v1.8.0