From 2e7e5f9af5b32cfe1fc3c6ba40bf7eb984bbd0a4 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 11 五月 2020 17:52:06 +0800 Subject: [PATCH] ??????? --- ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs | 163 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 92 insertions(+), 71 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs index c78f7f4..54e00a4 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs @@ -8,15 +8,15 @@ { public class SoneLogicList : FrameLayout { - public static SoneLogicList soneLogicList; public SoneLogicList() { Tag = "SoneLogic"; soneLogicList = this; + } /// 缁欏緪姊呭埛鏂扮晫闈㈢敤鐨� - public Action<bool> action; + public Action<bool> action; ///绗簩鍧楃涓�绾х埗鎺т欢 FrameLayout fLayout = new FrameLayout(); ///甯稿紑妯″紡鍥炬爣 @@ -29,10 +29,17 @@ 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() { - + #region 鐣岄潰鐨勫竷灞�浠g爜 UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦 TopView view = new TopView(); @@ -41,10 +48,6 @@ view.clickBtn.MouseDownEventHandler += (sender, e) => { UserView.HomePage.Instance.ScrollEnabled = true; - if (updateThread != null && updateThread.IsAlive) - { - updateThread.Abort(); - } //鎶婇潤鎬佸彉閲忕殑杩欎釜涓滆タ缃┖ soneLogicList = null; this.RemoveFromParent(); @@ -62,6 +65,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 甯稿紑妯″紡鍥炬爣 鏃舵晥鎬у父寮�璁剧疆 ///绗簩鍧楃涓�绾х埗鎺т欢 @@ -98,7 +118,6 @@ modeFl.AddChidren(button2); ModeView(); #endregion - #region 甯稿紑鑷姩鍖� ///绗笁鍧楃涓�绾х埗鎺т欢 listLogicFl = new FrameLayout @@ -146,7 +165,7 @@ 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,18 +226,30 @@ }; Read(true); #endregion + + UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = (_bool) => + { + + try + { + Application.RunOnMainThread(() => + { + Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool; + ModeView(); + }); + } + catch { } + }; + } /// <summary> /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈� /// </summary> public async void ModeView() { - + if (Send.CurrentDoorLock.IsDoorLockNormallyMode) { - /// 鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄; - var logic = await SkipView.GetLogicIfon(); - fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害 modeIconBtn.UnSelectedImagePath = "ZigeeLogic/openMode.png";//鏀瑰彉鍥炬爣鐘舵�� modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(64); @@ -242,25 +273,36 @@ button1.MouseUpEventHandler = async (sender, e) => { - var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); - if (result) + CommonPage.Loading.Start(); + try { - if (logic != null) + var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); + if (result) { - ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲 - ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父; - Send.DelLogic(logic.LogicId); + if (logicId != 0) + { + ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲 + Send.DelLogic(logicId); + } + Send.CurrentDoorLock.IsDoorLockNormallyMode = false; + ModeView(); } - Send.CurrentDoorLock.IsDoorLockNormallyMode = false; - ModeView(); + else + { + LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed)); + } } - else + catch { } + finally { - LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed)); - } + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + }); + } }; - if (logic != null) + if (logicId != 0) { ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢 button2.Y = Application.GetRealHeight(127 + 69); @@ -271,23 +313,12 @@ button2.TextSize = 15; button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor; ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈� - } - else - { - button2.Width = Application.GetRealWidth(0); - button2.Height = Application.GetRealHeight(0); - } - ///鏃舵晥鎬у父寮�鍙湁涓�涓潯浠�; - try - { - 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); @@ -296,7 +327,14 @@ string text5 = Language.StringByID(MyInternationalizationString.executeSone); button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5; } - catch { } + else + { + button2.Y = Application.GetRealHeight(0); + button2.X = Application.GetRealWidth(0); + button2.Width = Application.GetRealWidth(0); + button2.Height = Application.GetRealHeight(0); + } + } else @@ -332,6 +370,7 @@ button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png"; button2.TextSize = 15; button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor; + button2.Text =""; button2.MouseUpEventHandler = (sender, e) => { @@ -340,6 +379,7 @@ {///鍐嶆纭 LogicView.TipView.ShowInputTip(true, async (str) => {///纭鍙戦�佸懡浠� + CommonPage.Loading.Start(); try { ///xm @@ -354,7 +394,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,6 +402,8 @@ LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed)); return; } + logicId = addResult; + timeValue = int.Parse(str); Send.CurrentDoorLock.IsDoorLockNormallyMode = true; ModeView(); //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� @@ -371,6 +413,14 @@ catch { + } + finally + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + + }); } }); @@ -528,10 +578,7 @@ TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, }; logicRow.AddRightView(edit); - if (logic.LogicType == 2) - { - edit.TextID = MyInternationalizationString.look; - } + ///鍒犻櫎 var del = new Button { @@ -597,32 +644,6 @@ }; } } - - /// <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