From d8545fbd1b36a6766c57c987e5d89862b470fed9 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期四, 03 九月 2020 09:46:29 +0800 Subject: [PATCH] 2020-09-03 1.修改风扇默认为关状态。2.Alexa添加设备时,去掉空调和通用开关选择添加支持。 3.场景增加通用开关添加和发送控制支持,Alexa 的场景同样增加通用开关的支持。 --- Crabtree/ON.Ios/AppDelegate.cs | 107 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 87 insertions(+), 20 deletions(-) diff --git a/Crabtree/ON.Ios/AppDelegate.cs b/Crabtree/ON.Ios/AppDelegate.cs index b59dbb3..b7c99bd 100644 --- a/Crabtree/ON.Ios/AppDelegate.cs +++ b/Crabtree/ON.Ios/AppDelegate.cs @@ -6,6 +6,7 @@ using Microsoft.AppCenter.Analytics; using Microsoft.AppCenter.Crashes; using Shared; +using Shared.SimpleControl; using UIKit; using UserNotifications; @@ -73,7 +74,7 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions) { AppCenter.Start ("44cbdfbf-d33e-4e92-a795-1c4452e54d3e", typeof (Analytics), typeof (Crashes)); - Console.WriteLine ("FinishedLaunching"); + Utlis.WriteLine ("FinishedLaunching"); //Shared.Application.IsGpsEnable = false; base.FinishedLaunching (application, launchOptions); @@ -111,7 +112,7 @@ } if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0) { - RemoteInfo.Current.ReadMsgList (NSUserDefaults.StandardUserDefaults.StringForKey ("PushDeviceToken"), true); + //RemoteInfo.Current.ReadMsgList (NSUserDefaults.StandardUserDefaults.StringForKey ("PushDeviceToken"), true); } //if (UserConfig.Instance.SkinCode == 0) { application.StatusBarStyle = UIStatusBarStyle.DarkContent; @@ -164,23 +165,23 @@ public override void DidReceiveRemoteNotification (UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler) { - Console.WriteLine ("DidReceiveRemoteNotification:" + application.ApplicationState.ToString ()); + Utlis.WriteLine ("DidReceiveRemoteNotification:" + application.ApplicationState.ToString ()); UserConfig.Instance.SaveUserConfig (); - RemoteInfo.Current.ReadMsgList (NSUserDefaults.StandardUserDefaults.StringForKey ("PushDeviceToken"), - application.ApplicationState == UIApplicationState.Active ? true : false); + //RemoteInfo.Current.ReadMsgList (NSUserDefaults.StandardUserDefaults.StringForKey ("PushDeviceToken"), + // application.ApplicationState == UIApplicationState.Active ? true : false); UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; } public override void ReceivedRemoteNotification (UIApplication application, NSDictionary userInfo) { if (application.ApplicationState == UIApplicationState.Active) { - Console.WriteLine ("ReceivedRemoteNotification1"); + Utlis.WriteLine ("ReceivedRemoteNotification1"); } else if (application.ApplicationState == UIApplicationState.Background) { - Console.WriteLine ("ReceivedRemoteNotification2"); + Utlis.WriteLine ("ReceivedRemoteNotification2"); } else if (application.ApplicationState == UIApplicationState.Inactive) { - Console.WriteLine ("ReceivedRemoteNotification3"); + Utlis.WriteLine ("ReceivedRemoteNotification3"); } //string extKey1 = "PushResType"; @@ -190,38 +191,104 @@ public override void OnResignActivation (UIApplication application) { - Console.WriteLine ("OnResignActivation"); - Shared.BusSocket.Stop (); + Utlis.WriteLine ("OnResignActivation"); + //Shared.BusSocket.Stop (); + //BusSocketStop (); } public override void DidEnterBackground (UIApplication application) { SharedMethod.SharedMethod.IsBackground = true; - Console.WriteLine ("DidEnterBackground"); + Utlis.WriteLine ("DidEnterBackground"); + BusSocketStop (); } public override void WillEnterForeground (UIApplication application) { SharedMethod.SharedMethod.IsBackground = false; - Console.WriteLine ("WillEnterForeground"); + Utlis.WriteLine ("WillEnterForeground"); //if (UIApplication.SharedApplication.ApplicationIconBadgeNumber > 0) // RemoteInfo.Current.ReadMsgList (NSUserDefaults.StandardUserDefaults.StringForKey ("PushDeviceToken"), true); UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; // Called as part of the transiton from background to active state. // Here you can undo many of the changes made on entering the background. + BusSocketStart (); } public override void WillTerminate (UIApplication application) { - Console.WriteLine ("WillTerminate"); + Utlis.WriteLine ("WillTerminate"); // Called when the application is about to terminate. Save data, if needed. See also DidEnterBackground. } public override void OnActivated (UIApplication application) { - Console.WriteLine ("OnActivated"); + Utlis.WriteLine ("OnActivated"); base.OnActivated (application); + //BusSocketStart (); + ////鏈変簺绯荤粺鐗堟湰杩欓噷鍚姩姣旇鍥炬帶鍒跺櫒蹇� + //if (!Shared.SimpleControl.MainPage.Showed) { + // System.Threading.Tasks.Task.Run (() => { + // while (true) { + // System.Threading.Thread.Sleep (10); + // if (Shared.SimpleControl.MainPage.Showed) { + // break; + // } + // } + // Shared.Application.RunOnMainThread (() => { + // Shared.BusSocket.Start (6000); + // Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote ((int)Reachability.InternetConnectionStatus (),false); + // //RemoteInfo.Current.ReadMsgList (NSUserDefaults.StandardUserDefaults.StringForKey ("PushDeviceToken"), true); + // if (SmartHome.WiFiSet.refreshView != null) { + // SmartHome.WiFiSet.refreshView (); + // } + // }); + // }); + // return; + //} + //Shared.BusSocket.Start (6000); + //Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote ((int)Reachability.InternetConnectionStatus (), false); + //if (SmartHome.WiFiSet.refreshView != null) { + // SmartHome.WiFiSet.refreshView (); + //} + + + //com.freeview.global.Video.FVapplicationDidBecomeActive (application); + } + + DateTime closeTime = DateTime.MinValue; + /// <summary> + /// BusSocketStop + /// </summary> + void BusSocketStop () + { + Shared.BusSocket.Stop (); + closeTime = DateTime.Now; + } + + + /// <summary> + /// BusSocketStart + /// </summary> + void BusSocketStart () + { + + if (closeTime == DateTime.MinValue) { + closeTime = DateTime.Now; + } else if (closeTime.AddSeconds (20) < DateTime.Now) { + if (CommonPage.IsRemote) { + SmartHome.MqttCommon.DisConnectRemoteMqttClient ("closeTime"); + } + } + + //if (closeTime == DateTime.MinValue) { + // closeTime = DateTime.Now; + //} else if (closeTime.AddMinutes (2) > DateTime.Now) { + // // MqttCommon.DisConnectRemoteMqttClient (); + //} + + var netStatus = (int)Reachability.InternetConnectionStatus (); //鏈変簺绯荤粺鐗堟湰杩欓噷鍚姩姣旇鍥炬帶鍒跺櫒蹇� if (!Shared.SimpleControl.MainPage.Showed) { System.Threading.Tasks.Task.Run (() => { @@ -233,23 +300,23 @@ } Shared.Application.RunOnMainThread (() => { Shared.BusSocket.Start (6000); - Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote ((int)Reachability.InternetConnectionStatus (),false); - //RemoteInfo.Current.ReadMsgList (NSUserDefaults.StandardUserDefaults.StringForKey ("PushDeviceToken"), true); + Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote (netStatus, false); + //RemoteInfo.Current.ReadMsgList (true); if (SmartHome.WiFiSet.refreshView != null) { SmartHome.WiFiSet.refreshView (); } }); }); return; + } else { + Shared.BusSocket.Start (6000); + Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote (netStatus, false); + //RemoteInfo.Current.ReadMsgList (true); } - Shared.BusSocket.Start (6000); - Shared.SimpleControl.EquipmentPublicClass.CheckLinkRemote ((int)Reachability.InternetConnectionStatus (), false); if (SmartHome.WiFiSet.refreshView != null) { SmartHome.WiFiSet.refreshView (); } - - //com.freeview.global.Video.FVapplicationDidBecomeActive (application); } } } \ No newline at end of file -- Gitblit v1.8.0