JLChen
2021-01-05 f500e14c0a994487070380c50c85e0929cbc8e63
Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs
@@ -267,6 +267,15 @@
                    globalSceneFileList = new List<string> ();
                }
                List<string> RoomsSceneFileList = new List<string> ();
                //2020-07-24 增加房间场景
                foreach (var r in Room.Lists) {
                    if (string.IsNullOrEmpty (r.Name)) {
                        continue;
                    }
                    if (r != null) {
                        RoomsSceneFileList.AddRange (r.SceneFilePathList);
                    }
                }
                List<string> TargetList = new List<string> ();
                if (selectedDeviceType == "Scene") {
@@ -343,11 +352,11 @@
                        }
                        var commonBytes = IO.FileUtils.ReadFile (deviceFilePath);
                        if (commonBytes.Length == 0) {
                            Console.WriteLine ("length loss");
                            Utlis.WriteLine ("length loss");
                            continue;
                        }
                        if (commonBytes.Length == 1) {
                            Console.WriteLine ("length loss 1");
                            Utlis.WriteLine ("length loss 1");
                            continue;
                        }
                        if (str [1] == DeviceType.InfraredMode.ToString ()) {
@@ -451,7 +460,8 @@
                                    Gravity = Gravity.CenterHorizontal,
                                    Width = Application.GetRealWidth (350),
                                    Height = Application.GetRealHeight (70),
                                    Text = commonDevice.Name,
                                    //Text = commonDevice.Name,
                                    Text = commonDevice.Name.TrimEnd (),
                                    TextAlignment = TextAlignment.Center,
                                    TextColor = SkinStyle.Current.TextColor,
                                    Radius = 1,
@@ -461,8 +471,10 @@
                                dialogView.AddChidren (etDeviceName);
                                etDeviceName.TextChangeEventHandler += (sender, e) => {
                                    byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                    if (remakeBytes.Length > 20) {
                                        new Alert ("", "Remark length exceeded the limit. ", "Close").Show ();
                                        etDeviceName.Text = CommonPage.MyEncodingGB2312.GetString (remakeBytes, 0, 20);
                                        new Alert ("", ErrorCode.RemarkLengthExceededTheLimit, "Close").Show ();
                                    }
                                };
@@ -496,8 +508,21 @@
                                dialogBottomView.AddChidren (editor);
                                editor.MouseUpEventHandler += (dff, ffd) => {
                                    string remakeStr = etDeviceName.Text.Trim ();
                                    if (string.IsNullOrEmpty (remakeStr)) {
                                        //备注不能为空
                                        new Alert ("", ErrorCode.RemarksCannotBeEmpty, "Close").Show ();
                                        return;
                                    }
                                    byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (remakeStr);
                                    if (remakeBytes.Length > 20) {
                                        new Alert ("", ErrorCode.RemarkLengthExceededTheLimit, "Close").Show ();
                                        return;
                                    }
                                    MainPage.Loading.Start ();
                                    byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                    //byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                    System.Threading.Tasks.Task.Run (() => {
                                        byte [] updateBytes = null;
                                        if (commonDevice.Type == DeviceType.LightSwitchSocket) {
@@ -520,7 +545,23 @@
                                        if (reBytes != null) {
                                            Application.RunOnMainThread (() => {
                                                btnEquipment.Text = commonDevice.Name = etDeviceName.Text.Trim ();
                                                IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                if (commonDevice.Type == DeviceType.InfraredMode) {
                                                    //2020-07-03 修复红外电视修改后变红外模块问题
                                                    InfraredMode mTV = Newtonsoft.Json.JsonConvert.DeserializeObject<InfraredMode> (System.Text.Encoding.UTF8.GetString (commonBytes));
                                                    if (mTV == null) {
                                                        IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                    } else {
                                                        mTV.Name = etDeviceName.Text.Trim ();
                                                        IO.FileUtils.SaveEquipmentMessage (mTV, mTV.LoopID.ToString ());
                                                    }
                                                } else {
                                                    IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                }
                                                //IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                MainPage.Loading.Hide ();
                                                dialog.Close ();
                                            });
@@ -575,7 +616,7 @@
                            deviceScrolView.AddChidren (btnRowLine);
                        });
                    } catch (Exception ex) {
                        Console.WriteLine (ex.Message);
                        Utlis.WriteLine (ex.Message);
                    }
                }
            });