From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundListForm.cs |  289 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 208 insertions(+), 81 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundListForm.cs b/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundListForm.cs
index 54f2151..0c08901 100755
--- a/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundListForm.cs
+++ b/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundListForm.cs
@@ -4,6 +4,7 @@
 using System.Threading.Tasks;
 using Newtonsoft.Json.Linq;
 using Shared.Common;
+using Shared.Phone.SmartSound.Forms;
 using Shared.Phone.UserCenter.Device;
 using Shared.Phone.UserCenter.SmartSound.Util;
 using Shared.Phone.UserCenter.SmartSound.Widget;
@@ -30,6 +31,7 @@
         private RowLayoutControl oldShowRightMuneRow = null;
 
         private static string dataString = "";
+        private MostRightIconControl btnAddDeviceIcon = null;
 
 
         #region 鈻� 鍒濆鍖朹____________________________
@@ -46,30 +48,48 @@
             base.SetTitleText("鏅鸿兘闊崇");
             Dictionary<string, string> floorDictionary = Config.Instance.Home.FloorDics;//妤煎眰鍒楄〃
 
-            var helpBtn = new MyButton();
-            helpBtn.TextColor = UserCenterColor.Current.TextOrangeColor;
-            helpBtn.Text = "甯姪";
-            helpBtn.Gravity = Gravity.CenterRight;
-            helpBtn.TextAlignment = TextAlignment.CenterRight;
-            topFrameLayout.AddChidren(helpBtn);
-            helpBtn.X -= Application.GetRealWidth(58);
+            //鍙充笂娣诲姞鎸夐挳
+            if (btnAddDeviceIcon == null)
+            {
+                btnAddDeviceIcon = new MostRightIconControl(69, 69);
+                btnAddDeviceIcon.UnSelectedImagePath = "Item/Add.png";
+                topFrameLayout.AddChidren(btnAddDeviceIcon);
+                btnAddDeviceIcon.InitControl();
+                btnAddDeviceIcon.ButtonClickEvent += (sender, e) =>
+                {
+                    var helpForm = new AddSmartSound();
+                    helpForm.AddForm();
+                };
+            }
+
+            //var helpBtn = new MyButton();
+            //helpBtn.TextColor = UserCenterColor.Current.TextOrangeColor;
+            //helpBtn.Text = "甯姪";
+            //helpBtn.Gravity = Gravity.CenterRight;
+            //helpBtn.TextAlignment = TextAlignment.CenterRight;
+            //topFrameLayout.AddChidren(helpBtn);
+            //helpBtn.X -= Application.GetRealWidth(58);
 
             //鍒濆鍖栦腑閮ㄦ帶浠�
             this.InitMiddleFrame();
 
-            helpBtn.MouseUpEventHandler += (sernder, e) =>
-            {
-                //鐢熸垚涓�涓脊绐楃敾闈�
-                var dialogForm = new TextDialog("缁戝畾鏅鸿兘闊崇鍒扮涓夋柟 APP 杩涜鎿嶄綔", "璺宠浆鑷冲皬搴�");
-                dialogForm.SetTitleText("甯姪");
+            //helpBtn.MouseUpEventHandler += (sernder, e) =>
+            //{
+            //    var helpForm = new AddSmartSound();
+            //    helpForm.AddForm();
+            //    /*
+            //    //鐢熸垚涓�涓脊绐楃敾闈�
+            //    var dialogForm = new TextDialog("缁戝畾鏅鸿兘闊崇鍒扮涓夋柟 APP 杩涜鎿嶄綔", "璺宠浆鑷冲皬搴PP");
+            //    dialogForm.SetTitleText("甯姪");
 
-                //鎸変笅纭鎸夐挳
-                dialogForm.ComfirmClickEvent += () =>
-                {
-                    //鐢婚潰鍏抽棴
-                    dialogForm.CloseDialog();
-                };
-            };                       
+            //    //鎸変笅纭鎸夐挳
+            //    dialogForm.ComfirmClickEvent += () =>
+            //    {
+            //        //鐢婚潰鍏抽棴
+            //        dialogForm.CloseDialog();
+            //        OpenXiaoDuAPP();
+            //    };*/
+            //};
         }
 
         /// <summary>
