From edf7c324bea0556a3df9096dd41d668a9d41bf51 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 13 五月 2020 15:58:29 +0800
Subject: [PATCH] 改版是门锁新功能需要给测试部的版本
---
ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs | 364 +++++++++++++++++++++++++++------------------------
1 files changed, 192 insertions(+), 172 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
old mode 100755
new mode 100644
index c78f7f4..14320a5
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -8,28 +8,29 @@
{
public class SoneLogicList : FrameLayout
{
-
public static SoneLogicList soneLogicList;
public SoneLogicList()
{
Tag = "SoneLogic";
soneLogicList = this;
+
}
/// 缁欏緪姊呭埛鏂扮晫闈㈢敤鐨�
public Action<bool> action;
///绗簩鍧楃涓�绾х埗鎺т欢
FrameLayout fLayout = new FrameLayout();
- ///甯稿紑妯″紡鍥炬爣
- Button modeIconBtn = new Button();
- ///绗簩鍧楃浜岀骇鐖舵帶浠�
- FrameLayout modeFl = new FrameLayout();
- Button button1 = new Button();
- Button button2= new Button();
///绗笁鍧楃涓�绾х埗鎺т欢
FrameLayout listLogicFl = new FrameLayout();
///甯稿紑鑷姩鍖栧垪琛ㄤ笂涓嬫粦鍔ㄧ殑鎺т欢
VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout();
-
+ /// <summary>
+ /// 璁板綍閫昏緫id
+ /// </summary>
+ public int logicId = 0;
+ /// <summary>
+ /// 璁板綍閫変腑鏃堕棿
+ /// </summary>
+ public int timeValue = 0;
public async void Show()
{
@@ -40,11 +41,7 @@
view.toptitleNameBtn.TextID = MyInternationalizationString.openmode;
view.clickBtn.MouseDownEventHandler += (sender, e) =>
{
- UserView.HomePage.Instance.ScrollEnabled = true;
- if (updateThread != null && updateThread.IsAlive)
- {
- updateThread.Abort();
- }
+ UserView.HomePage.Instance.ScrollEnabled = true;
//鎶婇潤鎬佸彉閲忕殑杩欎釜涓滆タ缃┖
soneLogicList = null;
this.RemoveFromParent();
@@ -52,6 +49,8 @@
{
action(Send.CurrentDoorLock.IsDoorLockNormallyMode);
}
+ //杩斿洖鎸夐敭娓呯┖
+ UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null;
};
var middle = new FrameLayout
@@ -62,6 +61,23 @@
};
this.AddChidren(middle);
#endregion
+ //鏄父寮�妯″紡鍐嶅幓璇诲彇
+ if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
+ {
+ //杩涙潵鏇存柊涓�娆�
+ //鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
+ var logic = await SkipView.GetLogicIfon();
+ if (logic != null)
+ {
+ try
+ {
+ //杩涙潵鏇存柊涓�娆″��
+ logicId = logic.LogicId;
+ timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]);
+ }
+ catch { }
+ }
+ }
#region 甯稿紑妯″紡鍥炬爣 鏃舵晥鎬у父寮�璁剧疆
///绗簩鍧楃涓�绾х埗鎺т欢
@@ -72,33 +88,8 @@
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
};
middle.AddChidren(fLayout);
- ///甯稿紑妯″紡鍥炬爣
- modeIconBtn = new Button
- {
- X = Application.GetRealWidth(395),
- Y = Application.GetRealHeight(92),
- Width = Application.GetMinRealAverage(294),
- Height = Application.GetMinRealAverage(294),
- };
- fLayout.AddChidren(modeIconBtn);
- ///绗簩鍧楃浜岀骇鐖舵帶浠�
- modeFl = new FrameLayout
- {
- };
- fLayout.AddChidren(modeFl);
-
- button1 = new Button
- {
- };
- modeFl.AddChidren(button1);
-
- button2 = new Button
- {
- };
- modeFl.AddChidren(button2);
ModeView();
#endregion
-
#region 甯稿紑鑷姩鍖�
///绗笁鍧楃涓�绾х埗鎺т欢
listLogicFl = new FrameLayout
@@ -143,10 +134,10 @@
UnSelectedImagePath = "ZigeeLogic/add.png",
};
addLogicfL.AddChidren(addIconBtn);
-
+ ///鍔犲ぇ鐐瑰嚮鐑敭
var addIconclickBtn = new Button
{
- Width = Application.GetRealWidth(90+69+63),
+ Width = Application.GetRealWidth(90 + 69 + 63),
Height = Application.GetRealHeight(69),
X = Application.GetRealWidth(800),
Y = Application.GetRealHeight(60),
@@ -207,132 +198,177 @@
};
Read(true);
#endregion
+
+ UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = (_bool) =>
+ {
+
+ try
+ {
+ Application.RunOnMainThread(() =>
+ {
+ Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool;
+ ModeView();
+ });
+ }
+ catch { }
+ };
+
}
/// <summary>
/// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈�
/// </summary>
- public async void ModeView()
+ public void ModeView()
{
+ fLayout.RemoveAll();
+ ///甯稿紑妯″紡鍥炬爣
+ Button modeIconBtn = new Button
+ {
+ X = Application.GetRealWidth(395),
+ Y = Application.GetRealHeight(92),
+ Width = Application.GetMinRealAverage(294),
+ Height = Application.GetMinRealAverage(294),
+ };
+ fLayout.AddChidren(modeIconBtn);
if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
{
- /// 鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
- var logic = await SkipView.GetLogicIfon();
- fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害
+ fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害
modeIconBtn.UnSelectedImagePath = "ZigeeLogic/openMode.png";//鏀瑰彉鍥炬爣鐘舵��
- modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(64);
- modeFl.X = Application.GetRealWidth(0);
- modeFl.Height = Application.GetRealHeight(127 + 199);
- modeFl.Width = Application.GetRealHeight(1080);
- modeFl.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
- modeFl.SetCornerWithSameRadius(Application.GetRealHeight(0), HDLUtils.RectCornerBottomLeft);
-
- ///鍏抽棴鏃舵晥鎬ц嚜鍔ㄥ寲
- button1.Y = Application.GetRealHeight(0);
- button1.X = Application.GetRealWidth(86);
- button1.Width = Application.GetRealWidth(907);
- button1.Height = Application.GetRealHeight(127);
- button1.Radius = (uint)Application.GetRealHeight(58);
- button1.BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor;
- button1.TextAlignment = TextAlignment.Center;
- button1.TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor;
- button1.TextID = MyInternationalizationString.closeUp;
- button1.TextSize = 16;
-
- button1.MouseUpEventHandler = async (sender, e) =>
+ ///绗簩绾х埗鎺т欢
+ var openModeFl = new FrameLayout
{
- var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
- if (result)
- {
- if (logic != null)
- {
- ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
- ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
- Send.DelLogic(logic.LogicId);
- }
- Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
- ModeView();
- }
- else
- {
- LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed));
- }
-
+ Y = Application.GetRealHeight(455),
+ Height = Application.GetRealHeight(127 + 199),
+ Width = Application.GetRealWidth(1080),
};
- if (logic != null)
+ fLayout.AddChidren(openModeFl);
+ ///鍏抽棴鏃舵晥鎬ц嚜鍔ㄥ寲
+ Button closeBtn = new Button
{
- ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
- button2.Y = Application.GetRealHeight(127 + 69);
- button2.X = Application.GetRealWidth(125);
- button2.Width = Application.GetRealWidth(634 + 200);
- button2.Height = Application.GetRealHeight(60);
- button2.UnSelectedImagePath = "ZigeeLogic/1234.png";
- button2.TextSize = 15;
- button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
- ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
- }
- else
+ X = Application.GetRealWidth(86),
+ Height = Application.GetRealHeight(127),
+ Width = Application.GetRealWidth(907),
+ Radius = (uint)Application.GetRealHeight(58),
+ BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
+ TextID = MyInternationalizationString.closeUp,
+ TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
+ TextSize = 16,
+ };
+ openModeFl.AddChidren(closeBtn);
+ closeBtn.MouseUpEventHandler += async (sender, e) =>
{
- button2.Width = Application.GetRealWidth(0);
- button2.Height = Application.GetRealHeight(0);
- }
- ///鏃舵晥鎬у父寮�鍙湁涓�涓潯浠�;
- try
- {
+ CommonPage.Loading.Start();
+ try
+ {
+ var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+ if (result)
+ {
+ if (logicId != 0)
+ {
+ ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
+ Send.DelLogic(logicId);
+ }
+ Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
+ ModeView();
+ }
+ else
+ {
+ LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed));
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+ });
+ }
+ };
+
+ ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
+ var timeTextBtn = new Button
+ {
+ Y = Application.GetRealHeight(127 + 69),
+ X = Application.GetRealWidth(125),
+ Width = Application.GetRealWidth(634 + 200),
+ Height = Application.GetRealHeight(60),
+ TextSize = 15,
+ TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+ };
+ if (logicId != 0)
+ {
+ openModeFl.AddChidren(timeTextBtn);
+ ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
var y = DateTime.Now.Year.ToString();//閭d竴骞�
var m = DateTime.Now.Month.ToString();//閭d竴鏈�
var d = DateTime.Now.ToString("dd");//閭d竴澶�
var h = int.Parse(DateTime.Now.ToString("HH"));//褰撳墠绯荤粺鏃堕棿
- var timeInt = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]);
- int dayInt = (h + timeInt) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛�
- int hour = (h + timeInt) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛�
+ int dayInt = (h + timeValue) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛�
+ int hour = (h + timeValue) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛�
int days = int.Parse(d) + dayInt;
string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
string text2 = Language.StringByID(MyInternationalizationString.yearSone);
string text3 = Language.StringByID(MyInternationalizationString.monthSone);
string text4 = Language.StringByID(MyInternationalizationString.numberSone);
string text5 = Language.StringByID(MyInternationalizationString.executeSone);
- button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
+ timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
}
- catch { }
+
}
else
{
fLayout.Height = Application.GetRealHeight(645);//鏀瑰彉楂樺害
modeIconBtn.UnSelectedImagePath = "ZigeeLogic/noMode.png";//鏀瑰彉鍥炬爣鐘舵��
- modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(92);
- modeFl.X = Application.GetRealWidth(58);
- modeFl.Height = Application.GetRealHeight(138);
- modeFl.Width = Application.GetRealHeight(1022);
- modeFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
+ ///绗簩绾х埗鎺т欢
+ var modeFl = new FrameLayout
+ {
+ Y = Application.GetRealHeight(478),
+ X = Application.GetRealWidth(58),
+ Height = Application.GetRealHeight(138),
+ Width = Application.GetRealWidth(1022),
+ BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
+ };
+ fLayout.AddChidren(modeFl);
modeFl.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
-
///鏃舵晥鎬у父寮�璁剧疆鏄剧ず鏂囨湰鎺т欢
- button1.Y = Application.GetRealHeight(40);
- button1.X = Application.GetRealWidth(58);
- button1.Width = Application.GetRealWidth(600);
- button1.Height = Application.GetRealHeight(60);
- button1.Radius = (uint)Application.GetRealHeight(0);
- button1.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
- button1.TextAlignment = TextAlignment.CenterLeft;
- button1.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
- // Text = "鏃舵晥鎬у父寮�璁剧疆",
- button1.TextID = MyInternationalizationString.timeSetSone;
- button1.TextSize = 15;
+ var modeTextBtn = new Button
+ {
-
+ Y = Application.GetRealHeight(40),
+ X = Application.GetRealWidth(58),
+ Width = Application.GetRealWidth(600),
+ Height = Application.GetRealHeight(60),
+ TextSize = 15,
+ TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+ TextAlignment = TextAlignment.CenterLeft,
+ // Text = "鏃舵晥鎬у父寮�璁剧疆",
+ TextID = MyInternationalizationString.timeSetSone,
+ };
+ modeFl.AddChidren(modeTextBtn);
///涓嬩竴绾ц彍鍗曞浘鏍囨帶浠�
- button2.Width = Application.GetMinRealAverage(104);
- button2.Height = Application.GetMinRealAverage(104);
- button2.X = Application.GetRealWidth(861);
- button2.Y = Application.GetRealHeight(17);
- button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png";
- button2.TextSize = 15;
- button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
- button2.MouseUpEventHandler = (sender, e) =>
+ var nextIconBtn = new Button
+ {
+ Width = Application.GetMinRealAverage(104),
+ Height = Application.GetMinRealAverage(104),
+ X = Application.GetRealWidth(861),
+ Y = Application.GetRealHeight(17),
+ UnSelectedImagePath = "ZigeeLogic/nextIconSone.png",
+ };
+ modeFl.AddChidren(nextIconBtn);
+
+ ///鍔犲ぇ鐐瑰嚮鐑敭
+ var clickBtn = new Button
+ {
+ Width = Application.GetRealWidth(104 + 161 + 30),
+ Height = Application.GetRealHeight(138),
+ X = Application.GetRealWidth(700),
+ };
+ modeFl.AddChidren(clickBtn);
+ clickBtn.MouseUpEventHandler += (sender, e) =>
{
LogicView.TipView.ShowConfrimTip(() =>
@@ -340,6 +376,7 @@
{///鍐嶆纭
LogicView.TipView.ShowInputTip(true, async (str) =>
{///纭鍙戦�佸懡浠�
+ CommonPage.Loading.Start();
try
{
///xm
@@ -354,7 +391,7 @@
///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
SkipView.GetLogicAll();//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
- if (!addResult)
+ if (addResult == 0)
{
///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
@@ -362,15 +399,25 @@
LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
return;
}
+ logicId = addResult;
+ timeValue = int.Parse(str);
Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
- ModeView();
- //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
+ ModeView();
+ //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty);
}
}
catch
{
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+
+ });
}
});
@@ -389,7 +436,7 @@
/// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱
/// </summary>
/// <param name="yes"></param>
- private async void Read( bool yes)
+ private async void Read(bool yes)
{
if (yes)
{
@@ -427,8 +474,10 @@
}
}
-
- RowLayout selectedRow = new RowLayout() { Tag = "0" };//璁板綍宸︽粦鐘舵��
+ /// <summary>
+ /// 璁板綍宸︽粦鐘舵��
+ /// </summary>
+ RowLayout selectedRow = new RowLayout() { Tag = "0" };
int a = 1;
/// <summary>
/// 鍔犺浇鑷姩鍖栧垪琛�
@@ -464,7 +513,7 @@
selectedRow = logicRow;
};
a++;
- ///鏄剧ず閫昏緫鍚嶇О鐨勬帶浠�
+ ///鏄剧ず閫昏緫鍚嶇О鐨勬帶浠�
var nameBtn = new Button
{
Height = Application.GetRealHeight(58),
@@ -528,10 +577,7 @@
TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
};
logicRow.AddRightView(edit);
- if (logic.LogicType == 2)
- {
- edit.TextID = MyInternationalizationString.look;
- }
+
///鍒犻櫎
var del = new Button
{
@@ -584,45 +630,19 @@
{
var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
Language.StringByID(MyInternationalizationString.doyouwanttodelete),
- Language.StringByID(MyInternationalizationString.confrim));
- alert.Show();
- alert.ConfirmClickEvent += () =>
+ Language.StringByID(MyInternationalizationString.confrim));
+ alert.Show();
+ alert.ConfirmClickEvent += () =>
{
Common.Logic.SoneLogicList.Remove(logic);
//logicRow.Parent.RemoveFromParent();
fLayoutLogic.RemoveFromParent();
- Send.DelLogic(logic.LogicId);
+ Send.DelLogic(logic.LogicId);
};
- };
+ };
}
}
-
- /// <summary>
- /// 瀹氭椂鏇存柊甯稿紑妯″紡(闃叉閫氳繃闂ㄩ攣鍏抽棴娌″強鏃跺埛鏂扮姸鎬�)
- /// </summary>
- System.Threading.Thread updateThread;
- public void UpdateModeIcon()
- {
- updateThread = new System.Threading.Thread(() =>
- {
- while (this.Parent != null)
- {
- System.Threading.Thread.Sleep(1000);
- Application.RunOnMainThread(() =>
- {
- try
- {
- ModeView();
- }
- catch { }
-
- });
- }
- });
- updateThread.Start();
- }
-
}
}
--
Gitblit v1.8.0