From 2202cc1f498434220f010f3806a5030390f616ee Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 15 四月 2021 17:57:39 +0800
Subject: [PATCH] 2021-04-15 1.Alexa相关页面标题修改。2.增加解绑按钮

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/SmartSpeakertListPage.cs |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 4 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/SmartSpeakertListPage.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/SmartSpeakertListPage.cs
index 9e54f20..1ef5006 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/SmartSpeakertListPage.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/SmartSpeakertListPage.cs
@@ -21,7 +21,7 @@
         {
             #region ---TopView---
             base.ShowPage ();
-            this.topTitleBtn.Text = "Alexa list";
+            this.topTitleBtn.Text = "Smart speaker";
             this.topItemButton.RemoveFromParent ();
             #endregion
 
@@ -140,19 +140,37 @@
             #region 閲嶅懡鍚�
             var btnRename = new Button () {
                 TextID = R.MyInternationalizationString.rename,
-                BackgroundColor = SkinStyle.Current.DelColor,
+                BackgroundColor = SkinStyle.Current.TitileView,
                 TextSize = 11,
             };
 
             //淇濆瓨浜嬩欢
             Action<string> renameAction = (newName) => {
-                RenameAlexaRemark (newName, speakerInfo, btnName);
+                RenameAlexaRemark (newName, speakerInfo, btnName, rowView);
             };
 
             btnRename.MouseUpEventHandler += (sender, e) => {
                 CommonUtlis.Current.ShowEditTextDialog (speakerInfo.remark, renameAction, Language.StringByID (R.MyInternationalizationString.rename));
             };
             rowView.AddRightView (btnRename);
+            #endregion
+
+            #region 鍒犻櫎
+            var btnDelete = new Button () {
+                TextID = R.MyInternationalizationString.Delete,
+                BackgroundColor = SkinStyle.Current.DelColor,
+                TextSize = 11,
+            };
+
+            //鍒犻櫎浜嬩欢
+            Action deleteAction = () => {
+                UnbindSpeaker (speakerInfo, rowView);
+            };
+
+            btnDelete.MouseUpEventHandler += (sender, e) => {
+                CommonUtlis.Current.ShowActionAlert (Language.StringByID (R.MyInternationalizationString.DoYouWantToUnbind), deleteAction);
+            };
+            rowView.AddRightView (btnDelete);
             #endregion
 
         }
@@ -163,7 +181,7 @@
         /// <param name="newName"></param>
         /// <param name="speakerInfo"></param>
         /// <param name="btnName"></param>
-        void RenameAlexaRemark (string newName, SpeakerInfo speakerInfo, Button btnName)
+        void RenameAlexaRemark (string newName, SpeakerInfo speakerInfo, Button btnName, RowLayout rowView)
         {
 
             MainPage.Loading.Start (Language.StringByID (R.MyInternationalizationString.load));
@@ -181,6 +199,7 @@
                         Application.RunOnMainThread (() => {
                             speakerInfo.remark = newName;
                             btnName.Text = newName;
+                            rowView.HideRightMenu ();
                             Utlis.ShowAlertOnMainThread (Language.StringByID (R.MyInternationalizationString.AmendTheSuccess));
 
                         });
@@ -220,5 +239,49 @@
             UserMiddle.SettingPageView.PageIndex = UserMiddle.SettingPageView.ChildrenCount - 1;
         }
 
+        /// <summary>
+        /// 璇锋眰瑙g粦闊崇
+        /// </summary>
+        /// <param name="speakerInfo">闊崇鍙傛暟</param>
+        /// <param name="rowView">闊崇rowView</param>
+        void UnbindSpeaker (SpeakerInfo speakerInfo, RowLayout rowView)
+        {
+            if (speakerInfo == null || string.IsNullOrEmpty (speakerInfo.tokenId)) {
+
+                Utlis.ShowTip (Language.StringByID (R.MyInternationalizationString.RequestFailedParameterException) + "(-3)");
+            }
+
+            MainPage.Loading.Start (Language.StringByID (R.MyInternationalizationString.load));
+
+            System.Threading.Tasks.Task.Run (() => {
+                try {
+                    var revertObj =  HttpServerRequest.Current.UnbindSpeaker (speakerInfo.tokenId);
+                    if (revertObj.Code == StateCode.SUCCESS) {
+                        //瑙g粦鎴愬姛
+                        Application.RunOnMainThread (() => {
+                            //rowView
+                            if (rowView != null) {
+                                rowView.RemoveFromParent ();
+                            }
+
+                            //鎻愮ず瑙g粦鎴愬姛
+                            Utlis.ShowTip (Language.StringByID (R.MyInternationalizationString.UnbindSuccessfully));
+
+                        });
+                    } else {
+                        //鎻愮ず閿欒
+                        IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
+                    }
+                } catch {
+
+                } finally {
+                    Application.RunOnMainThread (() => {
+                        MainPage.Loading.Hide ();
+                    });
+                }
+            });
+
+        }
+
     }
 }

--
Gitblit v1.8.0