From 965290476c027deb96891cde1095d9a100581a6b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 20 二月 2020 09:13:32 +0800
Subject: [PATCH] 2020-02-20 1.优化更新。
---
Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserDeviceToFan.cs | 89 ++++++++++++++++++++++++++++++++++++++------
1 files changed, 76 insertions(+), 13 deletions(-)
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserDeviceToFan.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserDeviceToFan.cs
index 045c17f..d5bac9c 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserDeviceToFan.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserDeviceToFan.cs
@@ -140,13 +140,34 @@
};
fanView.AddChidren (tempSiwtch);
tempSiwtch.MouseUpEventHandler += (sender3, e3) => {
- tempSiwtch.IsSelected = !tempSiwtch.IsSelected;
- if (tempSiwtch.IsSelected) {
- fanModule.Switch = fanModule.WindSpeed;
- } else {
- fanModule.Switch = 0;
- }
- Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
+ //tempSiwtch.IsSelected = !tempSiwtch.IsSelected;
+ //if (tempSiwtch.IsSelected) {
+ // fanModule.Switch = fanModule.WindSpeed;
+ //} else {
+ // fanModule.Switch = 0;
+ //}
+ //Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
+
+ //2020-02-10
+ MainPage.Loading.Start ("Sending...");
+ //tempSiwtch.IsSelected = !tempSiwtch.IsSelected;
+ //if (tempSiwtch.IsSelected) {
+ // fanModule.Switch = fanModule.WindSpeed;
+ //} else {
+ // fanModule.Switch = 0;
+ //}
+ int mSetSwitch = tempSiwtch.IsSelected ? 0 : fanModule.WindSpeed;
+ System.Threading.Tasks.Task.Run (() => {
+ byte [] returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, (byte)mSetSwitch });
+ Application.RunOnMainThread (() => {
+ if (returnBytes == null) {
+ //string tipString = Language.StringByID (R.MyInternationalizationString.ControlFailure);
+ new Alert ("", fanModule.Name + ErrorCode.ControlFailure, "Close").Show ();
+
+ }
+ MainPage.Loading.Hide ();
+ });
+ });
};
Button btnViewNull = new Button () {
@@ -217,10 +238,13 @@
});
#endregion
- if (curView == null || curView.bodyScrolView.Decelerating) {
- return;
- }
+ //if (curView == null || curView.bodyScrolView.Decelerating) {
+ // return;
+ //}
Application.RunOnMainThread (() => {
+ if (curView == null || curView.bodyScrolView.Decelerating) {
+ return;
+ }
for (int i = 0; i < curView.bodyScrolView.ChildrenCount; i++) {
if (curView.bodyScrolView.GetChildren (i).GetType () == typeof (FrameLayout)) {
var lightRow = (FrameLayout)curView.bodyScrolView.GetChildren (i);
@@ -244,8 +268,14 @@
void ControlAllFan (bool open)
{
+ if (CommonPage.IsRemote) {
+ if (!SmartHome.MqttCommon.IsGatewayOnline) {
+ new Alert ("", "Gateway offline" + ErrorCode.ControlFailure, "Close").Show ();
+ return;
+ }
+ }
MainPage.Loading.Start ("Sending...");
-
+ bool showTip = true;
System.Threading.Tasks.Task.Run (() => {
foreach (var room in Room.Lists) {
if (room == null)
@@ -253,12 +283,45 @@
if (string.IsNullOrEmpty (room.Name)) {
continue;
}
+
foreach (var fanD in room.DeviceList) {
+ //2020-02-10
+ byte [] returnBytes = null;
if (fanD.Type == DeviceType.FanModule) {
if (open) {
- Control.ControlBytesSend (Command.SetSingleLight, fanD.SubnetID, fanD.DeviceID, new byte [] { fanD.LoopID, (fanD as FanModule).WindSpeed });
+ returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, fanD.SubnetID, fanD.DeviceID, new byte [] { fanD.LoopID, (fanD as FanModule).WindSpeed });
} else {
- Control.ControlBytesSend (Command.SetSingleLight, fanD.SubnetID, fanD.DeviceID, new byte [] { fanD.LoopID, 0 });
+ returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, fanD.SubnetID, fanD.DeviceID, new byte [] { fanD.LoopID, 0 });
+ }
+
+
+ if (showTip) {
+ if (returnBytes == null) {
+ Application.RunOnMainThread (() => {
+
+ string tipString = Language.StringByID (R.MyInternationalizationString.ControlFailure);
+ var btnTip = new Button () {
+ Height = Application.GetRealHeight (140),
+ Text = fanD.Name + tipString,// + "..." + controlDeviceIndex.ToString () + @"/" + sceneDeviceCount.ToString (),
+ BackgroundColor = 0xFFD7D7D7,
+ };
+ MainPage.MainFrameLayout.AddChidren (btnTip);
+ btnTip.MouseUpEventHandler += (sender, e) => {
+ btnTip.RemoveFromParent ();
+ //MainPage.MainFrameLayout.Remove (btnTip);
+ showTip = false;
+ };
+
+ System.Threading.Tasks.Task.Run (() => {
+ System.Threading.Thread.Sleep (3000);
+ Application.RunOnMainThread (() => {
+ btnTip.RemoveFromParent ();
+ //MainPage.MainFrameLayout.Remove (btnTip);
+ });
+ });
+
+ });
+ }
}
}
}
--
Gitblit v1.8.0