@@ -122,25 +142,19 @@
                     this.CloseProgressBar();
                 });                
             });           
-        }
-       
+        }
+       
         /// <summary>
         /// 鑾峰彇闊崇鍒楄〃
         /// </summary>
         /// <returns></returns>
         private async Task getData()
         {
-            //SmartSoundInfo.Auth auth = new SmartSoundInfo.Auth();
-            //auth.HomeID = Common.Config.Instance.Home.Id;
-            //auth.UserID = Common.Config.Instance.Guid;
-            //auth.Platform = "";
             string url = string.Format("https://developer.hdlcontrol.com/zigbeespeakerservice/Auth?Platform&PageSetting.PageSize=100&PageSetting.PageIndex=1&UserID={0}&HomeID={1}",
                 Common.Config.Instance.Guid,Common.Config.Instance.Home.Id);
             
-            dataString = await MyHttpWebResponse.GetWebRequest(url);
-            
-            smartSoundInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<SmartSoundInfo>(dataString);
-            
+            dataString = await MyHttpWebResponse.GetWebRequest(url);            
+            smartSoundInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<SmartSoundInfo>(dataString);            
         }
 
         /// <summary>
@@ -150,8 +164,7 @@
         /// <param name="new_remark"></param>
         /// <returns></returns>
         private async Task<string> setRemark(SmartSoundInfo.SoundInfo soundInfo, string new_remark)
-        {
-            
+        {            
             if (soundInfo == null)
                 return "";
 
@@ -162,7 +175,7 @@
                 "\"UserID\":" + "\"" + soundInfo.UserID + "\"" + "," +
                 "\"HomeID\":" + "\"" + soundInfo.HomeID + "\"" + "}";
 
-            string response_str = await MyHttpWebResponse.PutWebRequest(url, json, Encoding.UTF8);
+            string response_str = MyHttpWebResponse.PutWebRequest(url, json, Encoding.UTF8);
             JObject jObject = JObject.Parse(response_str);
             
             return jObject["StateCode"].ToString();
@@ -178,65 +191,146 @@
 
             for (int i = 0; i < smartSoundInfo.ResponseData.Data.Count; i++)
             {
-                //
-                var smartSound = smartSoundInfo.ResponseData.Data[i];
-                var row = new SoundRowLayout();
-                listView.AddChidren(row);
-
-                if (smartSound.Platform == "Baidu")
+                try
                 {
-                    row.Account = "灏忓害锛�" + smartSound.UserName;
-                    row.ImagePath = "SmartSound/Xiaodu.png";
-                    row.Remark = smartSound.Remark;
+                    //
+                    var smartSound = smartSoundInfo.ResponseData.Data[i];
+                    var row = new SoundRowLayout();
+                    listView.AddChidren(row);
+
+                    if (smartSound.PlatfromName == "Baidu")
+                    {
+                        string remark = "灏忓害";
+                        if (smartSound.Remark != null && smartSound.Remark.Trim() != "")
+                            remark += "(" + smartSound.Remark + ")";
+
+                        row.ImagePath = "SmartSound/Xiaodu.png";
+                        row.Remark = remark;
+                    }else if (smartSound.PlatfromName == "AISpeech")
+                    {
+                        string remark = "鎬濆繀椹�";
+                        if (smartSound.Remark != null && smartSound.Remark.Trim() != "")
+                            remark += "(" + smartSound.Remark + ")";
+
+                        row.ImagePath = "SmartSound/Sibici.png";
+                        row.Remark = remark;
+                    }
+
+                    row.InitControl();
+                    row.btnDelect.AddTag("index", i);
+                    row.btnRename.AddTag("index", i);
+                    row.frameTable.AddTag("index", i);
+
+                    //閲嶅懡鍚�
+                    row.btnRename.ButtonClickEvent += (sender, e) =>
+                    {
+                        int index = (int)((NormalViewControl)sender).GetTagByKey("index");
+                        var smartSound1 = smartSoundInfo.ResponseData.Data[index];
+                        ShowRenameDialog(row, smartSound1);
+                    };
+
+                    // 瑙i櫎缁戝畾
+                    row.btnDelect.ButtonClickEvent += (sender, e) =>
+                    {
+                        int index = (int)(((NormalViewControl)sender).GetTagByKey("index"));
+                        var smartSound1 = smartSoundInfo.ResponseData.Data[index];
+                        ShowDelectDialog(smartSound1);
+                    };
+
+                    //璺宠浆鍒版帶鍒跺唴瀹圭晫闈�  FrameRowControl
+                    row.frameTable.ButtonClickEvent += (sender, e) =>
+                    {
+                        int index = (int)row.frameTable.GetTagByKey("index");
+                        if (SmartSound.getInstantiate().LayerList != null)
+                            SmartSound.getInstantiate().LayerList.Clear();
+
+                        var smartSoundControlForm = new SmartSoundControlForm(smartSoundInfo.ResponseData.Data[index]);
+                        smartSoundControlForm.AddForm();
+                    };
                 }
-
-                row.InitControl();
-                row.btnDelect.AddTag("index", i);
-                row.btnRename.AddTag("index", i);
-                row.frameTable.AddTag("index", i);
-
-                //閲嶅懡鍚�
-                row.btnRename.ButtonClickEvent += (sender, e) =>
+                catch (Exception e)
                 {
-                    int index = (int)((NormalViewControl)sender).GetTagByKey("index");
-                    var smartSound1 = smartSoundInfo.ResponseData.Data[index];
-                    ShowRenameDialog(row, smartSound1);
-                };
+                    this.ShowMassage(ShowMsgType.Tip, e.Message);
+                }
+            }
+        }
 
