From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 28 二月 2020 15:25:13 +0800
Subject: [PATCH] 2020.2.28
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs | 266 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 180 insertions(+), 86 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
index 2a2736e..8a7f32d 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,13 +181,13 @@
Height = Application.GetRealHeight(58),
X = Application.GetRealWidth(956),
};
- MidTopFrameLayout.AddChidren(btnNextFrameLayout);
+ rowLayout.AddChidren(btnNextFrameLayout);
var btnNext = new Button()
{
Width = Application.GetRealWidth(58),
Height = Application.GetRealHeight(58),
- UnSelectedImagePath = "Item/Next.png",
+ UnSelectedImagePath = "Item/RightNext.png",
SelectedImagePath = "Item/Down.png",
};
btnNextFrameLayout.AddChidren(btnNext);
@@ -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,35 +234,60 @@
}
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) =>
{
this.midFrameLayout.AddChidren(this.shadowRadiusFrameLayout);
+ this.bottomRadiusFrameLayout.RemoveAll();
this.BottomRadiusFrameLayout(this);
-
var mUIPickerView = new UIPickerView()
{
X = Application.GetRealWidth(0),
+ Height = Application.GetRealHeight(440),
};
this.bottomRadiusFrameLayout.AddChidren(mUIPickerView);
@@ -256,7 +303,7 @@
this.btnBottomTitle.TextID = R.MyInternationalizationString.CurrentDate;
}
- mUIPickerView.Y = Application.GetRealWidth(110);
+ mUIPickerView.Y = Application.GetRealWidth(245);
var mList1 = new List<string>();
var mList2 = new List<string>();
var mList3 = new List<string>();
@@ -265,17 +312,31 @@
int year = dtNow.Year + 1;
int days = DateTime.DaysInMonth(dtNow.Year, dtNow.Month);
- for (int y = dtNow.Year - 10; y < dtNow.Year + 1; y++)
+ for (int y = dtNow.Year - 9; y < dtNow.Year + 1; y++)
{
mList1.Add(y.ToString());
}
for (int m = 1; m < 13; m++)
{
- mList2.Add(m.ToString());
+ if (Language.CurrentLanguage == "Chinese")
+ {
+ mList2.Add(m.ToString() + "鏈�");
+ }
+ else
+ {
+ mList2.Add(m.ToString());
+ }
}
- for (int d = 1; d < days; d++)
+ for (int d = 1; d < days + 1; d++)
{
- mList3.Add(d.ToString());
+ if (Language.CurrentLanguage == "Chinese")
+ {
+ mList3.Add(d.ToString() + "鏃�");
+ }
+ else
+ {
+ mList3.Add(d.ToString());
+ }
}
if (setTimeType != "DoorLockTime")
@@ -304,7 +365,7 @@
Height = Application.GetRealHeight(58),
Width = Application.GetRealWidth(101),
Text = Language.StringByID(R.MyInternationalizationString.Complete),
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
TextSize = 14,
};
this.bottomRadiusFrameLayout.AddChidren(btnOk);
@@ -327,12 +388,13 @@
timeSetAction();
}
this.shadowRadiusFrameLayout.RemoveFromParent();
+ MidFrameLayoutContent();
};
}
else
{
mUIPickerView.setNPicker(mList1, mList2, mList3);
- mUIPickerView.setCurrentItems(dtNow.Year, dtNow.Month - 1, dtNow.Day - 1);
+ mUIPickerView.setCurrentItems(9, dtNow.Month - 1, dtNow.Day - 1);
curYear = dtNow.Year;
curMonth = dtNow.Month;
curDay = dtNow.Day;
@@ -360,7 +422,14 @@
for (int d = 1; d < days + 1; d++)
{
- mList3.Add(d.ToString());
+ if (Language.CurrentLanguage == "Chinese")
+ {
+ mList3.Add(d.ToString() + "鏃�");
+ }
+ else
+ {
+ mList3.Add(d.ToString());
+ }
}
if (setTimeType != "DoorLockTime")
@@ -371,7 +440,7 @@
else
{
mUIPickerView.setNPicker(mList1, mList2, mList3);
- mUIPickerView.setCurrentItems(curYear, curMonth - 1, curDay - 1);
+ mUIPickerView.setCurrentItems(9, curMonth - 1, curDay - 1);
}
}
};
@@ -403,7 +472,8 @@
{
this.btnBottomTitle.TextID = R.MyInternationalizationString.CurrentTime;
}
- mUIPickerView.Y = Application.GetRealWidth(95);
+
+ mUIPickerView.Y = Application.GetRealWidth(245);
var mList1 = new List<string>();
var mList2 = new List<string>();
for (int h = 0; h < 24; h++)
@@ -451,6 +521,7 @@
curMin = m;
curSec = dtNow.Second;
};
+
if (setTimeType == "ValidTime")
{
Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = curHour;
@@ -464,43 +535,56 @@
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.XMOrange,
+ 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;
btnNext.MouseDownEventHandler += hander;
+ if (curIndex == 0)
+ {
+ textDisplayDate.MouseDownEventHandler += hander;
+ }
+ else
+ {
+ textDisplayTime.MouseDownEventHandler += hander;
+ }
}
btnCancel.MouseUpEventHandler += (sender1, e1) =>
@@ -517,14 +601,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 +630,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