1
wxr
2022-12-30 9ebd6edb9beddf1a6881b2ca924ed43bf5cedfbe
SmartHome/UI/SimpleControl/Phone/System/RemoteOnePort.cs
@@ -318,7 +318,6 @@
                        try {
                            #region 搜索设备
                            CommonPage.LocalPhoneFindDevice = true;
                            CommonPage.RandomHigh = (byte)new Random ().Next (255);
                            CommonPage.RandomLow = (byte)new Random ().Next (255);
                            CommonPage.GateWayList.Clear ();
@@ -346,7 +345,7 @@
                                Control control = new Control ();
                                control.Send (new Target () {
                                    IPEndPoint = CommonPage.EndPoint,
                                    Command = Command.ReadGateway,
                                    Command = Command.ReadRemark,
                                    SubnetID = 0xFF,
                                    DeviceID = 0xFF,
                                    AddData = ms.ToArray ()
@@ -365,7 +364,6 @@
                                ShowGateWayView ();
                            });
                            CommonPage.LocalPhoneFindDevice = false;
                            #endregion
                        } catch (Exception ex) {
                            Console.WriteLine (ex.ToString ());
@@ -450,7 +448,6 @@
            Button rightButton1 = new Button () {
                X = Application.GetRealWidth (480),
                Width = Application.GetRealWidth (100),
                Height = Application.GetRealHeight (40),
                Gravity = Gravity.CenterVertical,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = SkinStyle.Current.TextColor1,
@@ -460,87 +457,177 @@
            };
            wirelessView.AddChidren (rightButton1);
            new System.Threading.Thread (() => {
                var serverIPBytes = Control.ControlBytesSendHasReturn (Command.ReadGatewayServerIP, common.SubnetID, common.DeviceID, new byte [] { });
                if (serverIPBytes != null) {
                    try {
                        string serverIP1 = serverIPBytes [0].ToString () + "." + serverIPBytes [1].ToString () + "." +
                            serverIPBytes [2].ToString () + "." + serverIPBytes [3].ToString ();
                        string serverIP1Point = ((serverIPBytes [4] * 256) + serverIPBytes [5]).ToString ();
                        string serverIP2 = serverIPBytes [6].ToString () + "." + serverIPBytes [7].ToString () + "." +
                            serverIPBytes [8].ToString () + "." + serverIPBytes [9].ToString ();
                        string serverIP2Point = ((serverIPBytes [10] * 256) + serverIPBytes [11]).ToString ();
                        if (serverIP1 == "118.31.3.103" || serverIP2 == "118.31.3.103") {
                            Application.RunOnMainThread (() => {
                                rightButton1.Text = text_Upgraded;
                                rightButton1.TextColor = 0xFF00FF00;
                                return;
                            });
                        } else if (serverIP1 != "115.29.251.24" && serverIP2 != "115.29.251.24") {
                            Application.RunOnMainThread (() => {
                                rightButton1.Text = text_UnknownVersion;
                                rightButton1.TextColor = 0xFF00FF00;
                                return;
                            });
                        } else {
                            Application.RunOnMainThread (() => {
                                rightButton1.Text = text_Upgrading;
                                rightButton1.TextColor = 0xFF0000FF;
                            });
                            if (serverIP1 == "115.29.251.24") {
                                serverIP1 = "118.31.3.103";
                                serverIP1Point = "9999";
            if (Language.CurrentLanguage != "Chinese") {
                //修改国外服务器
                new System.Threading.Thread (() => {
                    var serverIPBytes = Control.ControlBytesSendHasReturn (Command.ReadGatewayServerIP, common.SubnetID, common.DeviceID, new byte [] { });
                    if (serverIPBytes != null) {
                        try {
                            string serverIP1 = serverIPBytes [0].ToString () + "." + serverIPBytes [1].ToString () + "." +
                                serverIPBytes [2].ToString () + "." + serverIPBytes [3].ToString ();
                            string serverIP1Point = ((serverIPBytes [4] * 256) + serverIPBytes [5]).ToString ();
                            string serverIP2 = serverIPBytes [6].ToString () + "." + serverIPBytes [7].ToString () + "." +
                                serverIPBytes [8].ToString () + "." + serverIPBytes [9].ToString ();
                            string serverIP2Point = ((serverIPBytes [10] * 256) + serverIPBytes [11]).ToString ();
                                serverIPBytes [0] = 118;
                                serverIPBytes [1] = 31;
                                serverIPBytes [2] = 3;
                                serverIPBytes [3] = 103;
                                serverIPBytes [4] = Convert.ToByte (9999 / 256);
                                serverIPBytes [5] = Convert.ToByte (9999 % 256);
                            }
                            if (serverIP2 == "115.29.251.24") {
                                serverIP2 = "118.31.3.103";
                                serverIP2Point = "9999";
                                serverIPBytes [0 + 6] = 118;
                                serverIPBytes [1 + 6] = 31;
                                serverIPBytes [2 + 6] = 3;
                                serverIPBytes [3 + 6] = 103;
                                serverIPBytes [4 + 6] = Convert.ToByte (9999 / 256);
                                serverIPBytes [5 + 6] = Convert.ToByte (9999 % 256);
                            }
                            var mobytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInternetInfo, common.SubnetID, common.DeviceID, serverIPBytes);
                            if (mobytes == null || mobytes [0] == 0xF5) {
                            if (serverIP1 == "157.175.231.123" || serverIP2 == "157.175.231.123") {//巴林服务器
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_Upgraded;
                                    rightButton1.TextColor = 0xFF00FF00;
                                });
                            }
                            else if (serverIP1 == "115.29.251.24" || serverIP2 == "115.29.251.24"//旧服务器
                                      || serverIP1 == "118.31.3.103" || serverIP2 == "118.31.3.103") {//新国内服务器
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_Upgrading;
                                    rightButton1.TextColor = 0xFF0000FF;
                                });
                                if (serverIP1 == "115.29.251.24" || serverIP1 == "118.31.3.103") {//旧服务器//新国内服务器
                                    serverIP1 = "157.175.231.123";//巴林服务器
                                    serverIP1Point = "9999";
                                    serverIPBytes [0] = 157;
                                    serverIPBytes [1] = 175;
                                    serverIPBytes [2] = 231;
                                    serverIPBytes [3] = 123;
                                    serverIPBytes [4] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5] = Convert.ToByte (9999 % 256);
                                }
                                if (serverIP2 == "115.29.251.24" || serverIP2 == "118.31.3.103") {//旧服务器//新国内服务器
                                    serverIP2 = "157.175.231.123";//巴林服务器
                                    serverIP2Point = "9999";
                                    serverIPBytes [0 + 6] = 157;
                                    serverIPBytes [1 + 6] = 175;
                                    serverIPBytes [2 + 6] = 231;
                                    serverIPBytes [3 + 6] = 123;
                                    serverIPBytes [4 + 6] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5 + 6] = Convert.ToByte (9999 % 256);
                                }
                                var mobytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInternetInfo, common.SubnetID, common.DeviceID, serverIPBytes);
                                if (mobytes == null || mobytes [0] == 0xF5) {
                                    Application.RunOnMainThread (() => {
                                        rightButton1.Text = text_UpgradeFailed;
                                        rightButton1.TextColor = 0x99ff0000;
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_UpgradeFailed;
                                            rightButton1.TextColor = 0x99ff0000;
                                        });
                                    });
                                } else {
                                    Application.RunOnMainThread (() => {
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_Upgraded;
                                            rightButton1.TextColor = 0xFF00FF00;
                                        });
                                    });
                                }
                            }
                            else {
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_UnknownVersion;
                                    rightButton1.TextColor = 0xFF00FF00;
                                });
                            }
                        } catch (Exception ex) {
                            Console.WriteLine ("一端口远程ip信息转译失败.");
                        }
                    } else {
                        Application.RunOnMainThread (() => {
                            rightButton1.Text = text_readFailure;
                            rightButton1.TextColor = 0x99ff0000;
                        });
                    }
                }) { IsBackground = true }.Start ();
            } else {
                //修改国内服务器
                new System.Threading.Thread (() => {
                    var serverIPBytes = Control.ControlBytesSendHasReturn (Command.ReadGatewayServerIP, common.SubnetID, common.DeviceID, new byte [] { });
                    if (serverIPBytes != null) {
                        try {
                            string serverIP1 = serverIPBytes [0].ToString () + "." + serverIPBytes [1].ToString () + "." +
                                serverIPBytes [2].ToString () + "." + serverIPBytes [3].ToString ();
                            string serverIP1Point = ((serverIPBytes [4] * 256) + serverIPBytes [5]).ToString ();
                            string serverIP2 = serverIPBytes [6].ToString () + "." + serverIPBytes [7].ToString () + "." +
                                serverIPBytes [8].ToString () + "." + serverIPBytes [9].ToString ();
                            string serverIP2Point = ((serverIPBytes [10] * 256) + serverIPBytes [11]).ToString ();
                            if (serverIP1 == "118.31.3.103" || serverIP2 == "118.31.3.103") {
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_Upgraded;
                                    rightButton1.TextColor = 0xFF00FF00;
                                    return;
                                });
                            } else if (serverIP1 != "115.29.251.24" && serverIP2 != "115.29.251.24") {
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_UnknownVersion;
                                    rightButton1.TextColor = 0xFF00FF00;
                                    return;
                                });
                            } else {
                                Application.RunOnMainThread (() => {
                                    Application.RunOnMainThread (() => {
                                        rightButton1.Text = text_Upgraded;
                                        rightButton1.TextColor = 0xFF00FF00;
                                    });
                                    rightButton1.Text = text_Upgrading;
                                    rightButton1.TextColor = 0xFF0000FF;
                                });
                                if (serverIP1 == "115.29.251.24") {
                                    serverIP1 = "118.31.3.103";
                                    serverIP1Point = "9999";
                                    serverIPBytes [0] = 118;
                                    serverIPBytes [1] = 31;
                                    serverIPBytes [2] = 3;
                                    serverIPBytes [3] = 103;
                                    serverIPBytes [4] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5] = Convert.ToByte (9999 % 256);
                                }
                                if (serverIP2 == "115.29.251.24") {
                                    serverIP2 = "118.31.3.103";
                                    serverIP2Point = "9999";
                                    serverIPBytes [0 + 6] = 118;
                                    serverIPBytes [1 + 6] = 31;
                                    serverIPBytes [2 + 6] = 3;
                                    serverIPBytes [3 + 6] = 103;
                                    serverIPBytes [4 + 6] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5 + 6] = Convert.ToByte (9999 % 256);
                                }
                                var mobytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInternetInfo, common.SubnetID, common.DeviceID, serverIPBytes);
                                if (mobytes == null || mobytes [0] == 0xF5) {
                                    Application.RunOnMainThread (() => {
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_UpgradeFailed;
                                            rightButton1.TextColor = 0x99ff0000;
                                        });
                                    });
                                } else {
                                    Application.RunOnMainThread (() => {
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_Upgraded;
                                            rightButton1.TextColor = 0xFF00FF00;
                                        });
                                    });
                                }
                            }
                        } catch (Exception ex) {
                            Console.WriteLine ("一端口远程ip信息转译失败.");
                        }
                    } catch (Exception ex) {
                        Console.WriteLine ("一端口远程ip信息转译失败.");
                    } else {
                        Application.RunOnMainThread (() => {
                            rightButton1.Text = text_UnknownVersion;
                            rightButton1.TextColor = 0xFF00FF00;
                        });
                    }
                } else {
                    Application.RunOnMainThread (() => {
                        rightButton1.Text = text_UnknownVersion;
                        rightButton1.TextColor = 0xFF00FF00;
                    });
                }
            }) { IsBackground = true }.Start ();
                }) { IsBackground = true }.Start ();
            }
        }
    }
}