JLChen
2021-01-11 5a5a2b696866f947b6025d26c3302e8ffef46435
Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/AlexaSettingPage.cs
@@ -187,16 +187,16 @@
                    || typeString.ToString () == DeviceType.CurtainTrietex.ToString ()
                    #endregion
                    #region ac
                    || typeString.ToString () == DeviceType.ACPanel.ToString ()
                    || typeString.ToString () == DeviceType.ACDevice.ToString ()
                    || typeString.ToString () == DeviceType.ACInfrared.ToString ()
                    || typeString.ToString () == DeviceType.ACCoolmaster.ToString ()
                    || typeString.ToString () == DeviceType.CustomAC.ToString ()
                    || typeString.ToString () == DeviceType.HVAC.ToString ()
                    //|| typeString.ToString () == DeviceType.ACPanel.ToString ()
                    //|| typeString.ToString () == DeviceType.ACDevice.ToString ()
                    //|| typeString.ToString () == DeviceType.ACInfrared.ToString ()
                    //|| typeString.ToString () == DeviceType.ACCoolmaster.ToString ()
                    //|| typeString.ToString () == DeviceType.CustomAC.ToString ()
                    //|| typeString.ToString () == DeviceType.HVAC.ToString ()
                    #endregion
                    #region 
                    || typeString.ToString () == DeviceType.FanModule.ToString ()
                    || typeString.ToString () == DeviceType.UniversalDevice.ToString ()
                    //|| typeString.ToString () == DeviceType.UniversalDevice.ToString ()
                    #endregion
                    );
                });
