Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs
@@ -343,11 +343,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 +451,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,7 +462,9 @@
                                dialogView.AddChidren (etDeviceName);
                                etDeviceName.TextChangeEventHandler += (sender, e) => {
                                    byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                    if (remakeBytes.Length > 20) {
                                        etDeviceName.Text = CommonPage.MyEncodingGB2312.GetString (remakeBytes, 0, 20);
                                        new Alert ("", "Remark length exceeded the limit. ", "Close").Show ();
                                    }
                                };
@@ -496,8 +499,15 @@
                                dialogBottomView.AddChidren (editor);
                                editor.MouseUpEventHandler += (dff, ffd) => {
                                    MainPage.Loading.Start ();
                                    byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                    if (remakeBytes.Length > 20) {
                                        new Alert ("", "Remark length exceeded the limit. ", "Close").Show ();
                                        return;
                                    }
                                    MainPage.Loading.Start ();
                                    //byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                    System.Threading.Tasks.Task.Run (() => {
                                        byte [] updateBytes = null;
                                        if (commonDevice.Type == DeviceType.LightSwitchSocket) {
@@ -520,7 +530,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 +601,7 @@
                            deviceScrolView.AddChidren (btnRowLine);
                        });
                    } catch (Exception ex) {
                        Console.WriteLine (ex.Message);
                        Utlis.WriteLine (ex.Message);
                    }
                }
            });