From eb424d24e39bab4a245725f35deab3f234ea0f13 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 13 十二月 2019 10:48:50 +0800
Subject: [PATCH] 2019.12.13
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs | 214 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 139 insertions(+), 75 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
index 2a2736e..b65da79 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
@@ -1,7 +1,5 @@
锘縰sing System;
using System.Collections.Generic;
-using Com.Autonavi.Amap.Mapcore;
-using Java.Security;
using Shared.Common;
using ZigBee.Device;
@@ -14,33 +12,36 @@
/// </summary>
/// <param name="common"></param>
/// <param name="typeTag"></param>
- public void DeviceInfoChange(CommonDevice common, string typeTag)
+ public void DeviceInfoChange(CommonDevice tempDevice, string typeTag)
{
- if (typeTag == "DeviceStatusReport" && common != null)
+ if (typeTag == "DeviceStatusReport" && tempDevice != null)
{
- var tempDevice = (CommonDevice)common;
- if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint
- && tempDevice.DeviceAddr == doorLock.DeviceAddr)
+ if (tempDevice != null)
{
- var door = tempDevice as ZigBee.Device.DoorLock;
- if (door != null && door.DeviceStatusReport != null && door.DeviceStatusReport.AttriBute != null)
+ if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint
+ && tempDevice.DeviceAddr == doorLock.DeviceAddr)
{
- var dataReport = door.DeviceStatusReport.AttriBute[0];
- if (door.DeviceStatusReport.CluterID == 10 && dataReport.AttributeId == 0)
+ if (tempDevice.DeviceStatusReport != null && tempDevice.DeviceStatusReport.AttriBute != null)
{
- CurentDoorLockTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocalTime(dataReport.AttriButeData);
- Application.RunOnMainThread(() =>
+ var dataReport = tempDevice.DeviceStatusReport.AttriBute[0];
+ if (tempDevice.DeviceStatusReport.CluterID == 10 && dataReport.AttributeId == 0)
{
- textDisplayDate.Text = CurentDoorLockTime.Year + Language.StringByID(R.MyInternationalizationString.Year) + CurentDoorLockTime.Month + Language.StringByID(R.MyInternationalizationString.Month) + CurentDoorLockTime.Day + Language.StringByID(R.MyInternationalizationString.Day);
- if (CurentDoorLockTime.Minute < 10)
+ CurentDoorLockTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocalTime(dataReport.AttriButeData);
+ Application.RunOnMainThread(() =>
{
- textDisplayTime.Text = CurentDoorLockTime.Hour + ":" + "0" + CurentDoorLockTime.Minute;
- }
- else
- {
- textDisplayTime.Text = CurentDoorLockTime.Hour + ":" + CurentDoorLockTime.Minute;
- }
- });
+ waitGetDoorLockTime = DateTime.MaxValue;
+ textDisplayDate.Text = CurentDoorLockTime.Year + Language.StringByID(R.MyInternationalizationString.Year) + CurentDoorLockTime.Month + Language.StringByID(R.MyInternationalizationString.Month) + CurentDoorLockTime.Day + Language.StringByID(R.MyInternationalizationString.Day);
+ if (CurentDoorLockTime.Minute < 10)
+ {
+ textDisplayTime.Text = CurentDoorLockTime.Hour + ":" + "0" + CurentDoorLockTime.Minute;
+ }
+ else
+ {
+ textDisplayTime.Text = CurentDoorLockTime.Hour + ":" + CurentDoorLockTime.Minute;
+ }
+ CommonPage.Loading.Hide();
+ });
+ }
}
}
}
@@ -72,6 +73,7 @@
int curMin = 0;
int curSec = 0;
public Action timeSetAction;
+ DateTime waitGetDoorLockTime = DateTime.MaxValue;
#endregion
/// <summary>
@@ -108,7 +110,6 @@
this.btnBack.MouseUpEventHandler += eHandlerBack;
this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
this.MidFrameLayout(this);
-
MidFrameLayoutContent();
}
@@ -116,10 +117,23 @@
{
if (setTimeType == "DoorLockTime")
{
+ CommonPage.Loading.Start("");
+ // 鍙湁閲嶆柊鍚姩鏃朵細鎱紝鐒跺悗鍏朵粬鏃跺埢閮芥槸鏈夊�肩殑
new System.Threading.Thread(() =>
{
while (this.Parent != null)
{
+ if (DateTime.Now > waitGetDoorLockTime)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
+ CommonPage.Loading.Hide();
+ });
+ }
+ //璇婚棬閿佹椂闂�
+ //绛夊緟10绉掞紝娌℃湁鏀跺埌鎻愮ず瓒呮椂閫�鍑�
+ waitGetDoorLockTime = DateTime.Now.AddSeconds(+5);
doorLock.ReadAttri(ZigBee.Device.Cluster_ID.DoorLock, ZigBee.Device.AttriButeId.DoorLock);
System.Threading.Thread.Sleep(5 * 1000);
}
@@ -129,13 +143,19 @@
var MidTopFrameLayout = new FrameLayout()
{
- BackgroundColor = ZigbeeColor.Current.XMWhite,
};
this.midFrameLayout.AddChidren(MidTopFrameLayout);
var dtNow = DateTime.Now;
for (int i = 0; i < 2; i++)
{
+ var rowLayout = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(127 + 23),
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+ };
+ MidTopFrameLayout.AddChidren(rowLayout);
+
var btnDateTime = new Button()
{
Width = Application.GetRealWidth(560),
@@ -145,7 +165,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextSize = 12,
};
- MidTopFrameLayout.AddChidren(btnDateTime);
+ rowLayout.AddChidren(btnDateTime);
var textDisplayDateFrameLayout = new FrameLayout()
{
@@ -153,7 +173,7 @@
Height = Application.GetRealHeight(58),
X = Application.GetRealWidth(620),
};
- MidTopFrameLayout.AddChidren(textDisplayDateFrameLayout);
+ rowLayout.AddChidren(textDisplayDateFrameLayout);
var btnNextFrameLayout = new FrameLayout()
{
@@ -161,7 +181,7 @@
Height = Application.GetRealHeight(58),
X = Application.GetRealWidth(956),
};
- MidTopFrameLayout.AddChidren(btnNextFrameLayout);
+ rowLayout.AddChidren(btnNextFrameLayout);
var btnNext = new Button()
{
@@ -175,21 +195,15 @@
var btnLine = new FrameLayout()
{
Width = Application.GetRealWidth(965),
- Height = Application.GetRealHeight(5),
+ Height = 1,
X = Application.GetRealWidth(58),
BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
-
};
MidTopFrameLayout.AddChidren(btnLine);
- if (setTimeType != "DoorLockTime")
- {
- textDisplayDateFrameLayout.Width = 0;
- }
-
if (i == 0)
{
- btnDateTime.Y = Application.GetRealHeight(50);
+ btnDateTime.Y = textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = Application.GetRealHeight(50);
btnLine.Y = Application.GetRealHeight(23 + 127);
textDisplayDate = new Button()
@@ -197,13 +211,21 @@
TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
TextAlignment = TextAlignment.CenterRight,
TextSize = 12,
+ Text = "_" + Language.StringByID(R.MyInternationalizationString.Year) + "_" + Language.StringByID(R.MyInternationalizationString.Month) + "_" + Language.StringByID(R.MyInternationalizationString.Day),
};
textDisplayDateFrameLayout.AddChidren(textDisplayDate);
- textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y;
if (setTimeType != "DoorLockTime")
{
btnDateTime.Text = Language.StringByID(R.MyInternationalizationString.Date);
+ if (setTimeType == "ValidTime")
+ {
+ textDisplayDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
+ }
+ else if (setTimeType == "InValidTime")
+ {
+ textDisplayDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
+ }
}
else
{
@@ -212,25 +234,49 @@
}
else if (i == 1)
{
- btnDateTime.Y = Application.GetRealHeight(200);
+ rowLayout.Y = 1 + Application.GetRealHeight(150);
+ btnDateTime.Y = textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = Application.GetRealHeight(50);
btnLine.Y = Application.GetRealHeight(40 + 127 + 127);
textDisplayTime = new Button()
{
TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
TextAlignment = TextAlignment.CenterRight,
TextSize = 12,
+ Text = "00:00",
};
textDisplayDateFrameLayout.AddChidren(textDisplayTime);
- textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y;
if (setTimeType != "DoorLockTime")
{
btnDateTime.Text = Language.StringByID(R.MyInternationalizationString.Time);
+ if (setTimeType == "ValidTime")
+ {
+ if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute < 10)
+ {
+ textDisplayTime.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour + ":" + "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute;
+ }
+ else
+ {
+ textDisplayTime.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour + ":" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute;
+ }
+ }
+ else if (setTimeType == "InValidTime")
+ {
+ if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute < 10)
+ {
+ textDisplayTime.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour + ":" + "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute;
+ }
+ else
+ {
+ textDisplayTime.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour + ":" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute;
+ }
+ }
}
else
{
btnDateTime.Text = Language.StringByID(R.MyInternationalizationString.CurrentTime);
}
+ btnLine.Visible = false;
}
int curIndex = i;
EventHandler<MouseEventArgs> hander = (sender, e) =>
@@ -273,7 +319,7 @@
{
mList2.Add(m.ToString());
}
- for (int d = 1; d < days; d++)
+ for (int d = 1; d < days + 1; d++)
{
mList3.Add(d.ToString());
}
@@ -327,6 +373,7 @@
timeSetAction();
}
this.shadowRadiusFrameLayout.RemoveFromParent();
+ MidFrameLayoutContent();
};
}
else
@@ -403,6 +450,7 @@
{
this.btnBottomTitle.TextID = R.MyInternationalizationString.CurrentTime;
}
+
mUIPickerView.Y = Application.GetRealWidth(95);
var mList1 = new List<string>();
var mList2 = new List<string>();
@@ -451,6 +499,7 @@
curMin = m;
curSec = dtNow.Second;
};
+
if (setTimeType == "ValidTime")
{
Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = curHour;
@@ -464,39 +513,44 @@
Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = curSec;
}
- var btnOk = new Button
+ if (setTimeType != "DoorLockTime")
{
- X = Application.GetRealWidth(919),
- Y = Application.GetRealHeight(40),
- Height = Application.GetRealHeight(58),
- Width = Application.GetRealWidth(101),
- Text = Language.StringByID(R.MyInternationalizationString.Complete),
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
- TextSize = 14,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnOk);
- btnOk.MouseUpEventHandler += (sender1, e1) =>
- {
- if (setTimeType == "ValidTime")
+ var btnOk = new Button
{
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = curHour;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = curMin;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = curSec;
- }
- else
+ X = Application.GetRealWidth(919),
+ Y = Application.GetRealHeight(40),
+ Height = Application.GetRealHeight(58),
+ Width = Application.GetRealWidth(101),
+ Text = Language.StringByID(R.MyInternationalizationString.Complete),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ TextSize = 14,
+ };
+ this.bottomRadiusFrameLayout.AddChidren(btnOk);
+ btnOk.MouseUpEventHandler += (sender1, e1) =>
{
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = curHour;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = curMin;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = curSec;
- }
- if (timeSetAction != null)
- {
- timeSetAction();
- }
- this.shadowRadiusFrameLayout.RemoveFromParent();
- };
+ if (setTimeType == "ValidTime")
+ {
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = curHour;
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = curMin;
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = curSec;
+ }
+ else
+ {
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = curHour;
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = curMin;
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = curSec;
+ }
+ if (timeSetAction != null)
+ {
+ timeSetAction();
+ }
+ this.shadowRadiusFrameLayout.RemoveFromParent();
+ MidFrameLayoutContent();
+ };
+ }
}
};
+ rowLayout.MouseDownEventHandler += hander;
btnDateTime.MouseDownEventHandler += hander;
textDisplayDateFrameLayout.MouseDownEventHandler += hander;
btnNextFrameLayout.MouseDownEventHandler += hander;
@@ -517,14 +571,20 @@
{
CommonPage.Loading.Start("");
var rectifyResult = await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
- if (rectifyResult != null && rectifyResult.setWritableValueResponData != null && rectifyResult.setWritableValueResponData.Status == 0)
+ if (rectifyResult != null && rectifyResult.setWritableValueResponData != null)
{
- this.shadowRadiusFrameLayout.RemoveFromParent();
- // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifySuccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ if (rectifyResult.setWritableValueResponData.Status == 0)
+ {
+ this.shadowRadiusFrameLayout.RemoveFromParent();
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ }
}
else
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
}
}
catch { }
@@ -540,10 +600,14 @@
this.shadowRadiusFrameLayout.RemoveFromParent();
};
- //绛夊緟浠庨棬閿佷笂闈㈠姞杞藉嚭鐨勬椂闂�
- //System.Threading.Thread.Sleep(1500);
- //CommonPage.Loading.Hide();
-
+ if (setTimeType == "DoorLockTime")
+ {
+ if (CurentDoorLockTime != null && CurentDoorLockTime.Year != 1)
+ {
+ waitGetDoorLockTime = DateTime.MaxValue;
+ CommonPage.Loading.Hide();
+ }
+ }
}
#region 鈼� 鎺ュ彛瀹炵幇__________________________
--
Gitblit v1.8.0