| | |
| | | goNext = CheckIfGoNext (common); |
| | | |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.Message); |
| | | Utlis.WriteLine (ex.Message); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | CommonPage.FindGatewayChilrenIPAddress = common.IPAddress; |
| | | inThisView = false; |
| | | if (inView != null) { |
| | | Console.WriteLine ("inView != null"); |
| | | Utlis.WriteLine ("inView != null"); |
| | | var deviceListView = new GuideSettingGateway (common); |
| | | (inView.Parent as PageLayout).AddChidren (deviceListView); |
| | | deviceListView.ShowPage (); |
| | | (inView.Parent as PageLayout).PageIndex = (inView.Parent as PageLayout).ChildrenCount - 1; |
| | | } else { |
| | | Console.WriteLine ("inView == null"); |
| | | Utlis.WriteLine ("inView == null"); |
| | | UserHomePage.FrameLayoutMain.AddChidren (UserMiddle.guidePageView); |
| | | var guide = new GuideAddResidence (); |
| | | UserMiddle.guidePageView.AddChidren (guide); |
| | | guide.ShowHomeList (); |
| | | guide.ShowHomeView (); |
| | | UserMiddle.guidePageView.PageIndex = 0; |
| | | //重置为加密模式 |
| | | UserConfig.Instance.IsLocalEncrypt = true; |
| | |
| | | |
| | | |
| | | static bool inThisView = false; |
| | | Alert checkInternetAlert = new Alert ("", "Your phone in not connected to WIFI network, please connet", "Close", "Search again"); |
| | | Alert confirmAlert = new Alert ("", "Please make sure gateway is powered up and comect to WiFi router.", "Close", "Search again"); |
| | | Alert confirmAlert1 = new Alert ("", "If not all the gateways are in the list,you can search again.", "Close", "Search again"); |
| | | //Alert checkInternetAlert = new Alert ("", "Your phone in not connected to WIFI network, please connet", "Close", "Search again"); |
| | | //Alert confirmAlert = new Alert ("", "Please make sure gateway is powered up and comect to WiFi router.", "Close", "Search again"); |
| | | //Alert confirmAlert1 = new Alert ("", "If not all the gateways are in the list,you can search again.", "Close", "Search again"); |
| | | //Alert wrongPasswordAlert = new Alert ("", ErrorCode.GatewayPasswordError, "Close", "Search again"); |
| | | |
| | | void SearchGatewayList () |
| | | { |
| | | if (UserConfig.Instance.internetStatus == 0 || UserConfig.Instance.internetStatus == 1) { |
| | | Alert checkInternetAlert = new Alert ("", ErrorCode.NotConnectedToWIFI, "Close", "Search again"); |
| | | |
| | | checkInternetAlert.Show (); |
| | | |
| | | checkInternetAlert.ResultEventHandler += (dsss, eee) => { |
| | |
| | | #region 搜索设备 |
| | | ////2020-01-14 默认明文开始搜索 |
| | | UserConfig.Instance.IsLocalEncrypt = false; |
| | | UserConfig.Instance.EncryptedPasswordCorrect = true; |
| | | |
| | | CommonPage.LocalPhoneFindDevice = true; |
| | | CommonPage.RandomHigh = (byte)new Random ().Next (255); |
| | |
| | | } |
| | | Control control = new Control (); |
| | | |
| | | Console.WriteLine ("组播搜索网关,搜索地址是:" + CommonPage.EndPoint.ToString () + " " + CommonPage.GateWayList.Count); |
| | | Utlis.WriteLine ("组播搜索网关,搜索地址是:" + CommonPage.EndPoint.ToString () + " " + CommonPage.GateWayList.Count); |
| | | control.Send (new Target () { |
| | | IPEndPoint = CommonPage.EndPoint, |
| | | Command = Command.ReadGateway, |
| | |
| | | AddData = ms.ToArray () |
| | | }, SendCount.Zero, false); |
| | | |
| | | Console.WriteLine ("广播搜索网关,搜索地址是:" + new Net.NetWiFi ().BroadcastIpAddress.ToString () + " " + CommonPage.GateWayList.Count); |
| | | Utlis.WriteLine ("广播搜索网关,搜索地址是:" + new Net.NetWiFi ().BroadcastIpAddress.ToString () + " " + CommonPage.GateWayList.Count); |
| | | control.Send (new Target () { |
| | | IPEndPoint = new System.Net.IPEndPoint (new Net.NetWiFi ().BroadcastIpAddress, 6000), |
| | | Command = Command.ReadGateway, |
| | |
| | | CommonPage.LocalPhoneFindDevice = false; |
| | | #endregion |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.ToString ()); |
| | | Utlis.WriteLine (ex.ToString ()); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | if (CommonPage.GateWayList.Count == 0) { |
| | | MainPage.Loading.Hide (); |
| | | if (this != null && this.Parent != null) { |
| | | confirmAlert.Show (); |
| | | confirmAlert.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | | if (ddd) { |
| | | SearchGatewayList (); |
| | | } |
| | | }; |
| | | ShowConfirmAlert (); |
| | | |
| | | |
| | | } |
| | | } else { |
| | | if (this != null && this.Parent != null) { |
| | | if (inThisView) {// this.Parent.GetChildren (this.Parent.ChildrenCount - 1) == this) { |
| | | Alert confirmAlert1 = new Alert ("", ErrorCode.IfAllTheGatewaysAreNotInTheList, "Close", "Search again"); |
| | | |
| | | confirmAlert1.Show (); |
| | | confirmAlert1.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | }) { IsBackground = true }.Start (); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 提示 |
| | | /// Please make sure gateway is powered up and comect to WiFi router. |
| | | /// 或者 |
| | | /// |
| | | /// </summary> |
| | | static void ShowConfirmAlert () { |
| | | if (UserConfig.Instance.IsLocalEncrypt) { |
| | | //密码检验正确 |
| | | if (UserConfig.Instance.EncryptedPasswordCorrect) { |
| | | Alert confirmAlert = new Alert ("", ErrorCode.MakeSureGatewayIsPoweredUp, "Close", "Search again"); |
| | | confirmAlert.Show (); |
| | | confirmAlert.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | | if (ddd) { |
| | | inView.SearchGatewayList (); |
| | | } |
| | | }; |
| | | } else { |
| | | Alert wrongPasswordAlert = new Alert ("", ErrorCode.GatewayPasswordError, "Close", "Search again"); |
| | | wrongPasswordAlert.Show (); |
| | | wrongPasswordAlert.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | | if (ddd) { |
| | | inView.SearchGatewayList (); |
| | | } |
| | | }; |
| | | |
| | | } |
| | | } else { |
| | | Alert confirmAlert = new Alert ("", ErrorCode.MakeSureGatewayIsPoweredUp, "Close", "Search again"); |
| | | confirmAlert.Show (); |
| | | confirmAlert.ResultEventHandler += (ddf, ddd) => { |
| | | MainPage.Loading.Hide (); |
| | | if (ddd) { |
| | | inView.SearchGatewayList (); |
| | | } |
| | | }; |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | //static byte [] AseKeyBytes; |
| | |
| | | /// </summary> |
| | | /// <param name="backBytes"></param> |
| | | /// <returns></returns> |
| | | static bool CheckIsSuccessfulWithBytes (byte [] backBytes) |
| | | static bool CheckIsSuccessfulWithBytes (byte [] backBytes, string errorStr = "Modify gateway configuration failed,please try again!") |
| | | { |
| | | if (backBytes == null) { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), |
| | | new Alert ("", ErrorCode.GatewayNoResponse, |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | return false; |
| | |
| | | return true; |
| | | } else { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.OperationFailed), |
| | | new Alert ("", errorStr, |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | return false; |
| | |
| | | }); |
| | | |
| | | bool goNext = false; |
| | | if (!UserConfig.Instance.IsLocalEncrypt) { |
| | | //如果没加密,走修改加密方法 |
| | | var result = SetGateWayLocalEncryption (common); |
| | | if (!result) { |
| | | MainPage.LoadingHide (); |
| | | return result;//修改失败 返回goNext false |
| | | } |
| | | //修改成功,设置本地为加密方式 |
| | | UserConfig.Instance.IsLocalEncrypt = true; |
| | | //string aseKeyStr = CommonPage.MyEncodingUTF8.GetString (AseKeyBytes); |
| | | //UserConfig.Instance.LocalEncryptKey = aseKeyStr; |
| | | System.Console.WriteLine ($"============>LocalEncryptKey 加密成功Key为:{UserConfig.Instance.LocalEncryptKey}"); |
| | | } |
| | | //if (!UserConfig.Instance.IsLocalEncrypt) { |
| | | // //如果没加密,走修改加密方法 |
| | | // var result = SetGateWayLocalEncryption (common); |
| | | // if (!result) { |
| | | // MainPage.LoadingHide (); |
| | | // return result;//修改失败 返回goNext false |
| | | // } |
| | | // //修改成功,设置本地为加密方式 |
| | | // UserConfig.Instance.IsLocalEncrypt = true; |
| | | // //string aseKeyStr = CommonPage.MyEncodingUTF8.GetString (AseKeyBytes); |
| | | // //UserConfig.Instance.LocalEncryptKey = aseKeyStr; |
| | | // Utlis.WriteLine ($"============>LocalEncryptKey 加密成功Key为:{UserConfig.Instance.LocalEncryptKey}"); |
| | | //} |
| | | |
| | | var backBytes = Control.ControlBytesSendHasReturn (Command.Read_APP_Data_STORE_1D5C_CMD, common.SubnetID, common.DeviceID, new byte [] { }); |
| | | |
| | |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", "No response from gateway. Please make sure the gateway is online and its firmware is up to date.", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | |
| | | } |
| | | |
| | | MainPage.LoadingHide (); |
| | | |
| | | if (backBytes.Length >= 37) { |
| | | //******************住宅ID string类型************* |
| | |
| | | //2020-01-12 |
| | | backIDStr = backIDStr.Replace ("\0", ""); |
| | | if (enable || backIDStr == UserConfig.Instance.CurrentRegion.Id || string.IsNullOrEmpty (backIDStr)) { |
| | | |
| | | |
| | | if (!UserConfig.Instance.IsLocalEncrypt) { |
| | | //如果没加密,走修改加密方法 |
| | | var result = SetGateWayLocalEncryption (common); |
| | | if (!result) { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | new Alert ("", "Encryption gateway failed, please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | |
| | | }); |
| | | |
| | | return result;//修改失败 返回goNext false |
| | | } |
| | | //修改成功,设置本地为加密方式 |
| | | UserConfig.Instance.IsLocalEncrypt = true; |
| | | //Utlis.WriteLine ($"============>LocalEncryptKey 加密成功Key为:{UserConfig.Instance.LocalEncryptKey}"); |
| | | } |
| | | goNext = true; |
| | | |
| | | } else { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", ErrorCode.UnableToBindGateway, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | UnableToBindGatewayAlertShow (); |
| | | } |
| | | } else { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", ErrorCode.GatewayVersionLow, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | } |
| | | MainPage.LoadingHide (); |
| | | return goNext; |
| | | |
| | | } |
| | | |
| | | |
| | | static void UnableToBindGatewayAlertShow () |
| | | { |
| | | if (inView == null) |
| | | return; |
| | | Application.RunOnMainThread (() => { |
| | | |
| | | //if (this != null && this.Parent != null) { |
| | | var alter = new Alert ("", ErrorCode.UnableToBindGateway, Language.StringByID (R.MyInternationalizationString.Close)); |
| | | alter.ResultEventHandler += (sender1, e1) => { |
| | | if (e1) { |
| | | if (inView == null) |
| | | return; |
| | | //重置为加密模式 |
| | | UserConfig.Instance.IsLocalEncrypt = true; |
| | | (inView.Parent as PageLayout).PageIndex -= 1; |
| | | } |
| | | }; |
| | | alter.Show (); |
| | | //} |
| | | |
| | | }); |
| | | |
| | | } |
| | | } |
| | | } |