-                // 瑙i櫎缁戝畾
-                row.btnDelect.ButtonClickEvent += (sender, e) =>
+        private void OpenXiaoDuAPP()
+        {
+            bool bol = false;
+            try
+            {
+#if Android
+                bol = HDLUtils.OpenAppWithPackageName("com.baidu.duer.superapp");
+#else                
+                bol=HDLUtils.OpenApp("xiaoduapp://");
+#endif
+
+                if (!bol)
                 {
-                    int index = (int)(((NormalViewControl)sender).GetTagByKey("index"));
-                    ShowDelectDialog(index);
-                };
+#if Android
+                    HDLUtils.OpenUrl("market://details?id=com.baidu.duer.superapp");
+#else
+                HDLUtils.OpenUrl("https://apps.apple.com/cn/app/%E5%B0%8F%E5%BA%A6/id1437733193");
+#endif
+                }
+            }
+            catch (Exception e)
+            {
+                string error = e.Message;
+                bol = false;
+            }
+        }
 
-                //璺宠浆鍒版帶鍒跺唴瀹圭晫闈�  FrameRowControl
-                row.frameTable.ButtonClickEvent += (sender, e) =>
+        /// <summary>
+        /// 鎬濆繀椹�
+        /// </summary>
+        private void OpenSBCAPP()
+        {
+            bool bol = false;
+            try
+            {
+#if Android
+                bol = HDLUtils.OpenAppWithPackageName("com.aispeech.companionapp");
+#else                
+                bol=HDLUtils.OpenApp("AispeechMobile://");
+#endif
+
+                if (!bol)
                 {
-                    int index = (int)row.frameTable.GetTagByKey("index");
-                    if (SmartSound.getInstantiate().LayerList != null)
-                        SmartSound.getInstantiate().LayerList.Clear();
-
-                    var smartSoundControlForm = new SmartSoundControlForm(smartSoundInfo.ResponseData.Data[index]);
-                    smartSoundControlForm.AddForm();
-                };
+#if Android
+                    HDLUtils.OpenUrl("market://details?id=com.aispeech.companionapp");
+#else
+                HDLUtils.OpenUrl("https://apps.apple.com/cn/app/id1460767442");
+#endif
+                }
+            }
+            catch (Exception e)
+            {
+                string error = e.Message;
+                bol = false;
             }
         }
 
         /// <summary>
         /// 瑙i櫎缁戝畾寮圭獥
         /// </summary>
