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/SmartSoundControlContentForm.cs | 328 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 195 insertions(+), 133 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs b/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs index 02c58fe..ccb4c64 100755 --- a/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs +++ b/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Shared.Common; using Shared.Phone.UserCenter.SmartSound.Util; +using Shared.Phone.UserCenter.SmartSound.Widget; using ZigBee.Device; namespace Shared.Phone.UserCenter.SmartSound.Forms @@ -22,8 +23,15 @@ private VerticalListControl listView = null; private FrameLayout contentLayout = null; + /// <summary> + /// 褰撳墠妤煎眰鐨勭储寮� + /// </summary> public int CurrentIndex = 0; private BottomClickButton bottomClickButton = null; + /// <summary> + /// 褰撳墠妤煎眰鐨勫悕绉� + /// </summary> + private static NormalViewControl pullLayoutText = null; public SmartSoundControlContentForm(SmartSoundInfo.SoundInfo soundInfo) { @@ -64,30 +72,57 @@ bottomClickButton.Text = "纭"; bottomClickButton.ButtonClickEvent += (sender, e) => { - HdlThreadLogic.Current.RunThread(async () => + if (SmartSound.getInstantiate().LayerList != null && SmartSound.getInstantiate().LayerList.Count > 0) { - this.ShowProgressBar(); - //淇濆瓨鏁版嵁 - if (SmartSound.getInstantiate().LayerList == null) - SmartSound.getInstantiate().LayerList = new List<SmartSound.Layer>(); + //鐢熸垚涓�涓脊绐楃敾闈� + var dialogForm = new TextDialog("纭鍒犻櫎鐜版湁鎴块棿鍒楄〃鐨勬墍鏈夋帶鍒跺唴瀹癸紝娣诲姞鍏ㄦ柊鐨勫満鏅拰鍔熻兘锛�", "纭"); + dialogForm.SetTitleText("鎻愮ず"); - SmartSound.getInstantiate().LayerList.Clear(); - SmartSound.getInstantiate().LayerList = CollateData(); - SmartSound.getInstantiate().TokenID = mSoundInfo.Id; - SmartSound.getInstantiate().UserID = mSoundInfo.UserID; - - //涓婁紶鏁版嵁鍒版湇鍔″櫒 - string str = await postBatchEdit(); - CloseProgressBar(); - - HdlThreadLogic.Current.RunMainInThread(() => + //鎸変笅纭鎸夐挳 + dialogForm.ComfirmClickEvent += () => { - CloseForm(); - }); - }); + //鐢婚潰鍏抽棴 + dialogForm.CloseDialog(); + uploadData(); + }; + } + else + { + uploadData(); + } + }; bottomClickButton.Visible = false; + } + + /// <summary> + /// 鎻愪氦鏁版嵁鍒版湇鍔″櫒 + /// </summary> + private void uploadData() + { + HdlThreadLogic.Current.RunThread(async () => + { + this.ShowProgressBar(); + //淇濆瓨鏁版嵁 + if (SmartSound.getInstantiate().LayerList == null) + SmartSound.getInstantiate().LayerList = new List<SmartSound.Layer>(); + + SmartSound.getInstantiate().LayerList.Clear(); + SmartSound.getInstantiate().LayerList = CollateData(); + SmartSound.getInstantiate().TokenID = mSoundInfo.Id; + SmartSound.getInstantiate().UserID = mSoundInfo.UserID; + SmartSound.getInstantiate().HomeID = mSoundInfo.HomeID; + + //涓婁紶鏁版嵁鍒版湇鍔″櫒 + string str = await postBatchEdit(); + CloseProgressBar(); + + HdlThreadLogic.Current.RunMainInThread(() => + { + CloseForm(); + }); + }); } private void LoadAllRoomListView() @@ -108,6 +143,7 @@ listView.Height = bodyFrameLayout.Height- Application.GetRealHeight(173); } + pullLayoutText.Text = layer.LayerName; listView.RemoveAll(); foreach(SmartSound.Room room in layer.RoomList) @@ -133,7 +169,7 @@ // The remote server returned an error: (400) Bad Request. string url = "https://developer.hdlcontrol.com/zigbeespeakerservice/BatchEdit"; string json = Newtonsoft.Json.JsonConvert.SerializeObject(SmartSound.getInstantiate()); - string response_str = await MyHttpWebResponse.PostWebRequest(url, json, Encoding.UTF8); + string response_str = MyHttpWebResponse.PostWebRequest(url, json, Encoding.UTF8); return response_str; } @@ -181,7 +217,6 @@ for (int n = 0; n < SmartSound.LocaData.Count; n++) { SmartSound.Layer layer = SmartSound.LocaData[n]; - foreach (Room room in roomList) { try @@ -206,21 +241,34 @@ if (device == null) continue; + //鍒ゆ柇璇ヨ澶囨槸鍚﹀彲浠ユ樉绀哄湪涓婚〉 + if (LocalDevice.Current.CanShowInHomeHomeMainPage(device) == false) + { + continue; + } + SmartSound.Device smartDevice = new SmartSound.Device(); - //smartDevice.Id = device.DeviceID.ToString();//璁惧 Id smartDevice.DeviceAddress = device.DeviceAddr;//璁惧 MAC smartDevice.Epoint = device.DeviceEpoint;//璁惧绔彛 - //smartDevice.ClusterID = 0; - smartDevice.DeviceName = device.DeviceName;//璁惧鍚嶇О + smartDevice.DeviceName = Common.LocalDevice.Current.GetDeviceEpointName(device);//璁惧鍚嶇О smartDevice.NicksName = ""; smartDevice.DeviceType = GetDeviceType(device);//璁惧绫诲瀷 - smartDevice.GatewayID = device.CurrentGateWayId;//缃戝叧 Id - //smartDevice.RoomID = room.Id;//鎴块棿 Id + if (smartDevice.DeviceType == 0) + continue; + + if(ZbGateway.GateWayBaseInfomations.ContainsKey(device.CurrentGateWayId) ==true) + { + smartDevice.GatewayID = ZbGateway.GateWayBaseInfomations[device.CurrentGateWayId].MacMark;//缃戝叧 Id + } + else + { + smartDevice.GatewayID = device.CurrentGateWayId;//缃戝叧 Id + } + if (smartDevice.DeviceName == "" || smartDevice.DeviceName == string.Empty) continue; smartRoom.DeviceList.Add(smartDevice); - } #endregion @@ -229,25 +277,36 @@ #region //娣诲姞鍦烘櫙 for (int k = 0; k < sceneList.Count; k++) { - SceneUI scene = sceneList[k]; - - if (scene == null) continue; - SmartSound.Scene smartScene = new SmartSound.Scene(); - //smartScene.Id = scene.DeviceID.ToString(); - smartScene.SceneName = scene.Name; - smartScene.SceneID = scene.Id; - smartScene.DelayTime = scene.DelayTime; - //smartScene.ClusterID = 0; - smartScene.NicksName = ""; - //smartScene.RoomID = room.Id; - smartScene.GatewayID = ZbGateway.MainGateWay.GwId; + try + { + SceneUI scene = sceneList[k]; - if (smartScene.SceneName == "" || smartScene.SceneName == string.Empty) - continue; + if (scene == null) continue; + SmartSound.Scene smartScene = new SmartSound.Scene(); + smartScene.SceneName = scene.Name; + smartScene.SceneID = scene.Id; + smartScene.DelayTime = scene.DelayTime; + smartScene.NicksName = ""; + if (ZbGateway.GateWayBaseInfomations.ContainsKey(ZbGateway.MainGateWay.GwId) == true) + { + smartScene.GatewayID = ZbGateway.GateWayBaseInfomations[ZbGateway.MainGateWay.GwId].MacMark;//缃戝叧 Id + } + else + { + smartScene.GatewayID = ZbGateway.MainGateWay.GwId;//缃戝叧 Id + } - smartRoom.SceneList.Add(smartScene); + if (smartScene.SceneName == "" || smartScene.SceneName == string.Empty) + continue; + + smartRoom.SceneList.Add(smartScene); + } + catch (Exception e) { } } #endregion + + if (smartRoom.DeviceList.Count == 0 && sceneList.Count == 0) + layer.RoomList.Remove(smartRoom); } catch (Exception e) @@ -314,7 +373,6 @@ if (tempLayer == null) return; - #region 娣诲姞妤煎眰 bool floor_exists = false; @@ -432,6 +490,7 @@ if (!_device.Checked) { _room.DeviceList.Remove(_device); + k--; } } #endregion @@ -443,6 +502,7 @@ if (!_scene.Checked) { _room.SceneList.Remove(_scene); + n--; } } #endregion @@ -450,6 +510,7 @@ else { _layer.RoomList.Remove(_room); + j--; } } } @@ -461,6 +522,7 @@ if (_layer.RoomList.Count < 1) { TempDatas.Remove(_layer); + j--; } } } @@ -469,135 +531,135 @@ return TempDatas; } - #region 鈻� 鑷畾涔夋ゼ灞傞�夋嫨鎺т欢_____________________ - - /// <summary> - /// 鎴块棿鍒楄〃琛� - /// </summary> - private class MyPullControl : FrameRowControl + #region 鈻� 鑷畾涔夋ゼ灞傞�夋嫨鎺т欢_____________________ + + /// <summary> + /// 鎴块棿鍒楄〃琛� + /// </summary> + private class MyPullControl : FrameRowControl { private SmartSoundControlContentForm smartSoundDataAdd = null; private List<SmartSound.Layer> Layers = null; - /// <summary> - /// 鎴块棿鍒楄〃 - /// </summary> - private NormalViewControl btnName = null; - - /// <summary> - /// 鎴块棿鍒楄〃琛� - /// </summary> - public MyPullControl(SmartSoundControlContentForm _SmartSoundDataAdd,List<SmartSound.Layer> _layers) - { - this.smartSoundDataAdd = _SmartSoundDataAdd; - this.Layers = _layers; + /// <summary> + /// 鎴块棿鍒楄〃 + /// </summary> + private NormalViewControl btnName = null; + + /// <summary> + /// 鎴块棿鍒楄〃琛� + /// </summary> + public MyPullControl(SmartSoundControlContentForm _SmartSoundDataAdd,List<SmartSound.Layer> _layers) + { + this.smartSoundDataAdd = _SmartSoundDataAdd; + this.Layers = _layers; this.UseClickStatu = false; - this.BackgroundColor = UserCenterColor.Current.White; - this.Height = Application.GetRealHeight(173); + this.BackgroundColor = UserCenterColor.Current.White; + this.Height = Application.GetRealHeight(173); } - /// <summary> - /// 鍒濆鍖栨帶浠� - /// </summary> - public void InitControl() + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + public void InitControl() { //鏄剧ず鏂囨湰 - btnName = this.AddLeftCaption(string.Empty, 700); - btnName.Height = Application.GetRealHeight(60); - btnName.TextSize = 17; - btnName.Y = Application.GetRealHeight(57); + btnName = this.AddLeftCaption(string.Empty, 700); + btnName.Height = Application.GetRealHeight(60); + btnName.TextSize = 17; + btnName.Y = Application.GetRealHeight(57); btnName.Text = "鎴块棿鍒楄〃"; - var right_icon=this.AddRightArrow(); - right_icon.SelectedImagePath = "SmartSound/PullDown.png"; - right_icon.UnSelectedImagePath = "SmartSound/PullDown.png"; - right_icon.ButtonClickEvent += (sender, e) => + var right_icon=this.AddRightArrow(); + right_icon.SelectedImagePath = "SmartSound/PullDown.png"; + right_icon.UnSelectedImagePath = "SmartSound/PullDown.png"; + right_icon.ButtonClickEvent += (sender, e) => { ShowPullList(); }; - var layout = this.AddMostRightView(Layers[smartSoundDataAdd.CurrentIndex].LayerName, 300, false); - layout.Name = "pullLayout"; - layout.ButtonClickEvent += (sender, e) => + pullLayoutText = this.AddMostRightView(Layers[smartSoundDataAdd.CurrentIndex].LayerName, 300, false); + pullLayoutText.Name = "pullLayout"; + pullLayoutText.ButtonClickEvent += (sender, e) => { ShowPullList(); - }; - + }; + pullLayoutText.Text = Layers[smartSoundDataAdd.CurrentIndex].LayerName; + if (Layers.Count == 1) - { - right_icon.Visible = false; - layout.Visible = false; - } - - } - + { + right_icon.Visible = false; + pullLayoutText.Visible = false; + } + } + private void ShowPullList() { //鎴块棿鍒楄〃琛寋鎴块棿鍒楄〃 textView锛屾ゼ灞備笅鎷夌獥} //鏄剧ず鎴块棿{甯﹂�夋嫨妗嗙殑锛涘綋閫変腑浜嗘埧闂村悗闇�瑕佸湪搴曢儴寮瑰嚭纭鎸夐挳锛岀偣鍑荤‘璁よ烦杞埌鏂扮殑鐣岄潰} var pull_frame = new TopRightMenuControl(Layers.Count, 2); + pull_frame.Y = this.Height; for (int i = 0; i < Layers.Count; i++) { + int index = i; //鍒涘缓妤煎眰 pull_frame.AddRowMenu(Layers[i].LayerName, "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () => { - smartSoundDataAdd.CurrentIndex = i; + smartSoundDataAdd.CurrentIndex = index; smartSoundDataAdd.LoadAllRoomListView(); }); } - } + } } #endregion - #region 鈻� 鑷畾涔夋埧闂撮�夋嫨鎺т欢_____________________ + #region 鈻� 鑷畾涔夋埧闂撮�夋嫨鎺т欢_____________________ - /// <summary> - /// 鎴块棿鍒楄〃琛� - /// </summary> - private class RoomRowLayout : FrameRowControl + /// <summary> + /// 鎴块棿鍒楄〃琛� + /// </summary> + private class RoomRowLayout : FrameRowControl { private SmartSoundControlContentForm smartSoundControlContentForm = null; private SmartSound.Room mRoom = null; - /// <summary> - /// 鎴块棿鍚嶇О - /// </summary> - private NormalViewControl btnName = null; - - private IconViewControl Right_icon = null; - - /// <summary> - /// 鎴块棿鍒楄〃琛� - /// </summary> - public RoomRowLayout(SmartSoundControlContentForm _smartSoundControlContentForm,SmartSound.Room _room) - { - this.smartSoundControlContentForm = _smartSoundControlContentForm; - this.mRoom = _room; + /// <summary> + /// 鎴块棿鍚嶇О + /// </summary> + private NormalViewControl btnName = null; + + private MostRightIconControl Right_icon = null; + + /// <summary> + /// 鎴块棿鍒楄〃琛� + /// </summary> + public RoomRowLayout(SmartSoundControlContentForm _smartSoundControlContentForm,SmartSound.Room _room) + { + this.smartSoundControlContentForm = _smartSoundControlContentForm; + this.mRoom = _room; this.UseClickStatu = false; - this.BackgroundColor = UserCenterColor.Current.White; - this.Height = Application.GetRealHeight(170); + this.BackgroundColor = UserCenterColor.Current.White; + this.Height = Application.GetRealHeight(170); } - /// <summary> - /// 鍒濆鍖栨帶浠� - /// </summary> - public void InitControl() + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + public void InitControl() { //鏄剧ず鏂囨湰 - btnName = this.AddLeftCaption(string.Empty, 2000); - btnName.Height = Application.GetRealHeight(60); - btnName.TextSize = 17; - btnName.Y = Application.GetRealHeight(57); + btnName = this.AddLeftCaption(string.Empty, 2000); + btnName.Height = Application.GetRealHeight(60); + btnName.TextSize = 14; + btnName.Y = Application.GetRealHeight(57); btnName.Text = mRoom.RoomName; - Right_icon = this.AddRightArrow(); - Right_icon.Width = Application.GetRealWidth(115); - Right_icon.Height = Application.GetRealHeight(115); - Right_icon.Gravity = Gravity.CenterVertical; - Right_icon.X = Right_icon.X - Application.GetRealWidth(60); - btnName.ButtonClickEvent += (sender, e) => + Right_icon = this.AddMostRightEmptyIcon(58, 58); + Right_icon.Gravity = Gravity.CenterVertical; + + btnName.ButtonClickEvent += (sender, e) => { mRoom.Checked = true; RefreshRightIconState(mRoom.Checked); @@ -614,23 +676,23 @@ RefreshRightIconState(mRoom.Checked); AddBottomLine(); - } - + } + private void RefreshRightIconState(bool bol = false) - { + { try { if (bol) { - Right_icon.SelectedImagePath = "SmartSound/CheckBoxSel.png"; - Right_icon.UnSelectedImagePath = "SmartSound/CheckBoxSel.png"; + Right_icon.SelectedImagePath = "Item/ItemSelected.png"; + Right_icon.UnSelectedImagePath = "Item/ItemSelected.png"; smartSoundControlContentForm.AddData(mRoom); } else { - Right_icon.SelectedImagePath = "SmartSound/CheckBoxDef.png"; - Right_icon.UnSelectedImagePath = "SmartSound/CheckBoxDef.png"; + Right_icon.SelectedImagePath = "Item/ItemUnSelected.png"; + Right_icon.UnSelectedImagePath = "Item/ItemUnSelected.png"; smartSoundControlContentForm.RemoveData(mRoom); } @@ -654,9 +716,9 @@ { string error = e.Message; } - } - - } + } + + } #endregion } } -- Gitblit v1.8.0