@@ -283,6 +283,8 @@
                            deviceFilePath = deviceFilePath.Replace ("LightSwitchSocket", "LightSwitch");
                        } else if(deviceFilePath.Contains("ACInfrared")) {
                            deviceFilePath = deviceFilePath.Replace ("ACInfrared", "HVAC");
                        } else if (deviceFilePath.Contains ("CurtainModel")) {
                            deviceFilePath = deviceFilePath.Replace ("CurtainModel", "CurtainModule");
                        }
                        Common commonDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (System.Text.Encoding.UTF8.GetString (commonBytes));
                        if (commonDevice.Type == DeviceType.OnePortBus || commonDevice.Type == DeviceType.OnePortWirelessFR || commonDevice.Type == DeviceType.OnePortMqttFR || commonDevice.Type == DeviceType.RCU
@@ -343,112 +345,25 @@
                            if (selectedDeviceType != "Scene") {
                                //2020-01-10 隐藏修改按钮
                                //return;
                                //var btnEdit = new Button () {
                                //    X = btnEquipment.Right + Application.GetRealWidth (80),
                                //    Width = Application.GetRealWidth (75),
                                //    Height = Application.GetRealHeight (72),
                                //    Gravity = Gravity.CenterVertical,
                                //    UnSelectedImagePath = "CrabtreeAdd/Edit.png",
                                //    SelectedImagePath = "CrabtreeAdd/EditOn.png",
                                //};
                                //deviceRow.AddChidren (btnEdit);
                                //btnEdit.MouseUpEventHandler += (sd, ds) => {
                                //    Dialog dialog = new Dialog ();
                                var btnEdit = new Button () {
                                    X = btnEquipment.Right + Application.GetRealWidth (80),
                                    Width = Application.GetMinRealAverage (75),
                                    Height = Application.GetMinRealAverage (72),
                                    Gravity = Gravity.CenterVertical,
                                    UnSelectedImagePath = "CrabtreeAdd/Edit.png",
                                    SelectedImagePath = "CrabtreeAdd/EditOn.png",
                                };
                                deviceRow.AddChidren (btnEdit);
                                //    var dialogView = new FrameLayout () {
                                //        Gravity = Gravity.Center,
                                //        Width = Application.GetRealWidth (500),
                                //        Height = Application.GetRealHeight (300),
                                //        BackgroundColor = SkinStyle.Current.DialogColor,
                                //        Radius = 5,
                                //        BorderColor = SkinStyle.Current.Transparent,
                                //        BorderWidth = 1,
                                //    };
                                //    dialog.AddChidren (dialogView);
                                //    var etDeviceName = new EditText () {
                                //        Y = Application.GetRealHeight (80),
                                //        Gravity = Gravity.CenterHorizontal,
                                //        Width = Application.GetRealWidth (350),
                                //        Height = Application.GetRealHeight (70),
                                //        Text = commonDevice.Name,
                                //        TextAlignment = TextAlignment.Center,
                                //        TextColor = SkinStyle.Current.TextColor,
                                //        Radius = 1,
                                //        BorderWidth = 1,
                                //        BorderColor = SkinStyle.Current.BorderColor,
                                //    };
                                //    dialogView.AddChidren (etDeviceName);
                                //    etDeviceName.EditorEnterAction += (obj2) => {
                                //        Application.HideSoftInput ();
                                //    };
                                //    var dialogBottomView = new FrameLayout () {
                                //        Y = Application.GetRealHeight (213),
                                //        Height = Application.GetRealHeight (90),
                                //        BackgroundColor = SkinStyle.Current.Black50Transparent,
                                //    };
                                //    dialogView.AddChidren (dialogBottomView);
                                //    var btnClose = new Button () {
                                //        Width = Application.GetRealWidth (250),
                                //        TextAlignment = TextAlignment.Center,
                                //        TextID = R.MyInternationalizationString.cancel,
                                //        TextColor = SkinStyle.Current.TextColor,
                                //        BackgroundColor = SkinStyle.Current.ButtonColor,
                                //    };
                                //    dialogBottomView.AddChidren (btnClose);
                                //    btnClose.MouseUpEventHandler += (ddss, dddsss) => {
                                //        dialog.Close ();
                                //    };
                                //    var editor = new Button () {
                                //        X = btnClose.Right + 1,
                                //        Width = Application.GetRealWidth (250),
                                //        TextAlignment = TextAlignment.Center,
                                //        TextID = R.MyInternationalizationString.SAVE,
                                //        TextColor = SkinStyle.Current.TextColor,
                                //        BackgroundColor = SkinStyle.Current.ButtonColor,
                                //    };
                                //    dialogBottomView.AddChidren (editor);
                                //    editor.MouseUpEventHandler += (dff, ffd) => {
                                //        MainPage.Loading.Start ();
                                //        byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                //        System.Threading.Tasks.Task.Run (() => {
                                //            byte [] updateBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, commonDevice.SubnetID, commonDevice.DeviceID, new byte [] { commonDevice.BigClass, commonDevice.MinClass, commonDevice.LoopID });
                                //            if (updateBytes == null) {
                                //                Application.RunOnMainThread (() => {
                                //                    new Alert ("", Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                                //                    MainPage.Loading.Hide ();
                                //                    dialog.Close ();
                                //                });
                                //                return;
                                //            }
                                //            byte [] uBytes = new byte [20];
                                //            Array.Copy (remakeBytes, 0, uBytes, 0, remakeBytes.Length < 20 ? remakeBytes.Length : 20);
                                //            Array.Copy (uBytes, 0, updateBytes, 3, 20 < uBytes.Length ? 20 : uBytes.Length);
                                //            var reBytes = Control.ControlBytesSendHasReturn (Command.SetDeviceLoopInfo, commonDevice.SubnetID, commonDevice.DeviceID, updateBytes);
                                //            if (reBytes != null) {
                                //                Application.RunOnMainThread (() => {
                                //                    btnEquipment.Text = commonDevice.Name = etDeviceName.Text.Trim ();
                                //                    IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                //                    MainPage.Loading.Hide ();
                                //                    dialog.Close ();
                                //                });
                                //            } else {
                                //                Application.RunOnMainThread (() => {
                                //                    new Alert ("", Language.StringByID (R.MyInternationalizationString.FailureToModify), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                                //                    MainPage.Loading.Hide ();
                                //                    dialog.Close ();
                                //                });
                                //            }
                                //        });
                                //    };
                                //    dialog.Show ();
                                //};
                                btnEdit.MouseUpEventHandler += (sd, ds) => {
                                    Action successAction = () => {
                                        GenericDialog.Current.RefreshRemark (commonDevice);
                                        if (!roomDeviceFilePathList.Contains (filePath)) {
                                            roomDeviceFilePathList.Add (filePath);
                                        }
                                    };
                                    GenericDialog.Current.ShowModifyRemarksDialog (commonDevice, commonBytes, btnEquipment, successAction);
                                };
                            }
                            var btnChoose = new Button () {
@@ -463,6 +378,8 @@
                            };
                            btnChoose.AddTag ("DeviceFilePath", deviceFilePath);
                            deviceRow.AddChidren (btnChoose);
                            btnChoose.MouseUpEventHandler += (sendere, ee) => {
                                btnChoose.IsSelected = !btnChoose.IsSelected;
@@ -483,6 +400,21 @@
                                    showList.Remove (((Button)sendere).Tag.ToString ());
                                }
                            };
                            if (selectedDeviceType == "Scene") {
                                //string [] str = filePath.Split ('_');
                                var sceneName = str [str.Length - 2];//倒数第一位为场景名
                                btnChoose.IsSelected = showList.Contains (sceneName);
                                btnChoose.Enable = !btnChoose.IsSelected;
                            } else {
                                //2020-07-23 如果匹配则判断是否添加真正的路径
                                if (btnChoose.IsSelected) {
                                    if (!roomDeviceFilePathList.Contains (filePath)) {
                                        roomDeviceFilePathList.Add (filePath);
                                    }
                                }
                            }
                        });
                    } catch (Exception ex) {
                        Utlis.WriteLine (ex.Message);
@@ -500,7 +432,7 @@
                    Language.StringByID(R.MyInternationalizationString.All),
                    Language.StringByID(R.MyInternationalizationString.Scenes),
                    Language.StringByID(R.MyInternationalizationString.Lights),
                    Language.StringByID(R.MyInternationalizationString.AC),
                    //Language.StringByID(R.MyInternationalizationString.AC),
                    Language.StringByID(R.MyInternationalizationString.Curtains),
                    //Language.StringByID(R.MyInternationalizationString.FoolHeat),
                    //Language.StringByID(R.MyInternationalizationString.FreshAir),
@@ -510,7 +442,7 @@
                    //Language.StringByID (R.MyInternationalizationString.LogicModule),
                    //Language.StringByID(R.MyInternationalizationString.ElectricalControl),
                    //Language.StringByID (R.MyInternationalizationString.MusicModel),
                    Language.StringByID (R.MyInternationalizationString.UniversalDevice),
                    //Language.StringByID (R.MyInternationalizationString.UniversalDevice),
                    //Language.StringByID (R.MyInternationalizationString.Sensor),
                };