-        private void ShowDelectDialog(int index)
+        private void ShowDelectDialog(SmartSoundInfo.SoundInfo smartSound)
         {
             //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new TextDialog("瑙i櫎缁戝畾闇�瑕佸埌绗笁鏂� APP 杩涜鎿嶄綔", "璺宠浆鑷冲皬搴�");
+            var dialogForm = new TextDialog("瑙i櫎缁戝畾闇�瑕佸埌绗笁鏂� APP 杩涜鎿嶄綔", "璺宠浆鑷崇涓夋柟APP");
             dialogForm.SetTitleText("瑙i櫎缁戝畾");
 
             //鎸変笅纭鎸夐挳
             dialogForm.ComfirmClickEvent += () =>
-            {
-                //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
+            {
+                if (smartSound.PlatfromName == "Baidu")
+                {
+                    OpenXiaoDuAPP();
+                }
+                else if (smartSound.PlatfromName == "AISpeech") {
+                    OpenSBCAPP();
+                }                
             };
         }
         /// <summary>
@@ -250,12 +344,12 @@
             //娣诲姞澶囦唤
             dialogForm.SetTitleText("閲嶅懡鍚�");
             //璇疯緭鍏ュ浠藉悕绉�
-            dialogForm.SetTipText(smartSound.Remark);
+            dialogForm.SetTipText("璇疯緭鍏ュ悕绉�");
+            dialogForm.Text = smartSound.Remark;
 
             //鎸変笅纭鎸夐挳
             dialogForm.ComfirmClickEvent += (async (textValue) =>
             {
-
                 //鐢婚潰鍏抽棴
                 dialogForm.CloseDialog();
 
@@ -263,8 +357,20 @@
                 string str = await setRemark(smartSound, remark); //涓婁紶澶囦唤
                 if (str == "SUCCESS")
                 {
-                    smartSound.Remark = remark;
-                    soundRowLayout.btnRemark.Text = textValue;
+                    smartSound.Remark = remark;
+                    if (smartSound.PlatfromName == "Baidu")
+                    {
+                        soundRowLayout.btnRemark.Text = "灏忓害" + "(" + textValue + ")";
+                    }
+                    else if (smartSound.PlatfromName == "AISpeech")
+                    {
+                        soundRowLayout.btnRemark.Text = "鎬濆繀椹�" + "(" + textValue + ")";
+                    }
+                    else 
+                    {
+                        soundRowLayout.btnRemark.Text =  textValue;
+                    }
+                    
                 }
                 else
                 {
@@ -276,8 +382,29 @@
 
         #endregion
 
+        /// <summary>
+        /// 鍒犻櫎鏁版嵁
+        /// </summary>
+        /// <param name="soundInfo"></param>
+        /// <returns></returns>
+        private string DelectSmartSound(SmartSoundInfo.SoundInfo soundInfo)
+        {
+            if (soundInfo == null)
+                return "";
 
-        #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
+            string url = "https://developer.hdlcontrol.com/zigbeespeakerservice/Auth";
+            string json = "{" +
+                "\"AuthID\":" + "\"" + soundInfo.Id + "\"" + "," +
+                "\"UserID\":" + "\"" + soundInfo.UserID + "\"" + "," +
+                "\"HomeID\":" + "\"" + soundInfo.HomeID + "\"" + "}";
+
+            string response_str = MyHttpWebResponse.DeleteWebRequest(url, json, Encoding.UTF8);
+            JObject jObject = JObject.Parse(response_str);
+
+            return jObject["StateCode"].ToString();
+        }
+
+#region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
 
         /// <summary>
         /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
@@ -287,9 +414,9 @@
             return 1;
         }
 
-        #endregion
+#endregion
 
-        #region 鈻� 鍏抽棴鐣岄潰___________________________
+#region 鈻� 鍏抽棴鐣岄潰___________________________
 
         /// <summary>
         /// 鐢婚潰鍏抽棴
@@ -299,7 +426,7 @@
             base.CloseFormBefore();
         }
 
-        #endregion
-
+#endregion
+                
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0