From 3dcbd186c42c598c0c08d1cd37034cf2baa09e54 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 30 十二月 2019 15:47:51 +0800 Subject: [PATCH] 合并了代码 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs | 30 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs | 42 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorInfrared.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Item/RightNext.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainSiphonate.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/RelayThreeLoad.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 155 ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs | 10 ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs | 6 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCarbonMonoxide.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitSettionForm.cs | 2 ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs | 13 ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs | 10 ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm1.cs | 92 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RightNext.png | 0 ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs | 7 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs | 15 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs | 10 ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs | 60 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs | 39 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs | 89 ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs | 44 ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs | 213 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainAutoOpen.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut.png | 0 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs | 3 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorDoorWindow.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs | 2 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs | 7 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayDirectionForm.cs | 2 ZigbeeApp/Home.Ios/Resources/Phone/Room/IconSelectedBackground.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs | 2 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs | 8 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs | 16 ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs | 15 ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs | 77 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs | 2 ZigbeeApp/Home.Ios/Resources/Phone/Guide/LeftIcon.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/LogicMsgIcon.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Guide/Finger.png | 0 ZigbeeApp/GateWay.Droid/ZXing/ZXingOverlayView.cs | 118 ZigbeeApp/GateWay.Droid/Resources/drawable/Icon.png | 0 ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll | 0 ZigbeeApp/Home.Ios/Resources/Phone/Item/SceneMsgIcon.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs | 71 ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs | 325 ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/RightIcon.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorTemperatrueHumidity.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareUpdateForm.cs | 2 ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs | 1102 ---- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 572 +- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameRefreshControl.cs | 59 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CommonDevice.png | 0 ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs | 23 ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Finger.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack1.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_background.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_itemSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs | 133 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs | 51 ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs | 1 ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideMainForm.cs | 79 ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 157 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs | 4 ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconSelectedBackground.png | 0 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs | 37 ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs | 8 ZigbeeApp/Shared/DLL/IOS/Shared.IOS.dll | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs | 10 ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack2.png | 0 ZigbeeApp/Shared/Phone/Device/Room/RoomTemperatureSetting.cs | 16 ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj | 73 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorFire.png | 0 ZigbeeApp/Shared/Common/CommonPage.cs | 2 ZigbeeApp/Home.Ios/Resources/Phone/Guide/Arrows1.png | 0 ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 233 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs | 35 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionMainForm.cs | 2 ZigbeeApp/GateWay.Droid/Application.cs | 71 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs | 17 ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs | 10 ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml | 2 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png | 0 ZigbeeApp/Home.Ios/mono_crash.f3dbef0b0.0.json | 741 +++ ZigbeeApp/Home.Ios/Resources/Phone/Item/Next.png | 0 ZigbeeApp/GateWay.Droid/Resources/drawable/Loading.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs | 5 ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Arrows1.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs | 51 ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionForWinRow.cs | 14 ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorDimmingModeForm.cs | 180 ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs | 61 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs | 1055 ++-- ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_item.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs | 70 ZigbeeApp/Home.Ios/Home.IOS.csproj | 26 ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs | 2 ZigbeeApp/Shared/R.cs | 189 ZigbeeApp/Shared/Phone/Device/CommonForm/RoomButton.cs | 151 ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs | 264 + ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png | 0 ZigbeeApp/Shared/Common/Logic.cs | 2 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs | 269 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/Repeater.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Guide/RightIcon.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Item/ProgressBubbles.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs | 4 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs | 2 ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs | 854 +++ ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirSwitchCloudContr.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 14 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorTemperatrueHumidity.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs | 143 ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs | 4 ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs | 7 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorFire.png | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs | 5 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs | 3 ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs | 2 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/RelayThreeLoad.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlACZbGatewayUpdateLogic.cs | 25 ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs | 5 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs | 4 ZigbeeApp/Shared/Phone/Device/CommonForm/CompleteButton.cs | 2 ZigbeeApp/Shared/Common/Room.cs | 65 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs | 2 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoWithZoneRow.cs | 18 ZigbeeApp/GateWay.Droid/Assets/Language.ini | 80 ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs | 28 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorPir.png | 0 ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs | 53 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/DimmableLightOneLoad.png | 0 ZigbeeApp/Shared/Common/DeviceUI.cs | 87 ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 274 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs | 5 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs | 2 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/Repeater.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ProgressBubbles.png | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithPickViewRow.cs | 16 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs | 8 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs | 2 ZigbeeApp/Shared/Phone/UserView/UserPage.cs | 19 ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs | 45 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs | 4 ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconBackground.png | 0 ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs | 15 ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack1.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneMsgIcon.png | 0 ZigbeeApp/Shared/DLL/IOS/Shared.IOS.TBL.dll | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs | 61 ZigbeeApp/Shared/Common/ZigbeeColor.cs | 12 ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs | 13 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs | 4 ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaSettionMenuForm.cs | 26 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideCommonForm.cs | 230 ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs | 248 ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs | 190 ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs | 91 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorWater.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCarbonMonoxide.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_item.png | 0 ZigbeeApp/Shared/Phone/Device/Category/SelectDelayTime.cs | 7 ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs | 67 ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs | 634 ++ ZigbeeApp/GateWay.Droid/Resources/layout/zxing_layout.xml | 58 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Next.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 10 ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs | 18 ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs | 17 ZigbeeApp/GateWay.Droid/ZXing/ZXingCustomScanView.cs | 71 ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs | 287 + ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirSwitchCloudContr.png | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/RoomMainView.cs | 17 ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs | 10 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs | 21 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 6 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs | 1 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png | 0 ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs | 380 + ZigbeeApp/Home.Ios/Resources/Phone/Gateway/RealGateway.png | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/LeftIconButtonRow.cs | 18 ZigbeeApp/Shared/Shared.projitems | 8 ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs | 1 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs | 37 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs | 13 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_itemSelected.png | 0 ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs | 312 ZigbeeApp/Home.Ios/Resources/Phone/Item/LogicMsgIcon.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CommonDevice.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs | 23 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirConditionerZbGateway.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/EditorCommonForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 537 + ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceObjectControl.cs | 4 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png | 0 ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs | 8 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorDoorWindow.png | 0 ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs | 4 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainSiphonate.png | 0 ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs | 257 ZigbeeApp/Shared/Phone/ZigBee/Device/IASZone.cs | 329 + ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/DimmableLightOneLoad.png | 0 ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack2.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs | 253 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs | 11 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs | 142 ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs | 12 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs | 1 ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm2.cs | 64 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainAutoOpen.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs | 68 ZigbeeApp/Home.Ios/Resources/Language.ini | 80 ZigbeeApp/Home.Ios/Resources/Phone/Room/IconBackground.png | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionRow.cs | 14 ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs | 80 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorPir.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs | 6 ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/LeftIcon.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs | 4 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs | 22 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs | 2 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_background.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs | 2 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut.png | 0 ZigbeeApp/Shared/Common/Device.cs | 106 ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionGatewayListForm.cs | 7 ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs | 1 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 32 ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs | 170 ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs | 14 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameRowControl.cs | 2 /dev/null | 0 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorWater.png | 0 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorInfrared.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 68 ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs | 17 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirConditionerZbGateway.png | 0 258 files changed, 10,122 insertions(+), 4,179 deletions(-) diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs index 2cdce88..49eb763 100755 --- a/ZigbeeApp/GateWay.Droid/Application.cs +++ b/ZigbeeApp/GateWay.Droid/Application.cs @@ -281,31 +281,52 @@ { public static class QRCode { - static ZXing.Mobile.MobileBarcodeScanner scanner; - public static void ScanQRcode(Action<string> action) - { - ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => { - if (obj) - { - if (scanner == null) - { - MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application); - scanner = new ZXing.Mobile.MobileBarcodeScanner(); - } - - var result = await scanner.Scan(); - - if (result != null) - action?.Invoke(result.Text); - else - action?.Invoke(null); - - } - else - { - action?.Invoke(null); - } - }); + static ZXing.Mobile.MobileBarcodeScanner scanner; + public static void ScanQRcode(Action<string> action, string cancel = "鍙栨秷", string flashText = "闂厜鐏�", string titleText = "浜岀淮鐮佹壂鎻�") + { + ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => + { + if (obj) + { + if (scanner == null) + { + MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application); + var mZXingCustomScanView = new GateWay.Droid.ZXingCustomScanView(Shared.Application.Activity.Application); + mZXingCustomScanView.cancelTextView.Text = cancel; + mZXingCustomScanView.flashTextView.Text = flashText; + mZXingCustomScanView.titleTextView.Text = titleText; + var bOn = false; + scanner = new ZXing.Mobile.MobileBarcodeScanner() + { + UseCustomOverlay = true, + CustomOverlay = mZXingCustomScanView + }; + + mZXingCustomScanView.OnCancel += () => { + + scanner?.Cancel(); + }; + + mZXingCustomScanView.OnTorch += () => + { + bOn = !bOn; + scanner?.Torch(bOn); + }; + } + + var result = await scanner.Scan(); + + if (result != null) + action?.Invoke(result.Text); + else + action?.Invoke(null); + + } + else + { + action?.Invoke(null); + } + }); } public static byte[] BytesFromText(string text, int width = 300, int height = 300) diff --git a/ZigbeeApp/GateWay.Droid/Assets/Language.ini b/ZigbeeApp/GateWay.Droid/Assets/Language.ini index 0634da9..0bfa38c 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Language.ini +++ b/ZigbeeApp/GateWay.Droid/Assets/Language.ini @@ -6,7 +6,7 @@ [Chinese] 1=涓婚〉 2=鍒嗙被 -3=涓汉涓績 +3=鎴戠殑 4=鎸夐敭閰嶇疆 5=娣诲姞缁戝畾鐩爣 6=寮� @@ -185,9 +185,9 @@ 179=鎿嶄綔澶辫触 180=杩滅▼寮�閿佺粦瀹氭垚鍔� 181=璇疯缃簩娆″畨鍏ㄩ獙璇佹柟寮� -182=鍏抽棴 +182=鍏� 183=寮�閿佷腑 -184=鎵撳紑 +184=寮� 185=骞� 186=鐭鎴愬姛 187=鐭澶辫触 @@ -228,6 +228,12 @@ 222=绂荤嚎鍦烘櫙 223=纭鍒犻櫎鎸夐敭妯″紡鍙婃竻绌烘墍鏈夌洰鏍� 224=缁戝畾鐩爣涓虹┖锛岃閫夋嫨闇�瑕佺粦瀹氱洰鏍� +225=缁戝畾鐩爣 +226=纭鍒犻櫎鎸夐敭妯″紡鍙� +227=娓呯┖鎵�鏈夌洰鏍� +228=纭 +229=鍒嗕韩鎴愬姛 +230=纭畾瑕佸皢璇ヨ处鎴疯В鍐伙紵 548=鎻愰啋璁剧疆 550=鏂板鐢ㄦ埛 @@ -374,8 +380,8 @@ 5105=璇烽�夋嫨鏃堕棿 5106=鍦扮悊鍥存爮 5107=浣嶇疆妯″紡 -5108=绂诲 -5109=鍦ㄥ +5108=绂诲紑鍦扮偣 +5109=鍒拌揪鍦扮偣 5110=澶╂皵鏉′欢 5111=鍦扮悊浣嶇疆 5112=鎶ヨ @@ -396,7 +402,7 @@ 5127=宸叉湁鑷姩鍖栨潯浠� 5128=寮�濮嬫椂闂� 5129=鎻愮ず -5130=寮�濮嬫椂闂村ぇ浜庣粨鏉熸椂闂达紝閲嶆柊璁剧疆鏃堕棿鏃犳晥 +5130=寮�濮嬫椂闂村ぇ浜庣粨鏉熸椂闂达紝璇烽噸鏂拌缃椂闂�. 5131=缁撴潫鏃堕棿 5132=璇锋牴鎹綘鐨勯渶瑕佽缃棩绋� 5133=鏃堕棿 @@ -610,6 +616,10 @@ 5371=璇烽�夋嫨鍦烘櫙锛屽惁鍒欐棤娉曟墽琛屼笅涓�姝�. 5372=璇烽�夋嫨瀹夐槻妯″紡锛屽惁鍒欐棤娉曟墽琛屼笅涓�姝�. 5373=鑷姩鍖栧凡鎵ц. +5374=娣诲姞浼犳劅鍣� +5375=娣诲姞寮�鍏�/鐏厜 +5376=搴旂敤 +5377=娌℃湁鑷姩鍖杮\r\n} 璇风偣鍑诲彸涓婅娣诲姞 @@ -627,7 +637,7 @@ 10108=鎼滅储 10109=瀹屾垚 10110=璐﹀彿鐧诲綍 -10111=鍙戦�侀獙璇佺爜 +10111=鑾峰彇楠岃瘉鐮� 10112=鍚庨噸鍙� 10113=璇峰啀娆¤緭鍏ュ瘑鐮� 10114=鍙戦�侀獙璇佺爜鎴愬姛锛岃娉ㄦ剰鏌ユ敹 @@ -659,6 +669,9 @@ 10140=璇疯緭鍏ラ暱搴︿负6-13涓瓧绗︾殑瀵嗙爜 10141=浣犲凡琚己鍒朵笅绾匡紒 10142=鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷� +10143=璇峰厛鑾峰彇楠岃瘉鐮� +10144=蹇樿瀵嗙爜锛� +10145=宸叉湁璐﹀彿锛熺櫥褰� @@ -670,6 +683,8 @@ 10155=鎿嶄綔澶辫触 10156=鍙戦�侀獙璇佺爜澶辫触 10157=缃戝叧涓嶅湪绾� +10158=涓嬩竴姝� + 10160=宸叉槸鏈�鏂扮増鏈� 10161=鏇存柊鏈�鏂扮増 @@ -714,6 +729,9 @@ 11032=閫夋嫨鍖哄煙 11033=閫夋嫨鍦烘櫙鍥剧墖 11034=纭畾瑕佺Щ闄よ鍔熻兘锛� +11035=娣诲姞鍔熻兘 +11036=娣诲姞寤舵椂 + 12100=鏈煡璁惧 @@ -729,6 +747,15 @@ 12110=娓╁害浼犳劅鍣� 12111=婀垮害浼犳劅鍣� 12112=娓╂箍搴︿紶鎰熷櫒 + +12500=鏈変汉 +12501=鏃犱汉 +12502=婕忔按 +12503=姝e父 +12504=寮�鍚� +12505=闂悎 +12506=鎶ヨ +12507=瀹夊叏 13100=鎴块棿鍒楄〃 @@ -792,10 +819,11 @@ 13506=5鎸� 13511=璇锋竻娲佹护缃� -13600=娌″姛鑳� {\r\n} 璇峰厛娣诲姞 -13601=娌″満鏅� {\r\n} 璇峰厛娣诲姞 +13600=杩樻病鏈夊姛鑳藉摝 +13601=杩樻病鏈夊満鏅摝 13602=鏃� 13603=鑾峰彇涓�... +13604=褰撳墠 浜害 15000=瀵嗙爜闀垮害涓簕0}涓瓧绗� @@ -940,7 +968,7 @@ 15145=鎴愬憳(绠$悊鍛樻潈闄�) 15146=璐﹀彿淇℃伅 15147=鐢ㄦ埛鍚嶇О -15148=Email +15148=閭 15149=鎵嬫満鍙� 15150=淇敼 15151=缁戝畾 @@ -1203,8 +1231,8 @@ 15442=闂ㄧ獥琚墦寮� 15443=闂ㄧ獥宸插叧闂� 15448=鑾峰彇璁惧鐗堟湰淇℃伅澶辫触 -15449=鑾峰彇浼犳劅鍣ㄧ伅鍏夎缃俊鎭け璐� -15450=璁剧疆浼犳劅鍣ㄧ伅鍏夐厤缃け璐� +15449=鑾峰彇浼犳劅鍣ㄨ缃俊鎭け璐� +15450=璁剧疆浼犳劅鍣ㄩ厤缃俊鎭け璐� 15451=鐧藉ぉ 15452=榛勬槒 15453=澶滄櫄 @@ -1754,6 +1782,30 @@ 16023=鎻愰啋 16024=缁戝畾鎴愬姛锛佷笅娆′綘鍙互鐢ㄥ井淇0}璐﹀彿蹇�熺櫥褰曞暒 16025=濂界殑 +16026=宸叉墽琛� +16027=闂ㄩ攣瑙﹀彂璀︽姤 +16028=鎴戠殑浣忓畢 +16029=瀹㈠巺 +16030=闃冲彴 +16031=鍗у +16032=宸﹀彸婊戝姩,鍒囨崲鎴块棿鍗$墖 +16033=鍙虫粦杩涘叆鎴块棿鍒楄〃 +16034=闂厜鐏� +16035=鎴块棿鐨勫唴瀹瑰湪姝ゅ鏄剧ず +16036=鎴戠煡閬撲簡 +16037=鍒嗕韩鏁版嵁宸茬粡鍙樻洿,璇烽噸鏂扮櫥闄� +16038=宸ヤ綔妯″紡 +16039=鎺у埗妯″紡 +16040=瑙﹀彂妯″紡 +16041=涓婃姤闂撮殧 +16042=鍏ㄨ嚜鍔ㄦā寮� +16043=鍗婅嚜鍔ㄦā寮� +16044=璋冨厜妯″紡 +16045=寮�鍏虫ā寮� +16046=寮�鐏寒搴� +16047=鎱㈠惎鍔� +16048=鎱㈠叧闂� +16049=浜害 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽� 18004=鎸囧畾缃戝叧宸茬粡琚粦瀹� @@ -1861,12 +1913,12 @@ 30028=绠�绾�2鎸夐敭闈㈡澘 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄澶囨墍灞炵绫荤殑缈昏瘧鍚嶅瓧,浠�40000寮�濮嬧槄鈽呪槄鈽� -40000=绐楀笜 +40000=閬槼 40001=鎸夐敭闈㈡澘 40002=浼犳劅鍣� 40003=缁х數鍣� 40004=璋冨厜鍣� -40005=鏅鸿兘闂ㄩ攣 +40005=闂ㄩ攣 40006=绌鸿皟 40007=涓户鍣� 40008=鏅鸿兘绌哄叧 diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack1.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack1.png new file mode 100755 index 0000000..a02e2f2 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack1.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack2.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack2.png new file mode 100755 index 0000000..12086a6 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MainBack2.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway.png new file mode 100755 index 0000000..e1870f3 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Arrows1.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Arrows1.png new file mode 100755 index 0000000..7843bb8 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Arrows1.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Finger.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Finger.png new file mode 100755 index 0000000..8138a71 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/Finger.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/LeftIcon.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/LeftIcon.png new file mode 100755 index 0000000..eaea2c1 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/LeftIcon.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/RightIcon.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/RightIcon.png new file mode 100755 index 0000000..05ab239 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Guide/RightIcon.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/LogicMsgIcon.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/LogicMsgIcon.png new file mode 100755 index 0000000..90b1372 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/LogicMsgIcon.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Next.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Next.png index 5a7036e..9d94b68 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Next.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Next.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ProgressBubbles.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ProgressBubbles.png new file mode 100755 index 0000000..88b6808 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ProgressBubbles.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RightNext.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RightNext.png new file mode 100755 index 0000000..5a7036e --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RightNext.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut.png new file mode 100755 index 0000000..6fba3ad --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_background.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_background.png new file mode 100755 index 0000000..05fd512 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_background.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_item.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_item.png new file mode 100755 index 0000000..985e595 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_item.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_itemSelected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_itemSelected.png new file mode 100755 index 0000000..3c90f5d --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SafetyShortcut_itemSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneMsgIcon.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneMsgIcon.png new file mode 100755 index 0000000..90b1372 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneMsgIcon.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirConditionerZbGateway.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirConditionerZbGateway.png new file mode 100755 index 0000000..510b39b --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirConditionerZbGateway.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirSwitchCloudContr.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirSwitchCloudContr.png index c812167..febc560 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirSwitchCloudContr.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirSwitchCloudContr.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png index 0d9f429..d2ec244 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFour.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png index 0d9f429..d2ec244 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelFourNotPower.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png index bb3a151..d8ec95c 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelThree.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png index 702e8c0..5703a73 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/ButtonPanelTwo.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CommonDevice.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CommonDevice.png index c812167..f5a212a 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CommonDevice.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CommonDevice.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainAutoOpen.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainAutoOpen.png index 636e46a..9ba14c6 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainAutoOpen.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainAutoOpen.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainSiphonate.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainSiphonate.png index 6735225..59c3de3 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainSiphonate.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainSiphonate.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/DimmableLightOneLoad.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/DimmableLightOneLoad.png new file mode 100755 index 0000000..9a95bb9 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/DimmableLightOneLoad.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/RelayThreeLoad.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/RelayThreeLoad.png new file mode 100755 index 0000000..08b603e --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/RelayThreeLoad.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/Repeater.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/Repeater.png new file mode 100755 index 0000000..7e73ed3 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/Repeater.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCarbonMonoxide.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCarbonMonoxide.png index f992dfc..29aea56 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCarbonMonoxide.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCarbonMonoxide.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorDoorWindow.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorDoorWindow.png index 4845a8c..d0d0ec7 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorDoorWindow.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorDoorWindow.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorEmergencyButton.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorEmergencyButton.png deleted file mode 100755 index 5cfde80..0000000 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorEmergencyButton.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorFire.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorFire.png index 96eb1a8..3caae04 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorFire.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorFire.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorInfrared.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorInfrared.png index be936f5..1e7a63c 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorInfrared.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorInfrared.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorMotion.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorMotion.png deleted file mode 100755 index fa2e5f3..0000000 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorMotion.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorPir.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorPir.png index fa2e5f3..ccd155a 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorPir.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorPir.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorTemperatrueHumidity.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorTemperatrueHumidity.png new file mode 100755 index 0000000..30b0fc7 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorTemperatrueHumidity.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorWater.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorWater.png index 3fc3c7c..033f661 100755 --- a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorWater.png +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorWater.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconBackground.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconBackground.png new file mode 100755 index 0000000..cbc6eda --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconBackground.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconSelectedBackground.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconSelectedBackground.png new file mode 100755 index 0000000..28f3760 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/IconSelectedBackground.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj index 9f7ee17..124c03d 100644 --- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj +++ b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj @@ -194,6 +194,8 @@ <Compile Include="Application.cs" /> <Compile Include="Resources\Resource.designer.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="ZXing\ZXingCustomScanView.cs" /> + <Compile Include="ZXing\ZXingOverlayView.cs" /> </ItemGroup> <ItemGroup> <None Include="app.config" /> @@ -524,10 +526,8 @@ <AndroidAsset Include="Assets\Phone\RealDevice\ButtonPanelTwo.png" /> <AndroidAsset Include="Assets\Phone\RealDevice\SensorCarbonMonoxide.png" /> <AndroidAsset Include="Assets\Phone\RealDevice\SensorDoorWindow.png" /> - <AndroidAsset Include="Assets\Phone\RealDevice\SensorEmergencyButton.png" /> <AndroidAsset Include="Assets\Phone\RealDevice\SensorFire.png" /> <AndroidAsset Include="Assets\Phone\RealDevice\SensorInfrared.png" /> - <AndroidAsset Include="Assets\Phone\RealDevice\SensorMotion.png" /> <AndroidAsset Include="Assets\Phone\RealDevice\SensorPir.png" /> <AndroidAsset Include="Assets\Phone\RealDevice\SensorWater.png" /> <AndroidAsset Include="Assets\Phone\Room\RoomCardView.png" /> @@ -1467,6 +1467,75 @@ <ItemGroup> <AndroidAsset Include="Assets\Phone\Room\AddBackground.png" /> </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\LogicMsgIcon.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\SceneMsgIcon.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\RightNext.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Guide\Finger.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Guide\Arrows1.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Guide\LeftIcon.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Guide\RightIcon.png" /> + </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\layout\zxing_layout.xml" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\ProgressBubbles.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\SafetyShortcut.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\SafetyShortcut_background.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\SafetyShortcut_item.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Item\SafetyShortcut_itemSelected.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Room\IconBackground.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Room\IconSelectedBackground.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Gateway\RealGateway.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\RealDevice\AirConditionerZbGateway.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\RealDevice\DimmableLightOneLoad.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\RealDevice\RelayThreeLoad.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\RealDevice\Repeater.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\RealDevice\SensorTemperatrueHumidity.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Center\MainBack1.png" /> + </ItemGroup> + <ItemGroup> + <AndroidAsset Include="Assets\Phone\Center\MainBack2.png" /> + </ItemGroup> <Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> <Import Project="..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets')" /> diff --git a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml index 2794d8d..df21039 100644 --- a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml +++ b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@ 锘�<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2019122001" android:installLocation="auto" android:versionName="1.0.19122001"> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2019123001" android:installLocation="auto" android:versionName="1.0.19123001"> <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="26" /> <permission android:name="com.hdl.home.permission.JPUSH_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> diff --git a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs index 4d98be1..3082e05 100644 --- a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs +++ b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs @@ -3186,8 +3186,8 @@ // aapt resource value: 0x7f090099 public const int container = 2131296409; - // aapt resource value: 0x7f0900e1 - public const int contentFrame = 2131296481; + // aapt resource value: 0x7f0900e4 + public const int contentFrame = 2131296484; // aapt resource value: 0x7f090063 public const int contentPanel = 2131296355; @@ -3375,8 +3375,8 @@ // aapt resource value: 0x7f09005e public const int list_item = 2131296350; - // aapt resource value: 0x7f0900e3 - public const int masked = 2131296483; + // aapt resource value: 0x7f0900e6 + public const int masked = 2131296486; // aapt resource value: 0x7f0900ce public const int media_actions = 2131296462; @@ -3657,6 +3657,15 @@ // aapt resource value: 0x7f0900b4 public const int tvTitle = 2131296436; + // aapt resource value: 0x7f0900e2 + public const int tv_zxing_back = 2131296482; + + // aapt resource value: 0x7f0900e3 + public const int tv_zxing_flash = 2131296483; + + // aapt resource value: 0x7f0900e1 + public const int tv_zxing_scan = 2131296481; + // aapt resource value: 0x7f090022 public const int uniform = 2131296290; @@ -3669,8 +3678,8 @@ // aapt resource value: 0x7f09000c public const int view_offset_helper = 2131296268; - // aapt resource value: 0x7f0900e2 - public const int visible = 2131296482; + // aapt resource value: 0x7f0900e5 + public const int visible = 2131296485; // aapt resource value: 0x7f090031 public const int withText = 2131296305; @@ -3966,10 +3975,13 @@ public const int tooltip = 2130968650; // aapt resource value: 0x7f04004b - public const int zxingscanneractivitylayout = 2130968651; + public const int zxing_layout = 2130968651; // aapt resource value: 0x7f04004c - public const int zxingscannerfragmentlayout = 2130968652; + public const int zxingscanneractivitylayout = 2130968652; + + // aapt resource value: 0x7f04004d + public const int zxingscannerfragmentlayout = 2130968653; static Layout() { diff --git a/ZigbeeApp/GateWay.Droid/Resources/drawable/Icon.png b/ZigbeeApp/GateWay.Droid/Resources/drawable/Icon.png index 881dcad..9adb1f4 100755 --- a/ZigbeeApp/GateWay.Droid/Resources/drawable/Icon.png +++ b/ZigbeeApp/GateWay.Droid/Resources/drawable/Icon.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Resources/drawable/Loading.png b/ZigbeeApp/GateWay.Droid/Resources/drawable/Loading.png index 6b97ea8..8121837 100755 --- a/ZigbeeApp/GateWay.Droid/Resources/drawable/Loading.png +++ b/ZigbeeApp/GateWay.Droid/Resources/drawable/Loading.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Resources/layout/zxing_layout.xml b/ZigbeeApp/GateWay.Droid/Resources/layout/zxing_layout.xml new file mode 100755 index 0000000..54437c8 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Resources/layout/zxing_layout.xml @@ -0,0 +1,58 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <GateWay.Droid.ZXingOverlayView + android:layout_width="match_parent" + android:layout_height="match_parent"/> + <RelativeLayout + android:layout_width="fill_parent" + android:layout_height="50dp" + android:layout_gravity="top" + android:background="#99000000"> +<!-- + <ImageButton + android:id="@+id/capture_imageview_back" + android:layout_width="42dp" + android:layout_height="42dp" + android:layout_centerVertical="true" + android:background="@drawable/abc_ic_ab_back_material"/> +--> + <TextView + android:id="@+id/tv_zxing_scan" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true" + android:textColor="#ffffffff" + android:textSize="20sp" + android:text="鎵竴鎵�"/> + +</RelativeLayout> + + <TextView + android:id="@+id/tv_zxing_back" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="#FFFFFF" + android:textSize="18sp" + android:paddingLeft="10dp" + android:paddingBottom="10dp" + android:text="@android:string/cancel" + android:layout_alignParentLeft ="true" + android:layout_alignParentBottom="true"/> + <TextView + android:id="@+id/tv_zxing_flash" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textSize="18sp" + android:textColor="#FFFFFF" + android:paddingRight="10dp" + android:paddingBottom="10dp" + android:text="闂厜鐏�" + android:layout_alignParentRight ="true" + android:layout_alignParentBottom="true" + /> +</RelativeLayout> + diff --git a/ZigbeeApp/GateWay.Droid/ZXing/ZXingCustomScanView.cs b/ZigbeeApp/GateWay.Droid/ZXing/ZXingCustomScanView.cs new file mode 100755 index 0000000..d730b86 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/ZXing/ZXingCustomScanView.cs @@ -0,0 +1,71 @@ +锘縰sing System; +using Android.Content; +using Android.Views; +using Android.Widget; + +namespace GateWay.Droid +{ + + public class ZXingCustomScanView : RelativeLayout + { + public Action OnCancel; + public Action OnTorch; + public TextView cancelTextView, flashTextView, titleTextView; + public ZXingCustomScanView(Context context) : base(context) + { + View.Inflate(context, Resource.Layout.zxing_layout, this); + + titleTextView = FindViewById<TextView>(Resource.Id.tv_zxing_scan); + + cancelTextView = FindViewById<TextView>(Resource.Id.tv_zxing_back); + cancelTextView.Text = cancelText; + flashTextView = FindViewById<TextView>(Resource.Id.tv_zxing_flash); + flashTextView.Text = flashText; + + cancelTextView.Click += Cancel_Click; + flashTextView.Click += Flash_Click; + } + + String cancelText = "Cancel"; + public String CancelText + { + get + { + return cancelText; + } + set { + cancelText = value; + cancelTextView.Text = cancelText; + } + } + + String flashText = "Flash"; + public String FlashText + { + get + { + return flashText; + } + set + { + flashText = value; + flashTextView.Text = flashText; + } + } + + + + + + private void Flash_Click(object sender, EventArgs e) + { + OnTorch?.Invoke(); + } + + private void Cancel_Click(object sender, System.EventArgs e) + { + OnCancel?.Invoke(); + } + + } +} diff --git a/ZigbeeApp/GateWay.Droid/ZXing/ZXingOverlayView.cs b/ZigbeeApp/GateWay.Droid/ZXing/ZXingOverlayView.cs new file mode 100755 index 0000000..8f456b4 --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/ZXing/ZXingOverlayView.cs @@ -0,0 +1,118 @@ +锘縰sing System; +using Android.Content; +using Android.Graphics; +using Android.Util; +using Android.Views; +using Android.Widget; + +namespace GateWay.Droid +{ + public class ZXingOverlayView: View + { + float screenRate; + float lineWidth; + float textSize; + float left; + float width; + float height; + float top; + Paint paint; + public ZXingOverlayView(Context context) : base(context) + { + InitData(context); + } + + public ZXingOverlayView(Context context, IAttributeSet attrs) : base(context, attrs) + { + InitData(context); + } + + public override void Draw(Canvas canvas) + { + left = canvas.Width * 0.125f; + width = canvas.Width * 0.75f; + height = canvas.Width * 0.75f; + top = (canvas.Height - height) / 2; + + paint = new Paint { AntiAlias = true, }; + paint.SetStyle(Paint.Style.FillAndStroke); + + AddScreenFillRect(canvas); + AddCenterClearRect(canvas); + AddWhiteCanvas(canvas); + AddCornerLineWithCanvas(canvas); + //AddTextWithCanvas(canvas); + } + + private void InitData(Context context) + { + screenRate = 15 * context.Resources.DisplayMetrics.Density; + lineWidth = 2 * context.Resources.DisplayMetrics.Density; + textSize = 16 * context.Resources.DisplayMetrics.Density; + + + } + + //娣诲姞灞忓箷鍗婇�忔槑濉厖鑹� + private void AddScreenFillRect(Canvas canvas) + { + paint.Color = Color.Black; + paint.Alpha = 128; + + canvas.DrawRect(0, 0, canvas.Width, top, paint); + canvas.DrawRect(0, top, left, top + width, paint); + canvas.DrawRect(width + left, top, canvas.Width, top + width, paint); + canvas.DrawRect(0, top + width, canvas.Width, canvas.Height, paint); + } + //娣诲姞涓績鍏ㄩ�忔槑濉厖鑹� + private void AddCenterClearRect(Canvas canvas) + { + paint.Color = Color.Transparent; + + canvas.DrawRect(left, top, left + width, top + width, paint); + } + //娣诲姞鐧借壊鏂规 + private void AddWhiteCanvas(Canvas canvas) + { + paint.Color = Color.Rgb(255, 255, 255); + + canvas.DrawRect(left, top, left + width, top + 2, paint); + canvas.DrawRect(left, top, left + 2, top + height, paint); + canvas.DrawRect(left + width, top, left + width + 2, top + height, paint); + canvas.DrawRect(left, top + height, left + width, top + height + 2, paint); + } + //娣诲姞鍥涗釜瑙掔殑钃濊壊 + private void AddCornerLineWithCanvas(Canvas canvas) + { + paint.Color = Color.Rgb(22, 118, 188); + + canvas.DrawRect(left, top, left + screenRate, top + lineWidth, paint); + canvas.DrawRect(left, top, left + lineWidth, top + screenRate, paint); + canvas.DrawRect(left + width - screenRate, top, left + width, top + lineWidth, paint); + canvas.DrawRect(left + width, top, left + width + lineWidth, top + screenRate, paint); + canvas.DrawRect(left, top + width, left + screenRate, top + width + lineWidth, paint); + canvas.DrawRect(left, top + width - screenRate, left + lineWidth, top + width, paint); + canvas.DrawRect(left + width - screenRate, top + width, left + width + lineWidth, top + width + lineWidth, paint); + canvas.DrawRect(left + width, top + width - screenRate, left + width + lineWidth, top + width + lineWidth, paint); + } + //娣诲姞鏂囧瓧鎻愰啋 + private void AddTextWithCanvas(Canvas canvas) + { + paint.Color = Color.Rgb(255, 255, 255); + paint.SetTypeface(Typeface.DefaultBold); + paint.TextSize = textSize; + string text = "BottomText"; + + float textWidth = paint.MeasureText(text); + + canvas.DrawText(text, (canvas.Width - textWidth) / 2, top + width + textSize, paint); + + + //canvas.DrawText("杩斿洖", 50, 100, paint); + + } + + + + } +} diff --git a/ZigbeeApp/Home.Ios/Home.IOS.csproj b/ZigbeeApp/Home.Ios/Home.IOS.csproj index 9d84fa5..6350923 100644 --- a/ZigbeeApp/Home.Ios/Home.IOS.csproj +++ b/ZigbeeApp/Home.Ios/Home.IOS.csproj @@ -19,7 +19,7 @@ <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\iPhoneSimulator\Debug</OutputPath> - <DefineConstants>DEBUG</DefineConstants> + <DefineConstants>__IOS__;__MOBILE__;__UNIFIED__;DEBUG;iOS</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <MtouchArch>x86_64</MtouchArch> @@ -131,14 +131,20 @@ </ItemGroup> <ItemGroup> <BundleResource Include="Resources\Language.ini" /> + <BundleResource Include="Resources\Phone\Guide\RightIcon.png" /> + <BundleResource Include="Resources\Phone\Guide\LeftIcon.png" /> + <BundleResource Include="Resources\Phone\Guide\Finger.png" /> + <BundleResource Include="Resources\Phone\Guide\Arrows1.png" /> <BundleResource Include="Resources\Phone\Room\RoomCardView.png" /> <BundleResource Include="Resources\Phone\Room\ItemSelected.png" /> <BundleResource Include="Resources\Phone\Room\ItemUnSelected.png" /> <BundleResource Include="Resources\Phone\Room\ItemUnSelected_Black.png" /> <BundleResource Include="Resources\Phone\Room\FavoriteRoom.png" /> + <BundleResource Include="Resources\Phone\Room\IconBackground.png" /> <BundleResource Include="Resources\Phone\Room\Temperature.png" /> <BundleResource Include="Resources\Phone\Room\List.png" /> <BundleResource Include="Resources\Phone\Room\NoNameRoom.png" /> + <BundleResource Include="Resources\Phone\Room\IconSelectedBackground.png" /> <BundleResource Include="Resources\Phone\Room\Room_Rectangle.png" /> <BundleResource Include="Resources\Phone\Room\RoomCardView_Name.png" /> <BundleResource Include="Resources\Phone\Room\Humidity.png" /> @@ -253,6 +259,8 @@ <BundleResource Include="Resources\Phone\Center\ImperialCrown.png" /> <BundleResource Include="Resources\Phone\Center\Opinion.png" /> <BundleResource Include="Resources\Phone\Center\DeviceManagement.png" /> + <BundleResource Include="Resources\Phone\Center\MainBack2.png" /> + <BundleResource Include="Resources\Phone\Center\MainBack1.png" /> <BundleResource Include="Resources\Phone\Center\Admin.png" /> <BundleResource Include="Resources\Phone\Center\SafetyManagement.png" /> <BundleResource Include="Resources\Phone\Navigation\CategorySelected.png" /> @@ -372,17 +380,21 @@ <BundleResource Include="Resources\Phone\Item\DeviceLimitGroundSelected.png" /> <BundleResource Include="Resources\Phone\Item\QRCode.png" /> <BundleResource Include="Resources\Phone\Item\ScanQRcodeIcon.png" /> + <BundleResource Include="Resources\Phone\Item\LogicMsgIcon.png" /> <BundleResource Include="Resources\Phone\Item\InputAccountIcon.png" /> <BundleResource Include="Resources\Phone\Item\ItemSelected.png" /> <BundleResource Include="Resources\Phone\Item\UnLockSuccess.png" /> <BundleResource Include="Resources\Phone\Item\GarrisonList.png" /> + <BundleResource Include="Resources\Phone\Item\SafetyShortcut_item.png" /> <BundleResource Include="Resources\Phone\Item\ItemUnSelected.png" /> <BundleResource Include="Resources\Phone\Item\NowAcctionTip.png" /> <BundleResource Include="Resources\Phone\Item\VirtualFrame.png" /> <BundleResource Include="Resources\Phone\Item\DeleteIcon2Selected.png" /> <BundleResource Include="Resources\Phone\Item\FunctionCardView.png" /> <BundleResource Include="Resources\Phone\Item\ForgotPswList.png" /> + <BundleResource Include="Resources\Phone\Item\ProgressBubbles.png" /> <BundleResource Include="Resources\Phone\Item\Down.png" /> + <BundleResource Include="Resources\Phone\Item\SafetyShortcut.png" /> <BundleResource Include="Resources\Phone\Item\CollectionSelected.png" /> <BundleResource Include="Resources\Phone\Item\Room.png" /> <BundleResource Include="Resources\Phone\Item\SeekBarIcon.png" /> @@ -407,6 +419,7 @@ <BundleResource Include="Resources\Phone\Item\Search.png" /> <BundleResource Include="Resources\Phone\Item\SwitchSelected.png" /> <BundleResource Include="Resources\Phone\Item\NextSelected.png" /> + <BundleResource Include="Resources\Phone\Item\SafetyShortcut_itemSelected.png" /> <BundleResource Include="Resources\Phone\Item\Timer.png" /> <BundleResource Include="Resources\Phone\Item\PlusSign2Selected.png" /> <BundleResource Include="Resources\Phone\Item\ShardMenu.png" /> @@ -423,6 +436,7 @@ <BundleResource Include="Resources\Phone\Item\SelectFloor_Left.png" /> <BundleResource Include="Resources\Phone\Item\Add_Category.png" /> <BundleResource Include="Resources\Phone\Item\ResidenceIcon.png" /> + <BundleResource Include="Resources\Phone\Item\SafetyShortcut_background.png" /> <BundleResource Include="Resources\Phone\Item\Tips.png" /> <BundleResource Include="Resources\Phone\Item\DeviceLimitGround.png" /> <BundleResource Include="Resources\Phone\Item\Switch.png" /> @@ -448,11 +462,13 @@ <BundleResource Include="Resources\Phone\Item\PswSettion.png" /> <BundleResource Include="Resources\Phone\Item\MinusSign2Selected.png" /> <BundleResource Include="Resources\Phone\Item\CollectionSelected1.png" /> + <BundleResource Include="Resources\Phone\Item\SceneMsgIcon.png" /> <BundleResource Include="Resources\Phone\Item\FailIcon.png" /> <BundleResource Include="Resources\Phone\Item\Message.png" /> <BundleResource Include="Resources\Phone\Item\FixedPosition.png" /> <BundleResource Include="Resources\Phone\Item\GarrisonListSelected.png" /> <BundleResource Include="Resources\Phone\Item\Back.png" /> + <BundleResource Include="Resources\Phone\Item\RightNext.png" /> <BundleResource Include="Resources\Phone\Item\FunctionViewBG.png" /> <BundleResource Include="Resources\Phone\Item\SceneFunctionBG.png" /> <BundleResource Include="Resources\Phone\Item\SelectHouse.png" /> @@ -714,22 +730,26 @@ <BundleResource Include="Resources\Phone\RealDevice\CurtainSiphonate.png" /> <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelTwo.png" /> <BundleResource Include="Resources\Phone\RealDevice\SensorPir.png" /> + <BundleResource Include="Resources\Phone\RealDevice\RelayThreeLoad.png" /> <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelFourNotPower.png" /> <BundleResource Include="Resources\Phone\RealDevice\CurtainAutoOpen.png" /> <BundleResource Include="Resources\Phone\RealDevice\SensorInfrared.png" /> <BundleResource Include="Resources\Phone\RealDevice\AirSwitchCloudContr.png" /> <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelFour.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorEmergencyButton.png" /> + <BundleResource Include="Resources\Phone\RealDevice\Repeater.png" /> + <BundleResource Include="Resources\Phone\RealDevice\SensorTemperatrueHumidity.png" /> <BundleResource Include="Resources\Phone\RealDevice\CommonDevice.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorMotion.png" /> + <BundleResource Include="Resources\Phone\RealDevice\AirConditionerZbGateway.png" /> <BundleResource Include="Resources\Phone\RealDevice\SensorDoorWindow.png" /> <BundleResource Include="Resources\Phone\RealDevice\SensorFire.png" /> <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelThree.png" /> <BundleResource Include="Resources\Phone\RealDevice\SensorCarbonMonoxide.png" /> + <BundleResource Include="Resources\Phone\RealDevice\DimmableLightOneLoad.png" /> <BundleResource Include="Resources\Phone\RealDevice\SensorWater.png" /> <BundleResource Include="Resources\Phone\Gateway\WiredGatewaySearching.png" /> <BundleResource Include="Resources\Phone\Gateway\WirelessGatewaySearching.png" /> <BundleResource Include="Resources\Phone\Gateway\RealGateway6.png" /> + <BundleResource Include="Resources\Phone\Gateway\RealGateway.png" /> <BundleResource Include="Resources\Phone\Gateway\RealGateway1.png" /> <BundleResource Include="Resources\Phone\Gateway\WiredGatewayInstruct.png" /> <BundleResource Include="Resources\Phone\Gateway\WirelessApDirection.png" /> diff --git a/ZigbeeApp/Home.Ios/Resources/Language.ini b/ZigbeeApp/Home.Ios/Resources/Language.ini index 0634da9..0bfa38c 100755 --- a/ZigbeeApp/Home.Ios/Resources/Language.ini +++ b/ZigbeeApp/Home.Ios/Resources/Language.ini @@ -6,7 +6,7 @@ [Chinese] 1=涓婚〉 2=鍒嗙被 -3=涓汉涓績 +3=鎴戠殑 4=鎸夐敭閰嶇疆 5=娣诲姞缁戝畾鐩爣 6=寮� @@ -185,9 +185,9 @@ 179=鎿嶄綔澶辫触 180=杩滅▼寮�閿佺粦瀹氭垚鍔� 181=璇疯缃簩娆″畨鍏ㄩ獙璇佹柟寮� -182=鍏抽棴 +182=鍏� 183=寮�閿佷腑 -184=鎵撳紑 +184=寮� 185=骞� 186=鐭鎴愬姛 187=鐭澶辫触 @@ -228,6 +228,12 @@ 222=绂荤嚎鍦烘櫙 223=纭鍒犻櫎鎸夐敭妯″紡鍙婃竻绌烘墍鏈夌洰鏍� 224=缁戝畾鐩爣涓虹┖锛岃閫夋嫨闇�瑕佺粦瀹氱洰鏍� +225=缁戝畾鐩爣 +226=纭鍒犻櫎鎸夐敭妯″紡鍙� +227=娓呯┖鎵�鏈夌洰鏍� +228=纭 +229=鍒嗕韩鎴愬姛 +230=纭畾瑕佸皢璇ヨ处鎴疯В鍐伙紵 548=鎻愰啋璁剧疆 550=鏂板鐢ㄦ埛 @@ -374,8 +380,8 @@ 5105=璇烽�夋嫨鏃堕棿 5106=鍦扮悊鍥存爮 5107=浣嶇疆妯″紡 -5108=绂诲 -5109=鍦ㄥ +5108=绂诲紑鍦扮偣 +5109=鍒拌揪鍦扮偣 5110=澶╂皵鏉′欢 5111=鍦扮悊浣嶇疆 5112=鎶ヨ @@ -396,7 +402,7 @@ 5127=宸叉湁鑷姩鍖栨潯浠� 5128=寮�濮嬫椂闂� 5129=鎻愮ず -5130=寮�濮嬫椂闂村ぇ浜庣粨鏉熸椂闂达紝閲嶆柊璁剧疆鏃堕棿鏃犳晥 +5130=寮�濮嬫椂闂村ぇ浜庣粨鏉熸椂闂达紝璇烽噸鏂拌缃椂闂�. 5131=缁撴潫鏃堕棿 5132=璇锋牴鎹綘鐨勯渶瑕佽缃棩绋� 5133=鏃堕棿 @@ -610,6 +616,10 @@ 5371=璇烽�夋嫨鍦烘櫙锛屽惁鍒欐棤娉曟墽琛屼笅涓�姝�. 5372=璇烽�夋嫨瀹夐槻妯″紡锛屽惁鍒欐棤娉曟墽琛屼笅涓�姝�. 5373=鑷姩鍖栧凡鎵ц. +5374=娣诲姞浼犳劅鍣� +5375=娣诲姞寮�鍏�/鐏厜 +5376=搴旂敤 +5377=娌℃湁鑷姩鍖杮\r\n} 璇风偣鍑诲彸涓婅娣诲姞 @@ -627,7 +637,7 @@ 10108=鎼滅储 10109=瀹屾垚 10110=璐﹀彿鐧诲綍 -10111=鍙戦�侀獙璇佺爜 +10111=鑾峰彇楠岃瘉鐮� 10112=鍚庨噸鍙� 10113=璇峰啀娆¤緭鍏ュ瘑鐮� 10114=鍙戦�侀獙璇佺爜鎴愬姛锛岃娉ㄦ剰鏌ユ敹 @@ -659,6 +669,9 @@ 10140=璇疯緭鍏ラ暱搴︿负6-13涓瓧绗︾殑瀵嗙爜 10141=浣犲凡琚己鍒朵笅绾匡紒 10142=鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷� +10143=璇峰厛鑾峰彇楠岃瘉鐮� +10144=蹇樿瀵嗙爜锛� +10145=宸叉湁璐﹀彿锛熺櫥褰� @@ -670,6 +683,8 @@ 10155=鎿嶄綔澶辫触 10156=鍙戦�侀獙璇佺爜澶辫触 10157=缃戝叧涓嶅湪绾� +10158=涓嬩竴姝� + 10160=宸叉槸鏈�鏂扮増鏈� 10161=鏇存柊鏈�鏂扮増 @@ -714,6 +729,9 @@ 11032=閫夋嫨鍖哄煙 11033=閫夋嫨鍦烘櫙鍥剧墖 11034=纭畾瑕佺Щ闄よ鍔熻兘锛� +11035=娣诲姞鍔熻兘 +11036=娣诲姞寤舵椂 + 12100=鏈煡璁惧 @@ -729,6 +747,15 @@ 12110=娓╁害浼犳劅鍣� 12111=婀垮害浼犳劅鍣� 12112=娓╂箍搴︿紶鎰熷櫒 + +12500=鏈変汉 +12501=鏃犱汉 +12502=婕忔按 +12503=姝e父 +12504=寮�鍚� +12505=闂悎 +12506=鎶ヨ +12507=瀹夊叏 13100=鎴块棿鍒楄〃 @@ -792,10 +819,11 @@ 13506=5鎸� 13511=璇锋竻娲佹护缃� -13600=娌″姛鑳� {\r\n} 璇峰厛娣诲姞 -13601=娌″満鏅� {\r\n} 璇峰厛娣诲姞 +13600=杩樻病鏈夊姛鑳藉摝 +13601=杩樻病鏈夊満鏅摝 13602=鏃� 13603=鑾峰彇涓�... +13604=褰撳墠 浜害 15000=瀵嗙爜闀垮害涓簕0}涓瓧绗� @@ -940,7 +968,7 @@ 15145=鎴愬憳(绠$悊鍛樻潈闄�) 15146=璐﹀彿淇℃伅 15147=鐢ㄦ埛鍚嶇О -15148=Email +15148=閭 15149=鎵嬫満鍙� 15150=淇敼 15151=缁戝畾 @@ -1203,8 +1231,8 @@ 15442=闂ㄧ獥琚墦寮� 15443=闂ㄧ獥宸插叧闂� 15448=鑾峰彇璁惧鐗堟湰淇℃伅澶辫触 -15449=鑾峰彇浼犳劅鍣ㄧ伅鍏夎缃俊鎭け璐� -15450=璁剧疆浼犳劅鍣ㄧ伅鍏夐厤缃け璐� +15449=鑾峰彇浼犳劅鍣ㄨ缃俊鎭け璐� +15450=璁剧疆浼犳劅鍣ㄩ厤缃俊鎭け璐� 15451=鐧藉ぉ 15452=榛勬槒 15453=澶滄櫄 @@ -1754,6 +1782,30 @@ 16023=鎻愰啋 16024=缁戝畾鎴愬姛锛佷笅娆′綘鍙互鐢ㄥ井淇0}璐﹀彿蹇�熺櫥褰曞暒 16025=濂界殑 +16026=宸叉墽琛� +16027=闂ㄩ攣瑙﹀彂璀︽姤 +16028=鎴戠殑浣忓畢 +16029=瀹㈠巺 +16030=闃冲彴 +16031=鍗у +16032=宸﹀彸婊戝姩,鍒囨崲鎴块棿鍗$墖 +16033=鍙虫粦杩涘叆鎴块棿鍒楄〃 +16034=闂厜鐏� +16035=鎴块棿鐨勫唴瀹瑰湪姝ゅ鏄剧ず +16036=鎴戠煡閬撲簡 +16037=鍒嗕韩鏁版嵁宸茬粡鍙樻洿,璇烽噸鏂扮櫥闄� +16038=宸ヤ綔妯″紡 +16039=鎺у埗妯″紡 +16040=瑙﹀彂妯″紡 +16041=涓婃姤闂撮殧 +16042=鍏ㄨ嚜鍔ㄦā寮� +16043=鍗婅嚜鍔ㄦā寮� +16044=璋冨厜妯″紡 +16045=寮�鍏虫ā寮� +16046=寮�鐏寒搴� +16047=鎱㈠惎鍔� +16048=鎱㈠叧闂� +16049=浜害 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽� 18004=鎸囧畾缃戝叧宸茬粡琚粦瀹� @@ -1861,12 +1913,12 @@ 30028=绠�绾�2鎸夐敭闈㈡澘 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄澶囨墍灞炵绫荤殑缈昏瘧鍚嶅瓧,浠�40000寮�濮嬧槄鈽呪槄鈽� -40000=绐楀笜 +40000=閬槼 40001=鎸夐敭闈㈡澘 40002=浼犳劅鍣� 40003=缁х數鍣� 40004=璋冨厜鍣� -40005=鏅鸿兘闂ㄩ攣 +40005=闂ㄩ攣 40006=绌鸿皟 40007=涓户鍣� 40008=鏅鸿兘绌哄叧 diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack1.png b/ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack1.png new file mode 100755 index 0000000..a02e2f2 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack1.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack2.png b/ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack2.png new file mode 100755 index 0000000..12086a6 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Center/MainBack2.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Gateway/RealGateway.png b/ZigbeeApp/Home.Ios/Resources/Phone/Gateway/RealGateway.png new file mode 100755 index 0000000..e1870f3 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Gateway/RealGateway.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Guide/Arrows1.png b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/Arrows1.png new file mode 100755 index 0000000..7843bb8 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/Arrows1.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Guide/Finger.png b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/Finger.png new file mode 100755 index 0000000..8138a71 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/Finger.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Guide/LeftIcon.png b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/LeftIcon.png new file mode 100755 index 0000000..eaea2c1 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/LeftIcon.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Guide/RightIcon.png b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/RightIcon.png new file mode 100755 index 0000000..05ab239 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Guide/RightIcon.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/LogicMsgIcon.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/LogicMsgIcon.png new file mode 100755 index 0000000..90b1372 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/LogicMsgIcon.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/Next.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/Next.png index 5a7036e..9d94b68 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/Item/Next.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/Next.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/ProgressBubbles.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/ProgressBubbles.png new file mode 100755 index 0000000..88b6808 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/ProgressBubbles.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/RightNext.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/RightNext.png new file mode 100755 index 0000000..5a7036e --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/RightNext.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut.png new file mode 100755 index 0000000..6fba3ad --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_background.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_background.png new file mode 100755 index 0000000..05fd512 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_background.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_item.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_item.png new file mode 100755 index 0000000..985e595 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_item.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_itemSelected.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_itemSelected.png new file mode 100755 index 0000000..3c90f5d --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SafetyShortcut_itemSelected.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/SceneMsgIcon.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SceneMsgIcon.png new file mode 100755 index 0000000..90b1372 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SceneMsgIcon.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirConditionerZbGateway.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirConditionerZbGateway.png new file mode 100755 index 0000000..510b39b --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirConditionerZbGateway.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirSwitchCloudContr.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirSwitchCloudContr.png index c812167..febc560 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirSwitchCloudContr.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/AirSwitchCloudContr.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png index 0d9f429..d2ec244 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFour.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png index 0d9f429..d2ec244 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelFourNotPower.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png index bb3a151..d8ec95c 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelThree.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png index 702e8c0..5703a73 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/ButtonPanelTwo.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CommonDevice.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CommonDevice.png index c812167..f5a212a 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CommonDevice.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CommonDevice.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainAutoOpen.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainAutoOpen.png index 636e46a..9ba14c6 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainAutoOpen.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainAutoOpen.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainSiphonate.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainSiphonate.png index 6735225..59c3de3 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainSiphonate.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/CurtainSiphonate.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/DimmableLightOneLoad.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/DimmableLightOneLoad.png new file mode 100755 index 0000000..9a95bb9 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/DimmableLightOneLoad.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/RelayThreeLoad.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/RelayThreeLoad.png new file mode 100755 index 0000000..08b603e --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/RelayThreeLoad.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/Repeater.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/Repeater.png new file mode 100755 index 0000000..7e73ed3 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/Repeater.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCarbonMonoxide.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCarbonMonoxide.png index f992dfc..29aea56 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCarbonMonoxide.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCarbonMonoxide.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorDoorWindow.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorDoorWindow.png index 4845a8c..d0d0ec7 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorDoorWindow.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorDoorWindow.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorEmergencyButton.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorEmergencyButton.png deleted file mode 100755 index 5cfde80..0000000 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorEmergencyButton.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorFire.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorFire.png index 96eb1a8..3caae04 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorFire.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorFire.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorInfrared.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorInfrared.png index be936f5..1e7a63c 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorInfrared.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorInfrared.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorMotion.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorMotion.png deleted file mode 100755 index fa2e5f3..0000000 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorMotion.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorPir.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorPir.png index fa2e5f3..ccd155a 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorPir.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorPir.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorTemperatrueHumidity.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorTemperatrueHumidity.png new file mode 100755 index 0000000..30b0fc7 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorTemperatrueHumidity.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorWater.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorWater.png index 3fc3c7c..033f661 100755 --- a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorWater.png +++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorWater.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Room/IconBackground.png b/ZigbeeApp/Home.Ios/Resources/Phone/Room/IconBackground.png new file mode 100755 index 0000000..cbc6eda --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Room/IconBackground.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Room/IconSelectedBackground.png b/ZigbeeApp/Home.Ios/Resources/Phone/Room/IconSelectedBackground.png new file mode 100755 index 0000000..28f3760 --- /dev/null +++ b/ZigbeeApp/Home.Ios/Resources/Phone/Room/IconSelectedBackground.png Binary files differ diff --git a/ZigbeeApp/Home.Ios/mono_crash.f3dbef0b0.0.json b/ZigbeeApp/Home.Ios/mono_crash.f3dbef0b0.0.json new file mode 100644 index 0000000..843c535 --- /dev/null +++ b/ZigbeeApp/Home.Ios/mono_crash.f3dbef0b0.0.json @@ -0,0 +1,741 @@ +{ + "protocol_version" : "0.0.5", + "configuration" : { + "version" : "(6.6.0.155) (2019-08/296a9afdb24)", + "tlc" : "normal", + "sigsgev" : "altstack", + "notifications" : "kqueue", + "architecture" : "amd64", + "disabled_features" : "none", + "smallconfig" : "disabled", + "bigarrays" : "disabled", + "softdebug" : "enabled", + "interpreter" : "enabled", + "llvm_support" : "0", + "suspend" : "hybrid" + }, + "memory" : { + "Resident Size" : "101490688", + "Virtual Size" : "4936187904", + "minor_gc_time" : "1136957", + "major_gc_time" : "0", + "minor_gc_count" : "3", + "major_gc_count" : "0", + "major_gc_time_concurrent" : "0" + }, + "threads" : [ + { + "is_managed" : true, + "offset_free_hash" : "0xf3dbef0b0", + "offset_rich_hash" : "0xf3dbef3d8", + "crashed" : true, + "native_thread_id" : "0x70000fea5000", + "thread_info_addr" : "0x7ffb5babe400", + "thread_name" : "Thread Pool Worker", + "ctx" : { + "IP" : "0x7fff641bf2c6", + "SP" : "0x70000fea3548", + "BP" : "0x70000fea3580" + }, + "managed_frames" : [ + { + "is_managed" : "false", + "native_address" : "unregistered" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x00000", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x0000c" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001f80", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x0001a" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001f27", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00028" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001f25", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00002" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000084", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x000ae" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000083", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00001" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x600006a", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00048" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x60000a1", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00001" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000067", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00001" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000075", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00057" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x00000", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x0002a" + } +, + { + "is_managed" : "false", + "native_address" : "unregistered" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x00000", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x0000c" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x60048c4", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000039", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00019" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000166", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00029" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000181", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00001" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001ec3", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00071" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001ec1", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001fce", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00074" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001fe3", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x00000", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x0002a" + } + + ], + "unmanaged_frames" : [ + { + "is_managed" : "false", + "native_address" : "0x108051156", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f7775", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f7dfa", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1080bcf46", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x108055c65", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1080bc2db", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff6426fb5d", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x108322439", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff641296a6", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082c6cb7", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082a7b2f", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082c703e", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082c71bf", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x108161e76", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x108162478", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082b519f", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082b54b0", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081647ab", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x108187675", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x00000", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000083", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x60000a1", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x00000", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x107fb162d", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081d0fa4", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081d53a6", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x10816c6f4", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x00000", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x60048c4", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "2278D637-312B-4F39-AE26-3AE8170D7EC6", + "token" : "0x6000181", + "native_offset" : "0x0", + "filename" : "MonoDevelop.MSBuildBuilder.exe", + "sizeofimage" : "0x14000", + "timestamp" : "0xb4416f59", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001ec1", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "true", + "guid" : "7D0BC631-CADD-4A07-BF74-717847E90CFA", + "token" : "0x6001fe3", + "native_offset" : "0x0", + "filename" : "mscorlib.dll", + "sizeofimage" : "0x472000", + "timestamp" : "0xec216ac8", + "il_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x107fb162d", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081d0fa4", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081faec0", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x10812d28c", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f8373", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff642782eb", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff6427b249", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff6427740d", + "native_offset" : "0x00000" + } + + ] +}, +{ + "is_managed" : false, + "offset_free_hash" : "0x0", + "offset_rich_hash" : "0x0", + "crashed" : false, + "native_thread_id" : "0x112c285c0", + "thread_info_addr" : "0x7ffb5a800a00", + "thread_name" : "tid_307", + "ctx" : { + "IP" : "0x7fff641bc86a", + "SP" : "0x7ffee7c61c98", + "BP" : "0x7ffee7c61d20" + }, + "unmanaged_frames" : [ + { + "is_managed" : "false", + "native_address" : "0x108051156", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f7775", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f74a7", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1080bbf3c", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff6426fb5d", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "unregistered" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082a17c0", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1082bc2e1", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f4774", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f458a", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1080166c2", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x107fa0848", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff640843d5", + "native_offset" : "0x00000" + } + + ] +}, +{ + "is_managed" : false, + "offset_free_hash" : "0x0", + "offset_rich_hash" : "0x0", + "crashed" : false, + "native_thread_id" : "0x70000f796000", + "thread_info_addr" : "0x7ffb5b818000", + "thread_name" : "Finalizer", + "ctx" : { + "IP" : "0x7fff641b9266", + "SP" : "0x70000f795da8", + "BP" : "0x70000f795e50" + }, + "unmanaged_frames" : [ + { + "is_managed" : "false", + "native_address" : "0x108051156", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f7775", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f74a7", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1080bbf3c", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff6426fb5d", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x70000f795888", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x1081f8373", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff642782eb", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff6427b249", + "native_offset" : "0x00000" + } +, + { + "is_managed" : "false", + "native_address" : "0x7fff6427740d", + "native_offset" : "0x00000" + } + + ] +} +] +} \ No newline at end of file diff --git a/ZigbeeApp/Shared/Common/CommonPage.cs b/ZigbeeApp/Shared/Common/CommonPage.cs index 4ee5e03..651ec1f 100755 --- a/ZigbeeApp/Shared/Common/CommonPage.cs +++ b/ZigbeeApp/Shared/Common/CommonPage.cs @@ -62,7 +62,7 @@ /// <summary> /// 鐗堟湰鍙� /// </summary> - public static string CodeIDString = "1.0.19122001"; + public static string CodeIDString = "1.0.19123001"; /// <summary> /// 娉ㄥ唽鏉ユ簮(0:HDL On 1:Zigbee) /// </summary> diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs index 1a25f6f..bd14933 100755 --- a/ZigbeeApp/Shared/Common/Device.cs +++ b/ZigbeeApp/Shared/Common/Device.cs @@ -1046,10 +1046,21 @@ /// <param name="listdevice">璁惧瀵硅薄</param> public void SetRealDeviceIconToControl(Button btnIcon, List<CommonDevice> listdevice) { + //鑾峰彇璁惧鐨勭湡瀹炲浘鐗� + string imagePath = this.GetRealDeviceIcon(listdevice); + btnIcon.UnSelectedImagePath = imagePath; + } + + /// <summary> + /// 鑾峰彇璁惧鐨勭湡瀹炲浘鐗� + /// </summary> + /// <param name="listdevice">璁惧瀵硅薄</param> + public string GetRealDeviceIcon(List<CommonDevice> listdevice) + { //鑾峰彇瀹冨睘浜庝粈涔堢被鍨嬬殑璁惧 var myDeviceType = this.GetMyDeviceEnumInfo(listdevice); string strConcrete = Enum.GetName(typeof(DeviceConcreteType), myDeviceType.ConcreteType); - + //鍥剧墖鍏辨湁 if (this.dicPictrueShard.ContainsKey(strConcrete) == true) { @@ -1067,7 +1078,7 @@ if (arry.Length == 1) { //濡傛灉瀹冭嚜宸卞氨鏄叡閫氬浘鐗囩殑璇濓紝涓嶅啀澶勭悊 - return; + return "RealDevice/CommonDevice.png"; } imageFilePath = "RealDevice/" + arry[0] + ".png"; //濡傛灉瀹冭嚜宸辩殑鍏遍�氬浘鐗囪繕鏄笉瀛樺湪鐨勮瘽,鍒欑洿鎺ヤ娇鐢ㄦ墍鏈夎澶囩殑鍏遍�氬浘鐗� @@ -1076,16 +1087,16 @@ imageFilePath = "RealDevice/CommonDevice.png"; } } - btnIcon.UnSelectedImagePath = imageFilePath; + return imageFilePath; } /// <summary> - /// 璁剧疆銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣鍒版寚瀹氱殑鎺т欢 + /// 璁剧疆銆愯澶囩被鍨嬨�戠殑鍥炬爣鍒版寚瀹氱殑鎺т欢 /// </summary> /// <param name="btnIcon">鎺т欢瀵硅薄</param> /// <param name="listdevice">璁惧瀵硅薄</param> /// <returns></returns> - public void SetDeviceBeloneIconToControl(Button btnIcon, List<CommonDevice> listdevice) + public void SetDeviceObjectIconToControl(Button btnIcon, List<CommonDevice> listdevice) { //鑾峰彇鑷畾涔夎澶囩被鍨� var myDeviceType = this.GetMyDeviceEnumInfo(listdevice); @@ -1093,8 +1104,8 @@ string imageUnSelectFilePath = string.Empty; string imageSelectFilePath = string.Empty; - //鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣 - this.GetDeviceBeloneIcon(myDeviceType.ConcreteType, ref imageUnSelectFilePath, ref imageSelectFilePath); + //鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣 + this.GetDeviceObjectIcon(myDeviceType.ConcreteType, ref imageUnSelectFilePath, ref imageSelectFilePath); //璁剧疆鍥剧墖 btnIcon.UnSelectedImagePath = imageUnSelectFilePath; @@ -1102,29 +1113,29 @@ } /// <summary> - /// 鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣 + /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣 /// </summary> /// <param name="listdevice">璁惧瀵硅薄</param> /// <param name="unSelectPath">鍥剧墖鍦板潃</param> /// <param name="selectPath">鍥剧墖鍦板潃</param> /// <returns></returns> - public void GetDeviceBeloneIcon(List<CommonDevice> listdevice, ref string unSelectPath, ref string selectPath) + public void GetDeviceObjectIcon(List<CommonDevice> listdevice, ref string unSelectPath, ref string selectPath) { //鑾峰彇鑷畾涔夎澶囩被鍨� var myDeviceType = this.GetMyDeviceEnumInfo(listdevice); - //鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣 - this.GetDeviceBeloneIcon(myDeviceType.ConcreteType, ref unSelectPath, ref selectPath); + //鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣 + this.GetDeviceObjectIcon(myDeviceType.ConcreteType, ref unSelectPath, ref selectPath); } /// <summary> - /// 鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣 + /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣 /// </summary> /// <param name="specificType">鑷畾涔夎澶囩被鍨�</param> /// <param name="unSelectPath">鍥剧墖鍦板潃</param> /// <param name="selectPath">鍥剧墖鍦板潃</param> /// <returns></returns> - public void GetDeviceBeloneIcon(DeviceConcreteType specificType, ref string unSelectPath, ref string selectPath) + public void GetDeviceObjectIcon(DeviceConcreteType specificType, ref string unSelectPath, ref string selectPath) { //灏嗗叿浣撶被鍨嬭浆瀛楃涓� string strSpecific = Enum.GetName(typeof(DeviceConcreteType), specificType); @@ -1222,7 +1233,7 @@ return info; } //鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨�� - return this.GetNotHdlMyDeviceEnumInfo(listdevice, false); + return this.GetNotHdlMyDeviceEnumInfo(listdevice); } /// <summary> @@ -1252,7 +1263,7 @@ else { //鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨�� - var myDeviceType = this.GetNotHdlMyDeviceEnumInfo(listDevice, false); + var myDeviceType = this.GetNotHdlMyDeviceEnumInfo(listDevice); strName = Language.StringByID(myDeviceType.ConcreteTextId); } if (ApendFalge == true && listDevice[0].DriveCode > 0) @@ -1318,31 +1329,53 @@ #region 鈻� 鑾峰彇绗笁鏂硅澶囩殑璁惧绫诲瀷___________ /// <summary> - /// 鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨�� + /// 鑾峰彇璁惧鐨勩�愭墍灞炵被鍨嬩俊鎭��,姝ゆ柟娉曚細鎶婃墍鏈夌殑浼犳劅鍣ㄩ兘褰掍负銆愪紶鎰熷櫒銆�(鍖呮嫭娓╂箍搴︿紶鎰熷櫒) /// </summary> /// <param name="device">璁惧鍥炶矾</param> - /// <param name="margeSensor"> - /// <para>鏄惁灏嗘墍鏈夌被鍨嬬殑浼犳劅鍣ㄩ兘褰掍负銆愪紶鎰熷櫒銆�,</para> - /// <para>false鐨勬椂鍊欙細銆怌oncreteType銆戝拰銆怌oncreteTextId銆戝彲鑳戒細鏈変笉鍚岀殑鍊�</para> - /// <para>true鐨勬椂鍊欙細銆怌oncreteType銆戠粺涓�涓篠ensor,銆怌oncreteTextId銆戠粺涓�涓轰紶鎰熷櫒</para> - /// </param> /// <returns></returns> - public DeviceEnumInfo GetNotHdlMyDeviceEnumInfo(CommonDevice device, bool margeSensor = true) + public DeviceEnumInfo GetDeviceBelongEnumInfo(CommonDevice device) { - return this.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice>() { device }, margeSensor); + var info = this.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice>() { device }); + if (info.BeloneType == DeviceBeloneType.A璋冨厜鍣� + || info.BeloneType == DeviceBeloneType.A褰╃伅) + { + //褰掍负鐏厜 + info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId15; + info.BeloneType = DeviceBeloneType.A鐏厜; + info.ConcreteType = DeviceConcreteType.Light; + + int value = (int)info.BeloneType; + if (dicDeviceDefultNameID.ContainsKey("uDeviceBelongId" + value) == true) + { + //璁惧鎵�灞炵被鍨嬬殑缈昏瘧鍚嶅瓧 + info.BeloneTextId = dicDeviceDefultNameID["uDeviceBelongId" + value]; + } + } + else if (info.BeloneType == DeviceBeloneType.A浼犳劅鍣� + || device.Type == DeviceType.TemperatureSensor) + { + //浼犳劅鍣ㄥ悎骞� + info.BeloneType = DeviceBeloneType.A浼犳劅鍣�; + info.ConcreteType = DeviceConcreteType.Sensor; + info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId1200; + + int value = (int)info.BeloneType; + if (dicDeviceDefultNameID.ContainsKey("uDeviceBelongId" + value) == true) + { + //璁惧鎵�灞炵被鍨嬬殑缈昏瘧鍚嶅瓧 + info.BeloneTextId = dicDeviceDefultNameID["uDeviceBelongId" + value]; + } + } + + return info; } /// <summary> /// 鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨��(涓嶅缓璁娇鐢�) /// </summary> /// <param name="listdevice">Mac閮戒竴鏍风殑璁惧鍒楄〃</param> - /// <param name="margeSensor"> - /// <para>鏄惁灏嗘墍鏈夌被鍨嬬殑浼犳劅鍣ㄩ兘褰掍负銆愪紶鎰熷櫒銆�,</para> - /// <para>false鐨勬椂鍊欙細銆怌oncreteType銆戝拰銆怌oncreteTextId銆戝彲鑳戒細鏈変笉鍚岀殑鍊�</para> - /// <para>true鐨勬椂鍊欙細銆怌oncreteType銆戠粺涓�涓篠ensor,銆怌oncreteTextId銆戠粺涓�涓轰紶鎰熷櫒</para> - /// </param> /// <returns></returns> - public DeviceEnumInfo GetNotHdlMyDeviceEnumInfo(List<CommonDevice> listdevice, bool margeSensor = true) + public DeviceEnumInfo GetNotHdlMyDeviceEnumInfo(List<CommonDevice> listdevice) { var dicType = new Dictionary<DeviceType, CommonDevice>(); foreach (CommonDevice device in listdevice) @@ -1479,11 +1512,8 @@ info.BeloneType = DeviceBeloneType.A浼犳劅鍣�; info.ConcreteType = DeviceConcreteType.Sensor; info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId1200; - if (margeSensor == false) - { - //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷 - this.SetSensorDeviceSpecificType(ref info, listdevice); - } + //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷 + this.SetSensorDeviceSpecificType(ref info, listdevice); } //13鍖呭惈娓╁害浼犳劅鍣ㄧ殑璇� else if (dicType.ContainsKey(DeviceType.TemperatureSensor) == true) @@ -1513,14 +1543,14 @@ //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷 info.BeloneType = DeviceBeloneType.A娓╂箍搴︿紶鎰熷櫒; info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId10; - info.ConcreteType = DeviceConcreteType.Sensor_TemperatrueHumidity; + info.ConcreteType = DeviceConcreteType.Sensor_TemperatureHumidity; } else if (temperatrue == true && humidity == false) { //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷 info.BeloneType = DeviceBeloneType.A娓╁害浼犳劅鍣�; info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId11; - info.ConcreteType = DeviceConcreteType.Sensor_Temperatrue; + info.ConcreteType = DeviceConcreteType.Sensor_Temperature; } else if (temperatrue == false && humidity == true) { @@ -2324,11 +2354,11 @@ /// <summary> /// 娓╂箍搴︿紶鎰熷櫒 /// </summary> - Sensor_TemperatrueHumidity = -1308, + Sensor_TemperatureHumidity = -1308, /// <summary> /// 娓╁害浼犳劅鍣� /// </summary> - Sensor_Temperatrue = -1309, + Sensor_Temperature = -1309, /// <summary> /// 婀垮害浼犳劅鍣� /// </summary> diff --git a/ZigbeeApp/Shared/Common/DeviceUI.cs b/ZigbeeApp/Shared/Common/DeviceUI.cs index d3034cc..7c6a101 100755 --- a/ZigbeeApp/Shared/Common/DeviceUI.cs +++ b/ZigbeeApp/Shared/Common/DeviceUI.cs @@ -445,6 +445,93 @@ } return $"{model},{wind},{tempareture}"; } + else if (device.Type == DeviceType.IASZone) + { + var ias = CommonDevice as IASZone; + var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device }); + if (info.ConcreteType == DeviceConcreteType.Sensor_Infrared) + { + //绾㈠ + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Water) + { + //姘存蹈 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HaveWater); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_DoorWindow) + { + //闂ㄧ獥 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Open); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Close); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_CarbonMonoxide) + { + //鐕冩皵 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Fire) + { + //鐑熼浘 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Pir) + { + //pir + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Keyfob) + { + //閽ュ寵鎵� + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Motion) + { + //杩愬姩浼犳劅鍣� + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_EmergencyButton) + { + //绱ф�ユ寜閽� + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + return null; + } else { return null; diff --git a/ZigbeeApp/Shared/Common/Logic.cs b/ZigbeeApp/Shared/Common/Logic.cs index 4fe1ac6..42c01e0 100755 --- a/ZigbeeApp/Shared/Common/Logic.cs +++ b/ZigbeeApp/Shared/Common/Logic.cs @@ -46,7 +46,7 @@ /// <summary> /// 鎺ㄩ�佸唴瀹� /// </summary> - public string LogicCustomPushText; + public string LogicCustomPushText=string.Empty; //public Dictionary<string, string> TimeAttribute = new Dictionary<string, string>(); public TimeAttributeObj TimeAttribute = new TimeAttributeObj(); diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs index c6005c0..0c202a7 100755 --- a/ZigbeeApp/Shared/Common/Room.cs +++ b/ZigbeeApp/Shared/Common/Room.cs @@ -336,6 +336,19 @@ } } Config.Instance.Home.InitFloor(); + + RefreshRoomListView(); + } + + /// <summary> + /// 鍒锋柊鎴块棿瑙嗗浘鍒楄〃 + /// </summary> + public static void RefreshRoomListView() + { + Application.RunOnMainThread(() => + { + Phone.Device.Room.RoomManagement.Instance.Show(); + }); } /// <summary> @@ -445,8 +458,33 @@ //鍒犻櫎鏉ヨ嚜鎷嶇収鎴栬�呯郴缁熷浘搴撶殑鎴块棿鑳屾櫙鍥剧墖 if (room.BackgroundImageType == 1 || room.BackgroundImageType == 2) { - DeleteBackGroundIamageFilebyHomeId(room.BackgroundImage); + //鍒犻櫎鎺夊師鏉ョ殑鑷畾涔夊浘鐗� + if (Global.IsExistsByHomeId(room.BackgroundImage) == true) + { + Global.DeleteFilebyHomeId(room.BackgroundImage); + //鍒犻櫎澶囦唤 + HdlAutoBackupLogic.DeleteFile(room.BackgroundImage); + } } + //鎴戠殑鍠滅埍 + var loveRoom = this.GetLoveRoom(); + if (loveRoom != null) + { + //绉婚櫎鎴戠殑鍠滅埍閲岄潰鐨勮澶� + for (int i = 0; i < room.DeviceUIFilePathList.Count; i++) + { + loveRoom.DeviceUIFilePathList.Remove(room.DeviceUIFilePathList[i]); + loveRoom.DeviceUIList.RemoveAll((obj) => { return room.DeviceUIFilePathList[i] == obj.FileName; }); + } + //绉婚櫎鎴戠殑鍠滅埍閲岄潰鐨勫満鏅� + for (int i = 0; i < room.SceneUIFilePathList.Count; i++) + { + loveRoom.SceneUIFilePathList.Remove(room.SceneUIFilePathList[i]); + loveRoom.SceneUIList.RemoveAll((obj) => { return room.SceneUIFilePathList[i] == obj.FileName; }); + } + loveRoom.Save(false); + } + if (Global.IsExistsByHomeId(roomFilePath) == false) { return false; @@ -770,31 +808,6 @@ #endregion #region 鈼� 鎴块棿鑳屾櫙鍥剧殑鐩稿叧___________________ - /// <summary> - /// 鍒犻櫎鑳屾櫙鍥剧墖 - /// </summary> - /// <param name="fileName">fileName瀹為檯涓婂寘鍚簡浣忓畢璺姴 濡� 浣忓畢/鏂囦欢鍚�.</param> - public static void DeleteBackGroundIamageFilebyHomeId(string fileName) - { - if (fileName == null) - { - return; - } - var pathLists = fileName.Split('/'); - if (pathLists == null || pathLists.Count() < 9 || pathLists[8] == null) - { - return; - } - var path = System.IO.Path.Combine(Config.Instance.FullPath, fileName); - if (!Global.IsExistsByHomeId(pathLists[8])) - { - return; - } - //鍒犻櫎鏈湴鍥剧墖 - System.IO.File.Delete(path); - //鍒犻櫎澶囦唤 - Phone.UserCenter.HdlAutoBackupLogic.DeleteFile(pathLists[8]); - } /// <summary> /// 绉诲姩鑳屾櫙鍥剧墖鍒颁綇瀹呯洰褰曚笅 diff --git a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs index 2c56f46..f9dddbd 100755 --- a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs +++ b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs @@ -56,13 +56,7 @@ /// 鍞竴鏍囪瘑--HashCode /// DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo) /// </summary> - public string SceneTargetDeviceUIID - { - get - { - return GetHashCode().ToString(); - } - } + public string SceneTargetDeviceUIID = Guid.NewGuid().ToString(); /// <summary> /// GetDeviceStatu diff --git a/ZigbeeApp/Shared/Common/ZigbeeColor.cs b/ZigbeeApp/Shared/Common/ZigbeeColor.cs index 9cf8886..ca272cd 100755 --- a/ZigbeeApp/Shared/Common/ZigbeeColor.cs +++ b/ZigbeeApp/Shared/Common/ZigbeeColor.cs @@ -182,17 +182,25 @@ /// </summary> public uint GXCSelectedLineColor = 0xFFFC744B; /// <summary> - /// 娴呰壊绾挎潯 0xFFF5F6FA; + /// 娴呰壊绾挎潯 0x80CCCCCC /// </summary> - public uint GXCGrayLineColor = 0xFFF5F6FA; + public uint GXCGrayLineColor = 0x80CCCCCC; /// <summary> /// 娴呰壊绾挎潯 0x66CCCCCC /// </summary> public uint GXCGrayLineColor2 = 0x66CCCCCC; + ///// <summary> + ///// 娴呰壊绾挎潯 0xFFEBEBEB + ///// </summary> + //public uint GXCGrayLineColor2 = 0xFFEBEBEB; /// <summary> /// 娴呰壊绾挎潯 0xFFB7B8BB /// </summary> public uint GXCGrayLineColor3 = 0xFFB7B8BB; + /// <summary> + /// 0x40000000 + /// </summary> + public uint GXCGrayLineColor4 = 0x40000000; /// <summary> /// 鎸夐挳鏈�変腑鐘舵�� 0xFF656565; diff --git a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll index 4d88dec..4f9b2cd 100755 --- a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll +++ b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll Binary files differ diff --git a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll index fcc575e..6a4e720 100755 --- a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll +++ b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll Binary files differ diff --git a/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.TBL.dll b/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.TBL.dll index 55be85a..5c4bb01 100755 --- a/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.TBL.dll +++ b/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.TBL.dll Binary files differ diff --git a/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.dll b/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.dll index 13526c4..f172e52 100755 --- a/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.dll +++ b/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.dll Binary files differ diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs index 8147fd7..ae8adc4 100755 --- a/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs +++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs @@ -139,6 +139,8 @@ Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.GXCTextRed, TextAlignment = TextAlignment.CenterLeft, + TextSize = CommonFormResouce.TextSize, + IsBold = true }; bodyFrameLayout.AddChidren(errorBtn); @@ -155,7 +157,9 @@ BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor, Radius = (uint)Application.GetRealHeight(127 / 2), Enable = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text), - IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text) + IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text), + TextSize = 16, + IsBold = true, }; bodyFrameLayout.AddChidren(resetBtn); } @@ -171,9 +175,10 @@ private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false; + phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false; resetBtn.Enable = resetBtn.IsSelected = false; errorBtn.Text = string.Empty; - (sender as Button).IsSelected = true; + (sender as Button).IsSelected = (sender as Button).IsBold = true; if ((sender as Button).Tag.ToString() == "Phone") { AddPhoneOrEmailFL(accountCodeFL, "Phone"); @@ -453,17 +458,14 @@ } else if (stateStr == "PARAMETEROREMPTY") { - //鎻愪緵鐨勫弬鏁伴敊璇� errorBtn.TextID = R.MyInternationalizationString.PARAMETEROREMPTY; } else if (stateStr == "ACCOUNTNOEXISTS") { - //璐﹀彿涓嶅瓨鍦� errorBtn.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS; } else if (stateStr == "FAIL") { - //鎿嶄綔澶辫触 errorBtn.TextID = R.MyInternationalizationString.FAIL; } else if(stateStr == "NEWPASSWORDANDOLDPASSWORDEQUAL") @@ -474,7 +476,6 @@ { errorBtn.TextID = R.MyInternationalizationString.RequestServerFailed; } - } else if (stateCodeStr == "PARAMETEROREMPTY") { @@ -486,6 +487,11 @@ //楠岃瘉鐮侀敊璇� errorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL; } + else if (stateCodeStr == "NORECORD") + { + errorBtn.TextID = R.MyInternationalizationString.NORECORD; + } + else { errorBtn.TextID = R.MyInternationalizationString.RequestServerFailed; diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs index 54e7481..2db0b49 100755 --- a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs +++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs @@ -167,12 +167,14 @@ Width = Application.GetRealWidth(300), Gravity = Gravity.CenterHorizontal, TextID = R.MyInternationalizationString.AppName, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize=16 }; midFrameLayout.AddChidren(logoName); phoneEmailForm = new PhoneEmailForm(); phoneEmailForm.Init(midFrameLayout); + //閿欒鎻愮ずBtn loginErrorBtn = new Button() @@ -183,6 +185,8 @@ Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.GXCTextRed, TextAlignment = TextAlignment.CenterLeft, + TextSize=CommonFormResouce.TextSize, + IsBold=true }; midFrameLayout.AddChidren(loginErrorBtn); @@ -205,7 +209,7 @@ Y = Application.GetRealHeight(1198), Width = Application.GetRealWidth(250), Height = Application.GetRealHeight(58), - TextID = R.MyInternationalizationString.ForgotPWD, + TextID = R.MyInternationalizationString.ForgotPWD_1, TextSize = CommonFormResouce.loginTextSize, TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor, TextAlignment = TextAlignment.CenterRight @@ -219,14 +223,15 @@ Height = Application.GetRealHeight(127), Gravity = Gravity.CenterHorizontal, TextID = R.MyInternationalizationString.Login, - TextSize = 15, + TextSize = 16, TextColor = ZigbeeColor.Current.GXCTextGrayColor, SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor, BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor, Radius = (uint)Application.GetRealHeight(127 / 2), Enable = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text), - IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text) + IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text), + IsBold=true }; midFrameLayout.AddChidren(loginBtn); @@ -280,6 +285,11 @@ #endregion BindEvent(); + + if (string.IsNullOrEmpty(account) == false && AccountLogic.Instance.CheckEmail(account) == true) + { + SelectPhoneOrEmail_MouseUpEvent(phoneEmailForm.SelectedEmail, null); + } } #endregion @@ -695,8 +705,6 @@ } } - - /// <summary> /// phone/email 閫夋嫨 /// </summary> @@ -705,9 +713,10 @@ private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false; + phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false; loginBtn.Enable = loginBtn.IsSelected = false; loginErrorBtn.Text = string.Empty; - (sender as Button).IsSelected = true; + (sender as Button).IsSelected = (sender as Button).IsBold = true; if((sender as Button).Tag.ToString()=="Phone") { AddPhoneOrEmailFL(accountPwdFL, "Phone"); diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs index 88083b4..798fe31 100755 --- a/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs +++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs @@ -67,6 +67,10 @@ /// 楠岃瘉鐮� /// </summary> private string code; + /// <summary> + /// wechat + /// </summary> + private Button wechatBtn; private Timer t; private DateTime dateBegin; @@ -151,7 +155,8 @@ Width = Application.GetRealWidth(300), Gravity = Gravity.CenterHorizontal, TextID = R.MyInternationalizationString.AppName, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize = 16 }; midFrameLayout.AddChidren(logoName); @@ -167,6 +172,8 @@ Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.GXCTextRed, TextAlignment = TextAlignment.CenterLeft, + TextSize = CommonFormResouce.TextSize, + IsBold = true }; midFrameLayout.AddChidren(loginErrorBtn); @@ -189,7 +196,7 @@ Y = Application.GetRealHeight(1198), Width = Application.GetRealWidth(250), Height = Application.GetRealHeight(58), - TextID = R.MyInternationalizationString.ForgotPWD, + TextID = R.MyInternationalizationString.ForgotPWD_1, TextSize = CommonFormResouce.loginTextSize, TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor, TextAlignment = TextAlignment.CenterRight @@ -203,7 +210,8 @@ Height = Application.GetRealHeight(127), Gravity = Gravity.CenterHorizontal, TextID = R.MyInternationalizationString.Login, - TextSize = 15, + TextSize = 16, + IsBold=true, TextColor = ZigbeeColor.Current.GXCTextGrayColor, SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor, @@ -240,6 +248,17 @@ }; midFrameLayout.AddChidren(registerBtn); + wechatBtn = new Button + { + X = Application.GetRealWidth(395), + Y = Application.GetRealHeight(1737), + Width = Application.GetMinRealAverage(115), + Height = Application.GetMinRealAverage(115), + UnSelectedImagePath = "Account/Wechat.png", + Gravity = Gravity.CenterHorizontal + }; + midFrameLayout.AddChidren(wechatBtn); + BindEvent(); } @@ -261,6 +280,8 @@ registerBtn.MouseUpEventHandler += Register; //蹇樿瀵嗙爜 forgotPasswordBtn.MouseUpEventHandler += ForgetPWD_MouseUpEvent; + //wechat + wechatBtn.MouseUpEventHandler += LoginByWechat; } @@ -279,6 +300,10 @@ CommonPage.Loading.Start(); try { + if (CheckAccount(account) == false) + { + return; + } var reqLoginByCode = new SendDataToServer.LoginValidCodeOBJ() { Account = account, @@ -360,8 +385,12 @@ else if (stateCodeStr == "VALIDCODEANDPHONENOEQUAL") { CommonPage.Loading.Hide(); - //楠岃瘉鐮侀敊璇� loginErrorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL; + } + else if (stateCodeStr == "NORECORD") + { + CommonPage.Loading.Hide(); + loginErrorBtn.TextID = R.MyInternationalizationString.NORECORD; } else if (stateCodeStr == "YOUDATANOISLOCALREGION") { @@ -415,8 +444,9 @@ private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false; + phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false; loginBtn.Enable = loginBtn.IsSelected = false; - (sender as Button).IsSelected = true; + (sender as Button).IsSelected = (sender as Button).IsBold = true; if ((sender as Button).Tag.ToString() == "Phone") { AddPhoneOrEmailFL(accountCodeFL, "Phone"); @@ -454,6 +484,179 @@ codeRow.SendCodeBtn.MouseUpEventHandler += SendCode_MouseUpEventAsync; codeRow.VerificationCodeET.TextChangeEventHandler += Code_TextChange; } + + /// <summary> + /// wechat鐧诲綍 + /// </summary> + /// <param name="sender"></param> + /// <param name="mouseEventArgs"></param> + private void LoginByWechat(object sender, MouseEventArgs mouseEventArgs) + { +#if Android + //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), + // Language.StringByID(R.MyInternationalizationString.LoginByWechat), + // Language.StringByID(R.MyInternationalizationString.Cancel), + // Language.StringByID(R.MyInternationalizationString.Confrim)); + //alert.Show(); + //alert.ResultEventHandler += (send, e) => + //{ + //if (e) + //{ + com.hdl.home.Application.WXLogin(); + com.hdl.home.WXEntryActivity.RespAction = (authStr) => + { + if (authStr == null) + { + + } + else + { + new System.Threading.Thread(async () => + { + var re = await isBindAuthAsync(authStr); + if (re) + { + Application.RunOnMainThread(() => + { + //鐩存帴鐧诲綍 + HomePage.Instance.ShowLoginLoadView(); + }); + var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID(); + var homes = await House.GetHomeLists(); + //鍚姩ZigBee + ZigBee.Common.Application.Init(); + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ + await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); + Shared.Common.Room.InitAllRoom(); + Application.RunOnMainThread(() => + { + this.RemoveFromParent(); + CommonPage.Instance.RemoveViewByTag("Login"); + UserPage.Instance.Fresh(); + }); + } + else + { + var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr); + Application.RunOnMainThread(() => + { + var registerPage = new AccountRegister(); + Shared.Common.CommonPage.Instance.AddChidren(registerPage); + registerPage.OpenID = authRes.openid; + registerPage.Show(); + }); + } + }) + { IsBackground = true }.Start(); + } + }; + //} + //}; +#endif + +#if iOS + Home.IOS.AppDelegate.WXLogin(); + Home.IOS.AppDelegate.RespAction = (authStr) => + { + if (authStr == null) + { + + } + else + { + new System.Threading.Thread(async () => + { + + var re = await isBindAuthAsync(authStr); + if (re) + { + //鐩存帴鐧诲綍 + //this.RemoveFromParent(); + + //UserPage.Instance.Fresh(); + var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID(); + var homes = await House.GetHomeLists(); + //鍚姩ZigBee + ZigBee.Common.Application.Init(); + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ + await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); + Shared.Common.Room.InitAllRoom(); + Application.RunOnMainThread(() => + { + this.RemoveFromParent(); + UserPage.Instance.Fresh(); + }); + } + else + { + var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr); + Application.RunOnMainThread(() => + { + var registerPage = new AccountRegister(); + Shared.Common.CommonPage.Instance.AddChidren(registerPage); + registerPage.OpenID = authRes.openid; + registerPage.Show(); + }); + } + }) + { IsBackground = true }.Start(); + } + }; +#endif + } + + /// <summary> + /// qq鐧诲綍 + /// </summary> + /// <param name="sender"></param> + /// <param name="mouseEventArgs"></param> + private void LoginByQQ(object sender, MouseEventArgs mouseEventArgs) + { + + } + + /// <summary> + /// 鏄惁宸茬粦瀹� + /// </summary> + /// <param name="authStr"></param> + /// <returns></returns> + private async System.Threading.Tasks.Task<bool> isBindAuthAsync(string authStr) + { + var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr); + var auth = new SendDataToServer.AuthUser() + { + AccessToken = authRes.access_token, + RefreshToken = authRes.refresh_token, + OpenID = authRes.openid + }; + var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(auth); + var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson)); + if (revertObj == null) + { + return false; + } + var stateCodeStr = revertObj.StateCode.ToUpper(); + if (stateCodeStr == "SUCCESS") + { + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString()); + var revertData = responseDataObj; + Config.Instance.Account = revertData.Account; + Config.Instance.MD5PWD = revertData.MD5PWD; + Config.Instance.Guid = revertData.Guid; + Config.Instance.LoginDateTime = DateTime.Now; + if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null) + { + Config.Instance.AccountList.Add(revertData.Account); + } + Config.Instance.Save(); + return true; + } + else + { + return false; + } + } + #endregion #region 鈼� 璐﹀彿銆侀獙璇佺爜鐩戝惉______________________ diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs index 58bb7b5..ed300a9 100755 --- a/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs +++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs @@ -143,6 +143,8 @@ Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.GXCTextRed, TextAlignment = TextAlignment.CenterLeft, + TextSize = CommonFormResouce.TextSize, + IsBold = true }; bodyFrameLayout.AddChidren(errorBtn); @@ -159,7 +161,9 @@ BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor, Radius = (uint)Application.GetRealHeight(127 / 2), Enable = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text), - IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text) + IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text), + TextSize = 16, + IsBold = true, }; bodyFrameLayout.AddChidren(registerBtn); @@ -168,7 +172,7 @@ Y = registerBtn.Bottom + Application.GetRealHeight(50), Width = Application.GetRealWidth(400), Height = Application.GetRealHeight(58), - TextID = R.MyInternationalizationString.LoginByAccountPWD, + TextID = R.MyInternationalizationString.LoginByAccountPWD_1, TextColor = ZigbeeColor.Current.GXCTextGrayColor, TextSize = CommonFormResouce.loginTextSize, Gravity=Gravity.CenterHorizontal @@ -188,8 +192,9 @@ private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false; + phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false; registerBtn.Enable = registerBtn.IsSelected = false; - (sender as Button).IsSelected = true; + (sender as Button).IsSelected = (sender as Button).IsBold = true; account = string.Empty; errorBtn.Text = string.Empty; if ((sender as Button).Tag.ToString() == "Phone") @@ -325,6 +330,10 @@ //楠岃瘉鐮侀敊璇� errorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL; } + else if (stateCodeStr == "NORECORD") + { + errorBtn.TextID = R.MyInternationalizationString.NORECORD; + } else { errorBtn.TextID = R.MyInternationalizationString.RequestServerFailed; diff --git a/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs b/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs index 110e270..3ad73d0 100755 --- a/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs +++ b/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs @@ -61,7 +61,9 @@ SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, Radius = (uint)Application.GetRealHeight(height / 2), IsSelected = true, - Tag = "Phone" + IsBold=true, + Tag = "Phone", + TextSize= CommonFormResouce.TextSize }; PhoneEmailFL.AddChidren(SelectedPhone); @@ -76,7 +78,8 @@ SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, Radius = (uint)Application.GetRealHeight(height / 2), IsSelected = false, - Tag = "Email" + Tag = "Email", + TextSize = CommonFormResouce.TextSize }; PhoneEmailFL.AddChidren(SelectedEmail); } @@ -108,6 +111,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// accountLine + /// </summary> + private Button accountLine; /// <summary> /// Init @@ -135,7 +142,7 @@ TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, Text = $"+{CommonPage.PhoneZoneStr}", TextAlignment = TextAlignment.Center, - TextSize = CommonFormResouce.loginTextSize + TextSize = CommonFormResouce.TextSize }; accountFL.AddChidren(PhoneZoneBtn); PhoneZoneBtn.MouseUpEventHandler += (sender, e) => @@ -149,15 +156,6 @@ (sender as Button).Text = "+" + code; CommonPage.PhoneZoneStr = code; }; - - //var zoneListView = new PhoneZone { }; - //zoneListView.ActionSelectedZone += (zone) => - //{ - // var t = CommonPage.PhoneZoneStr; - // (sender as Button).Text = "+" + zone; - //}; - //parFL.AddChidren(zoneListView); - //zoneListView.Show(); }; AccountET = new EditText() @@ -171,18 +169,39 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = account, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize + TextSize = CommonFormResouce.PlaceHolderTextSize }; accountFL.AddChidren(AccountET); - var accountLine = new Button() + accountLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; accountFL.AddChidren(accountLine); + + AccountET.FoucsChanged += Text_FoucesChangeEvent; + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + accountLine.Height = 2; + } + else + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + accountLine.Height = 1; + } } } @@ -196,6 +215,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// accountLine + /// </summary> + private Button accountLine; /// <summary> /// Init @@ -235,18 +258,40 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = account, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize + TextSize = CommonFormResouce.PlaceHolderTextSize }; accountFL.AddChidren(AccountET); - var accountLine = new Button() + accountLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height)-2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; accountFL.AddChidren(accountLine); + + AccountET.FoucsChanged += Text_FoucesChangeEvent; + + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if(focusEvent.Focus) + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + accountLine.Height = 2; + } + else + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + accountLine.Height = 1; + } } } @@ -260,6 +305,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// accountLine + /// </summary> + private Button accountLine; /// <summary> /// Init @@ -299,19 +348,41 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = account, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize + TextSize = CommonFormResouce.PlaceHolderTextSize }; accountFL.AddChidren(AccountET); - var accountLine = new Button() + accountLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; accountFL.AddChidren(accountLine); + + AccountET.FoucsChanged += Text_FoucesChangeEvent; } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + accountLine.Height = 2; + } + else + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + accountLine.Height = 1; + } + } + } @@ -325,6 +396,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// accountLine + /// </summary> + private Button accountLine; /// <summary> /// Init @@ -364,19 +439,41 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = account, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize + TextSize = CommonFormResouce.PlaceHolderTextSize }; accountFL.AddChidren(AccountET); - var accountLine = new Button() + accountLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; accountFL.AddChidren(accountLine); + + AccountET.FoucsChanged += Text_FoucesChangeEvent; } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + accountLine.Height = 2; + } + else + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + accountLine.Height = 1; + } + } + } public class EmailForgotRowForm : FrameLayout @@ -389,6 +486,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// accountLine + /// </summary> + private Button accountLine; /// <summary> /// Init @@ -418,18 +519,39 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = account, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize + TextSize = CommonFormResouce.PlaceHolderTextSize }; accountFL.AddChidren(AccountET); - var accountLine = new Button() + accountLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; accountFL.AddChidren(accountLine); + + AccountET.FoucsChanged += Text_FoucesChangeEvent; + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + accountLine.Height = 2; + } + else + { + accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + accountLine.Height = 1; + } } } @@ -451,6 +573,10 @@ /// VerificationCodeET /// </summary> public EditText VerificationCodeET; + /// <summary> + /// pwdLine + /// </summary> + private Button pwdLine; /// <summary> /// Init @@ -514,19 +640,42 @@ TextColor = ZigbeeColor.Current.GXCTextGrayColor, SelectedTextColor = ZigbeeColor.Current.GXCTextColor, TextAlignment = TextAlignment.Center, + TextSize=CommonFormResouce.TextSize, Enable = false, - IsSelected = false + IsSelected = false, + IsBold=true }; codeFL.AddChidren(SendCodeBtn); - var pwdLine = new Button() + pwdLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; codeFL.AddChidren(pwdLine); + + VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent; + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + pwdLine.Height = 2; + } + else + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + pwdLine.Height = 1; + } } } @@ -544,6 +693,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// pwdLine + /// </summary> + private Button pwdLine; /// <summary> /// Init @@ -585,7 +738,7 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = password, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize, + TextSize = CommonFormResouce.PlaceHolderTextSize, SecureTextEntry = true }; pwdFL.AddChidren(PasswrodET); @@ -608,14 +761,16 @@ PasswrodET.SecureTextEntry = (sender as Button).IsSelected; }; - var pwdLine = new Button() + pwdLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; pwdFL.AddChidren(pwdLine); + + PasswrodET.FoucsChanged += Text_FoucesChangeEvent; } /// <summary> /// SetPlaceholdText @@ -624,6 +779,25 @@ public void SetPlaceholdText(string holdText) { PasswrodET.PlaceholderText = holdText; + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + pwdLine.Height = 2; + } + else + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + pwdLine.Height = 1; + } } } @@ -641,6 +815,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// pwdLine + /// </summary> + private Button pwdLine; /// <summary> /// Init @@ -682,7 +860,7 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = password, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize, + TextSize = CommonFormResouce.PlaceHolderTextSize, SecureTextEntry = true }; pwdFL.AddChidren(PasswrodET); @@ -705,14 +883,16 @@ PasswrodET.SecureTextEntry = (sender as Button).IsSelected; }; - var pwdLine = new Button() + pwdLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; pwdFL.AddChidren(pwdLine); + + PasswrodET.FoucsChanged += Text_FoucesChangeEvent; } /// <summary> /// SetPlaceholdText @@ -721,6 +901,25 @@ public void SetPlaceholdText(string holdText) { PasswrodET.PlaceholderText = holdText; + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + pwdLine.Height = 2; + } + else + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + pwdLine.Height = 1; + } } } @@ -738,6 +937,10 @@ /// Button_Height /// </summary> private int Button_Height = 92; + /// <summary> + /// pwdLine + /// </summary> + private Button pwdLine; /// <summary> /// Init @@ -769,7 +972,7 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, Text = password, TextAlignment = TextAlignment.CenterLeft, - TextSize = CommonFormResouce.loginTextSize, + TextSize = CommonFormResouce.PlaceHolderTextSize, SecureTextEntry = true }; pwdFL.AddChidren(PasswrodET); @@ -792,14 +995,16 @@ PasswrodET.SecureTextEntry = (sender as Button).IsSelected; }; - var pwdLine = new Button() + pwdLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(CommonFormResouce.Row_Width), Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; pwdFL.AddChidren(pwdLine); + + PasswrodET.FoucsChanged += Text_FoucesChangeEvent; } /// <summary> /// SetPlaceholdText @@ -808,6 +1013,26 @@ public void SetPlaceholdText(string holdText) { PasswrodET.PlaceholderText = holdText; + } + + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + pwdLine.Height = 2; + } + else + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + pwdLine.Height = 1; + } } } @@ -829,6 +1054,10 @@ /// VerificationCodeET /// </summary> public EditText VerificationCodeET; + /// <summary> + /// pwdLine + /// </summary> + private Button pwdLine; /// <summary> /// sendCodeBG /// </summary> @@ -897,18 +1126,42 @@ SelectedBackgroundColor=ZigbeeColor.Current.GXCButtonSelectedColor, Enable = false, IsSelected = false, - Radius=(uint)Application.GetRealHeight(12) + Radius=(uint)Application.GetRealHeight(12), + IsBold=true, + TextSize=CommonFormResouce.TextSize }; codeFL.AddChidren(SendCodeBtn); - var pwdLine = new Button() + pwdLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(536), Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; codeFL.AddChidren(pwdLine); + + VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent; + + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + pwdLine.Height = 2; + } + else + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + pwdLine.Height = 1; + } } /// <summary> @@ -986,6 +1239,10 @@ /// </summary> public EditText VerificationCodeET; /// <summary> + /// pwdLine + /// </summary> + private Button pwdLine; + /// <summary> /// Timer /// </summary> private Timer t; @@ -1045,18 +1302,41 @@ SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor, Enable = false, IsSelected = false, - Radius = (uint)Application.GetRealHeight(12) + Radius = (uint)Application.GetRealHeight(12), + IsBold=true, + TextSize=CommonFormResouce.TextSize }; codeFL.AddChidren(SendCodeBtn); - var pwdLine = new Button() + pwdLine = new Button() { - Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1, + Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2, Width = Application.GetRealWidth(536), Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor }; codeFL.AddChidren(pwdLine); + + VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent; + } + + /// <summary> + /// 鍏夋爣鏀瑰彉 + /// </summary> + /// <param name="sender"></param> + /// <param name="focusEvent"></param> + private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent) + { + if (focusEvent.Focus) + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + pwdLine.Height = 2; + } + else + { + pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + pwdLine.Height = 1; + } } /// <summary> diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs index 15b55a2..d2b1bfd 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs @@ -195,7 +195,7 @@ light.DeviceStatusReport = common.DeviceStatusReport; light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(light.OnOffStatus == 1); + row.IsSelected = light.OnOffStatus == 1; row.SetStatuText(deviceUI.GetDeviceStatu()); light.LastDateTime = DateTime.Now; } @@ -203,8 +203,6 @@ { deviceUI.CommonDevice.IsOnline = 1; deviceUI.CommonDevice.LastDateTime = DateTime.Now; - var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(true); } break; @@ -216,7 +214,7 @@ airSwitch.DeviceStatusReport = common.DeviceStatusReport; airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(airSwitch.OnOffStatus == 1); + row.IsSelected = airSwitch.OnOffStatus == 1; row.SetStatuText(deviceUI.GetDeviceStatu()); airSwitch.LastDateTime = DateTime.Now; } @@ -224,8 +222,6 @@ { deviceUI.CommonDevice.IsOnline = 1; deviceUI.CommonDevice.LastDateTime = DateTime.Now; - var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(true); } break; case DeviceType.WindowCoveringDevice: @@ -248,6 +244,7 @@ rollerShade.DeviceStatusReport = common.DeviceStatusReport; rollerShade.WcdCurrentPositionLiftPercentage = common.DeviceStatusReport.AttriBute[0].AttriButeData; row.SetStatuText($"{Language.StringByID(R.MyInternationalizationString.Current)} { deviceUI.GetDeviceStatu()}"); + row.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage != 0; rollerShade.LastDateTime = DateTime.Now; } } @@ -255,8 +252,6 @@ { deviceUI.CommonDevice.IsOnline = 1; deviceUI.CommonDevice.LastDateTime = DateTime.Now; - var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; - row.SetStatu(true); } break; @@ -307,7 +302,7 @@ } } var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(ac.currentSystemMode != 0); + row.IsSelected = ac.currentSystemMode != 0; row.SetStatuText(deviceUI.GetDeviceStatu()); } @@ -331,7 +326,7 @@ } } var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(ac.currentSystemMode != 0); + row.IsSelected = ac.currentSystemMode != 0; row.SetStatuText(deviceUI.GetDeviceStatu()); } @@ -340,8 +335,6 @@ var ac = deviceUI.CommonDevice as ZigBee.Device.AC; ac.IsOnline = 1; ac.LastDateTime = DateTime.Now; - var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(true); } break; case DeviceType.DimmableLight: @@ -352,7 +345,7 @@ dimmableLight.DeviceStatusReport = common.DeviceStatusReport; dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(dimmableLight.OnOffStatus == 1); + row.IsSelected = dimmableLight.OnOffStatus == 1; row.SetStatuText(deviceUI.GetDeviceStatu()); dimmableLight.LastDateTime = DateTime.Now; } @@ -362,7 +355,7 @@ dimmableLight.DeviceStatusReport = common.DeviceStatusReport; dimmableLight.Level = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(dimmableLight.OnOffStatus == 1); + row.IsSelected = dimmableLight.OnOffStatus == 1; row.SetStatuText(deviceUI.GetDeviceStatu()); dimmableLight.LastDateTime = DateTime.Now; } @@ -370,8 +363,6 @@ { deviceUI.CommonDevice.IsOnline = 1; deviceUI.CommonDevice.LastDateTime = DateTime.Now; - var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(true); } break; } @@ -405,37 +396,66 @@ { case DeviceType.OnOffOutput: deviceUI.CommonDevice.IsOnline = common.IsOnline; - var row = rowLayout.GetChildren(0) as CategoryFunctionRow; - row.SetStatu(deviceUI.CommonDevice.IsOnline == 1); deviceUI.CommonDevice.LastDateTime = DateTime.Now; break; case DeviceType.AirSwitch: deviceUI.CommonDevice.IsOnline = common.IsOnline; - var row1 = rowLayout.GetChildren(0) as CategoryFunctionRow; - row1.SetStatu(deviceUI.CommonDevice.IsOnline == 1); deviceUI.CommonDevice.LastDateTime = DateTime.Now; break; case DeviceType.WindowCoveringDevice: deviceUI.CommonDevice.LastDateTime = DateTime.Now; deviceUI.CommonDevice.IsOnline = common.IsOnline; - var row2 = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; - row2.SetStatu(deviceUI.CommonDevice.IsOnline == 1); break; case DeviceType.DimmableLight: deviceUI.CommonDevice.LastDateTime = DateTime.Now; deviceUI.CommonDevice.IsOnline = common.IsOnline; - var row3 = rowLayout.GetChildren(0) as CategoryFunctionRow; - row3.SetStatu(deviceUI.CommonDevice.IsOnline == 1); break; case DeviceType.Thermostat: deviceUI.CommonDevice.LastDateTime = DateTime.Now; deviceUI.CommonDevice.IsOnline = common.IsOnline; - var row5 = rowLayout.GetChildren(0) as CategoryFunctionRow; - row5.SetStatu(deviceUI.CommonDevice.IsOnline == 1); + break; + } + } + } + catch (Exception ex) + { + System.Console.WriteLine($"鍒嗙被璁惧鐘舵��-Error:{ex.Message}"); + } + }); + } + else if (typeTag == "IASInfoReport") + { + Application.RunOnMainThread(() => + { + try + { + for (int i = 0; deviceListScrolView != null && i < deviceListScrolView.ChildrenCount; i++) + { + var rowLayout = deviceListScrolView.GetChildren(i) as RowLayout; + var deviceUI = rowLayout.Tag as DeviceUI; + if (deviceUI == null || deviceUI.CommonDevice == null) + { + continue; + } + if (deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr || deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint) + { + continue; + } + switch (deviceUI.CommonDevice.Type) + { + case DeviceType.IASZone: + //寮�鍏冲姛鑳� + var ias = common as IASZone; + var iAS = deviceUI.CommonDevice as ZigBee.Device.IASZone; + iAS.iASInfo = ias.iASInfo; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.IsSelected = iAS.iASInfo?.Alarm1 == 1; + row.SetStatuText(deviceUI.GetDeviceStatu()); + iAS.LastDateTime = DateTime.Now; break; } } @@ -803,7 +823,7 @@ typeIdDic.Clear(); foreach (var device in devList) { - var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice }); + var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice); if (info.BeloneType == DeviceBeloneType.A骞叉帴鐐� || info.BeloneType == DeviceBeloneType.A涓户鍣�) { continue; @@ -911,9 +931,9 @@ deviceListScrolView = new VerticalScrolViewLayout { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = Application.GetRealHeight(35+275), + Y = Application.GetRealHeight(35+279), Width = Application.GetRealWidth(1028), - Height = Application.GetRealHeight(939), + Height = Application.GetRealHeight(942), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; functionSceneBodyView.AddChidren(deviceListScrolView); @@ -936,7 +956,7 @@ }; string imgPath = string.Empty; string imgSeletedPath = string.Empty; - Common.LocalDevice.Current.GetDeviceBeloneIcon(deviceType.Value, ref imgPath, ref imgSeletedPath); + Common.LocalDevice.Current.GetDeviceObjectIcon(deviceType.Value, ref imgPath, ref imgSeletedPath); functionTypeIMG.Init(imgPath, imgSeletedPath); functionTypeIMG.SetTitle(deviceType.Key); typeRowLayout.AddChidren(functionTypeIMG); @@ -986,13 +1006,22 @@ { if (e2) { - Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice); - deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); - sameTypeList.Remove(deviceUI); - if (sameTypeList.Count == 0) + if(curRoom.IsLove) { - RefreshBodyView(); + Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); + deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); + sameTypeList.Remove(deviceUI); } + else + { + Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice); + deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); + sameTypeList.Remove(deviceUI); + } + //if (sameTypeList.Count == 0) + //{ + // RefreshBodyView(); + //} } }; }; @@ -1043,9 +1072,9 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetOnLineStatu(light.IsOnline == 1); + //deviceRow.SetOnLineStatu(light.IsOnline == 1); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); - deviceRow.SetStatu(light.OnOffStatus == 1); + deviceRow.IsSelected = light.OnOffStatus == 1; deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1164,8 +1193,8 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetOnLineStatu(airSwitch.IsOnline == 1); - deviceRow.SetStatu(airSwitch.OnOffStatus == 1); + //deviceRow.SetOnLineStatu(airSwitch.IsOnline == 1); + deviceRow.IsSelected = airSwitch.OnOffStatus == 1; deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceTypeRowLayout.AddChidren(deviceRow); @@ -1175,8 +1204,8 @@ sendedControlCommand = false; zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + deviceRow.IsSelected = (send2 as Button).IsSelected; if ((send2 as Button).IsSelected) { airSwitch.SwitchControl(1); @@ -1267,9 +1296,9 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetOnLineStatu(dimmableLight.IsOnline == 1); + //deviceRow.SetOnLineStatu(dimmableLight.IsOnline == 1); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); - deviceRow.SetStatu(dimmableLight.OnOffStatus == 1); + deviceRow.IsSelected = dimmableLight.OnOffStatus == 1; deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1278,8 +1307,8 @@ sendedControlCommand = false; zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + deviceRow.IsSelected = (send2 as Button).IsSelected; if ((send2 as Button).IsSelected) { dimmableLight.SwitchControl(1); @@ -1372,9 +1401,9 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetOnLineStatu(ac.IsOnline == 1); + //deviceRow.SetOnLineStatu(ac.IsOnline == 1); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); - deviceRow.SetStatu(ac.currentSystemMode != 1); + deviceRow.IsSelected = ac.currentSystemMode != 1; deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1385,6 +1414,7 @@ AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + deviceRow.IsSelected = (send2 as Button).IsSelected; if ((send2 as Button).IsSelected) { ac.Open(); @@ -1476,9 +1506,9 @@ var deviceRow = new CategoryFunctionForWinRow(0, 35); deviceRow.Init(deviceUI); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetOnLineStatu(rollerShade.IsOnline == 1); + //deviceRow.SetOnLineStatu(rollerShade.IsOnline == 1); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); - deviceRow.SetStatu(rollerShade.WcdCurrentPositionLiftPercentage != 0); + deviceRow.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage != 0; deviceRow.SetRollerShadeIcon(rollerShade.WcdType); deviceTypeRowLayout.AddChidren(deviceRow); @@ -1541,7 +1571,7 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetOnLineStatu(deviceUI.CommonDevice.IsOnline == 1); + //deviceRow.SetOnLineStatu(deviceUI.CommonDevice.IsOnline == 1); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.HideSwitchBtn(true); deviceTypeRowLayout.AddChidren(deviceRow); @@ -1553,6 +1583,40 @@ HomePage.Instance.PageIndex += 1; userDoorLockPage.Show(); }; + + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI + }; + var delBtn = new Device.CommonForm.RowLayoutDeleteButton() + { + Tag = deviceUI + }; + if (curRoom.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } + } + else if (deviceUI.CommonDevice.Type == DeviceType.IASZone) + { + var deviceTypeRowLayout = new RowLayout() + { + Height = Application.GetRealHeight(129 + 35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = deviceUI + }; + deviceListScrolView.AddChidren(deviceTypeRowLayout); + + var deviceRow = new CategoryFunctionRow(0, 35); + deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); + deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.IsSelected = (deviceUI.CommonDevice as IASZone).iASInfo?.Alarm1 == 1; + deviceRow.HideSwitchBtn(true); + deviceTypeRowLayout.AddChidren(deviceRow); var editBtn = new CommonForm.RowLayoutEditButton() { @@ -1583,7 +1647,7 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetOnLineStatu(deviceUI.CommonDevice.IsOnline == 1); + //deviceRow.SetOnLineStatu(deviceUI.CommonDevice.IsOnline == 1); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.HideSwitchBtn(true); deviceTypeRowLayout.AddChidren(deviceRow); @@ -1638,39 +1702,27 @@ }; functionSceneAutoBodyView.AddChidren(functionSceneBodyView); - Button curBtn = new Button(); + RoomButton curBtn = new RoomButton(0,0); foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom()) { var row = new FrameLayout() { - Width = Application.GetRealWidth(187 + 50), + Width = Application.GetRealWidth(255), Height = Application.GetRealHeight(167) }; roomFL.AddChidren(row); - var roomBtn = new Button() - { - Width = Application.GetRealWidth(187), - Height = Application.GetRealHeight(78), - Radius = (uint)Application.GetRealHeight(78 / 2), - Gravity = Gravity.Center, - Text = room.Name, - TextColor = ZigbeeColor.Current.GXCTextGrayColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, - BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3, - SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor, - BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor, - BorderWidth = 1 - }; + RoomButton roomBtn = new RoomButton(0, 0); + roomBtn.Gravity = Gravity.Center; + roomBtn.Init(); + roomBtn.SetTitle(room.Name); row.AddChidren(roomBtn); - roomBtn.SetViewShadow(true,5); if (room.IsLove) { roomBtn.IsSelected = true; this.curRoom = room; curBtn = roomBtn; - if(sceneBtn.IsSelected) { RefreshScene(room); @@ -1679,17 +1731,16 @@ { RefreshFunction(room); } - } - roomBtn.MouseUpEventHandler += (sender, e) => + roomBtn.ButtonClickEvent += (sender, e) => { - if ((sender as Button) == curBtn) + if (sender == curBtn) { return; } - (sender as Button).IsSelected = true; + sender.IsSelected = true; curBtn.IsSelected = false; - curBtn = sender as Button; + curBtn = sender; this.curRoom = room; if (sceneBtn.IsSelected) { @@ -1720,8 +1771,8 @@ /// <param name="room"></param> public void RefreshScene(Common.Room room) { + RefreshData(room); functionSceneBodyView.RemoveAll(); - var sceneList = room.SceneUIList; if (sceneList.Count == 0) { ShowNoSceneTip(); @@ -1844,8 +1895,7 @@ /// </summary> private void ShowAutotion() { - - functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + // functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; var bjFrameLayout = new FrameLayout { @@ -1906,14 +1956,13 @@ var logicScrolView = new VerticalRefreshLayout//VerticalScrolViewLayout { Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30), - BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, + //BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,/ X = Application.GetRealWidth(58), - //Radius = (uint)Application.GetRealHeight(50), Y = scenehorizontalScrol.Bottom, }; functionSceneAutoBodyView.AddChidren(logicScrolView); logicScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); - + bool no = false; recommendswitchBtn.MouseUpEventHandler += (sender, e) => { int Yheight = 0; @@ -1921,6 +1970,7 @@ scenehorizontalScrol.RemoveAll(); if (recommendswitchBtn.IsSelected) { + no = true; scenehorizontalScrol.Height = Application.GetRealHeight(246); Yheight = 20; for (int i = 1; i < 4; i++) @@ -1996,30 +2046,31 @@ } else { + no = false; scenehorizontalScrol.Height = Application.GetRealHeight(0); Yheight = 0; } logicScrolView.Y = scenehorizontalScrol.Bottom + Yheight; logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight; - Automationview(logicScrolView); + Automationview(logicScrolView,no); }; logicScrolView.BeginHeaderRefreshingAction += () => { //閲嶆柊鍒锋柊logic鍒楄〃 Common.Logic.LogicList.Clear(); - Read(logicScrolView); + Read(logicScrolView,no); //鍏抽棴鍒锋柊View锛� logicScrolView.EndHeaderRefreshing(); }; - Read(logicScrolView); + Read(logicScrolView,no); } /// <summary> /// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱 /// </summary> /// <param name="logicScrolView"></param> - private async void Read(VerticalRefreshLayout logicScrolView) + private async void Read(VerticalRefreshLayout logicScrolView,bool no) { CommonPage.Loading.Start(); if (Common.Logic.LogicList.Count == 0) @@ -2041,17 +2092,66 @@ } } //鑷姩鍖� - Automationview(logicScrolView); + Automationview(logicScrolView,no); CommonPage.Loading.Hide(); - } /// <summary> /// 鍔犺浇鑷姩鍖栧垪琛ㄧ晫闈� /// </summary> /// <param name="refresview">Refresview.</param> - private async void Automationview(VerticalRefreshLayout refresview) + private async void Automationview(VerticalRefreshLayout refresview,bool no) { refresview.RemoveAll(); + if (Common.Logic.LogicList.Count == 0&&no==false) + { + //灏辨槸涓轰簡鏄剧ず寮曞娣诲姞鍥炬爣; + refresview.BackgroundColor = 0x00000000; + var noFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(434+ 200+32+160), + //BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + refresview.AddChidren(noFrameLayout); + + + var noIconBtn = new Button + { + Y=Application.GetRealHeight(160), + Width = Application.GetMinRealAverage(756), + Height = Application.GetMinRealAverage(434), + UnSelectedImagePath = "Item/NoFunction.png", + X = Application.GetRealWidth(104), + }; + noFrameLayout.AddChidren(noIconBtn); + + var noTextBtn = new Button() + { + Y = noIconBtn.Bottom, + Height = Application.GetRealHeight(200)+Application.GetRealHeight(32), + Width = Application.GetRealWidth(700), + //Gravity = Gravity.CenterHorizontal, + Text = Language.StringByID(MyInternationalizationString.automationaddtext).Replace("{\\r\\n}", "\r\n"), + TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment = TextAlignment.Center, + IsMoreLines = true, + X = Application.GetRealWidth(190-58), + }; + noFrameLayout.AddChidren(noTextBtn); + + } + else + { + + if (Common.Logic.LogicList.Count == 0 && no == true) + { + ///鏀瑰彉婊戝姩view鐨勯鑹诧紱 + refresview.BackgroundColor = 0x00000000; + } + else + { + refresview.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + } + } foreach (var logic in Common.Logic.LogicList) { @@ -2136,7 +2236,7 @@ var logicCommunalPage = new Logic.LogicCommunalPage(); HomePage.Instance.AddChidren(logicCommunalPage); HomePage.Instance.PageIndex += 1; - logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview); }); + logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview,no); }); }; @@ -2158,7 +2258,7 @@ if (e1) { Common.Logic.LogicList.Remove(logic); - Automationview(refresview); + Automationview(refresview,no); Logic.Send.DelLogic(logic.LogicId); } }; diff --git a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs index 8a43ba6..2c2c8f8 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs @@ -87,6 +87,13 @@ /// </summary> public int OldIconPathType; + /// <summary> + /// selectedTimeAction + /// </summary> + public Action<SceneTargetDeviceUI> selectedAction; + + + #endregion /// <summary> @@ -193,13 +200,8 @@ return; } - var deviceView = new SelectDevice(); - UserView.HomePage.Instance.AddChidren(deviceView); - UserView.HomePage.Instance.PageIndex += 1; - deviceView.sceneTargetDevice = targetDevice; - deviceView.deviceUI = targetDevice.DeviceUI; - deviceView.Show(); - deviceView.selectedAction = (selectedDevice) => + ShowSelectAction(targetDevice.DeviceUI, targetDevice); + selectedAction = (selectedDevice) => { var targetDeviceUI = sceneTargetDevicesList.Find((obj) => obj.SceneTargetDeviceUIID == selectedDevice.SceneTargetDeviceUIID); if (targetDeviceUI != null) @@ -252,8 +254,8 @@ } } } - - if (sceneTargetDevicesList.Count > 2) + + if (sceneTargetDevicesList.Count > 1) { var targetRowLayout = new RowLayout() { @@ -357,7 +359,8 @@ TextID = R.MyInternationalizationString.EditInfo, TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor, TextAlignment = TextAlignment.CenterLeft, - TextSize = 14 + TextSize = 15, + IsBold=true }; infoFL.AddChidren(infoEdit); @@ -404,7 +407,8 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextID = R.MyInternationalizationString.AddScentTargetAction, - Gravity = Gravity.CenterVertical + Gravity = Gravity.CenterVertical, + TextSize=15 }; addTargetFL.AddChidren(target); @@ -434,9 +438,10 @@ targetFL.AddChidren(TargetListScrolView); confirmBtn = new CommonForm.CompleteButton(1656, 907, 127); + confirmBtn.TextID = R.MyInternationalizationString.Next; AddChidren(confirmBtn); - if(isModify) + if (isModify) { IconPathType = modifySceneUI.IconPathType; OldIconPathType = modifySceneUI.IconPathType; @@ -444,7 +449,7 @@ { OldBackgroundImagePath = modifySceneUI.IconPath; } - if (modifySceneUI.IconPathType==0) + if (modifySceneUI.IconPathType == 0) { backGround.ImagePath = modifySceneUI.IconPath; } @@ -453,7 +458,14 @@ backGround.ImagePath = System.IO.Path.Combine(Config.Instance.FullPath, modifySceneUI.IconPath); } nameRow.SetTitle(modifySceneUI.Name); - zoneRow.SetTitle($"{Config.Instance.Home.GetFloorNameById(modifyRoom.FloorId)},{modifyRoom.Name}"); + if (Config.Instance.Home.FloorDics.Count == 0) + { + zoneRow.SetTitle($"{modifyRoom.Name}"); + } + else + { + zoneRow.SetTitle($"{Config.Instance.Home.GetFloorNameById(modifyRoom.FloorId)},{modifyRoom.Name}"); + } curRoom = modifyRoom; sceneTargetDevicesList.AddRange(modifySceneTargetDevicesList); } @@ -484,24 +496,25 @@ Height = Application.GetRealHeight(450), Width = Application.GetRealWidth(selectRow_Width), Gravity = Gravity.CenterHorizontal, - Radius = (uint)Application.GetRealHeight(17), + Radius = (uint)Application.GetRealHeight(35), BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor }; selectFL.AddChidren(itemFL); - itemFL.Animate = Animate.DownToUp; + //itemFL.Animate = Animate.DownToUp; var selectLocalPicture = new Button() { Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.LocalPicture, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize=17 }; itemFL.AddChidren(selectLocalPicture); var selectLocalLine = new Button() { Y = selectLocalPicture.Bottom, Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2 }; itemFL.AddChidren(selectLocalLine); @@ -510,14 +523,15 @@ Y = selectLocalLine.Bottom, Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.Photograph, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize=17 }; itemFL.AddChidren(selectPhotographBtn); var selectPhotographLine = new Button() { Y = selectPhotographBtn.Bottom, Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCLineColor, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; itemFL.AddChidren(selectPhotographLine); @@ -526,7 +540,8 @@ Y = selectPhotographLine.Bottom, Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.MyAblums, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize=17 }; itemFL.AddChidren(selectAblumsBtn); @@ -539,7 +554,8 @@ TextID = R.MyInternationalizationString.Cancel, TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor, - Radius = (uint)Application.GetRealHeight(17) + Radius = (uint)Application.GetRealHeight(35), + TextSize=17 }; selectFL.AddChidren(cancelBtn); @@ -565,10 +581,6 @@ //閫氳繃鐩告満鎷嶇収瑁佸壀 CropImage.TakePicture((imagePath) => { - if (string.IsNullOrEmpty(imagePath) == true) - { - return; - } if (isModify) { if (IconPathType != 0) @@ -593,10 +605,6 @@ //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 CropImage.SelectPicture((imagePath) => { - if (string.IsNullOrEmpty(imagePath) == true) - { - return; - } if (isModify) { if (IconPathType != 0) @@ -637,10 +645,11 @@ { foreach (var floor in Config.Instance.Home.FloorDics) { - floorIds.Add(floor.Key); - floorNames.Add(floor.Value); if (Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key).Count > 0) { + floorIds.Add(floor.Key); + floorNames.Add(floor.Value); + roomNames.Add(Common.Room.CurrentRoom.GetRoomNamesByFloorId(floor.Key)); rooms.Add(Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key)); } @@ -708,24 +717,25 @@ Height = Application.GetRealHeight(450), Width = Application.GetRealWidth(selectRow_Width), Gravity=Gravity.CenterHorizontal, - Radius = (uint)Application.GetRealHeight(17), + Radius = (uint)Application.GetRealHeight(35), BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor }; selectFL.AddChidren(itemFL); - itemFL.Animate = Animate.DownToUp; + //itemFL.Animate = Animate.DownToUp; var selectedFunctionBtn = new Button() { Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.Function, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize=17 }; itemFL.AddChidren(selectedFunctionBtn); var selectedFunctionLine = new Button() { Y = selectedFunctionBtn.Bottom, Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2 }; itemFL.AddChidren(selectedFunctionLine); @@ -734,14 +744,15 @@ Y = selectedFunctionLine.Bottom, Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.Scence, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize=17 }; itemFL.AddChidren(selectedSceneBtn); var selectedSceneLine = new Button() { Y = selectedSceneBtn.Bottom, Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCLineColor, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; itemFL.AddChidren(selectedSceneLine); @@ -750,7 +761,8 @@ Y = selectedSceneLine.Bottom, Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.Delay, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize=17 }; itemFL.AddChidren(selectedTimerBtn); @@ -764,7 +776,8 @@ TextID = R.MyInternationalizationString.Cancel, TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor, - Radius = (uint)Application.GetRealHeight(17) + Radius = (uint)Application.GetRealHeight(35), + TextSize=17 }; selectFL.AddChidren(cancelBtn); @@ -1135,5 +1148,766 @@ } #endregion + + #region 缂栬緫璁惧____________________________________ + + /// <summary> + /// ShowSelectAction + /// </summary> + /// <param name="device"></param> + private void ShowSelectAction(DeviceUI device, SceneTargetDeviceUI sceneTarget) + { + var dialog = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor + }; + AddChidren(dialog); + + dialog.MouseUpEventHandler += (sender, e) => + { + dialog.RemoveFromParent(); + }; + + if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) + { + SelectOnoffOutput(dialog, device, sceneTarget); + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) + { + SelectOnoffOutput(dialog, device, sceneTarget); + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) + { + SelectDimmableLight(dialog, device, sceneTarget); + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) + { + SelectWindowCoveringDevice(dialog, device, sceneTarget); + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) + { + SelectThermostat(dialog, device, sceneTarget); + } + } + + /// <summary> + /// 鐏厜 + /// </summary> + /// <param name="dialog"></param> + /// <param name="device"></param> + /// <param name="sceneTarget"></param> + private void SelectOnoffOutput(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + { + var selectFL = new FrameLayout + { + Y = Application.GetRealHeight(1391), + Height = Application.GetRealHeight(530), + }; + dialog.AddChidren(selectFL); + //selectFL.Animate = Animate.DownToUp; + + var titleBG = new FrameLayout + { + Height = Application.GetRealHeight(138 * 2), + Radius = (uint)Application.GetRealHeight(58), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(titleBG); + + var titleFL = new FrameLayout + { + Height = Application.GetRealHeight(138), + }; + selectFL.AddChidren(titleFL); + + var line = new Button + { + Y = titleFL.Height - 1, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2 + }; + titleFL.AddChidren(line); + + var cancleBtn = new Button + { + X = Application.GetRealWidth(80), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextGrayColor, + TextSize = 14, + TextAlignment = TextAlignment.CenterLeft, + TextID = R.MyInternationalizationString.Cancel + }; + titleFL.AddChidren(cancleBtn); + + var deviceName = new Button + { + Width = Application.GetRealWidth(600), + Gravity = Gravity.CenterHorizontal, + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize = 16, + Text = device.CommonDevice.DeviceEpointName + }; + titleFL.AddChidren(deviceName); + + var comfrimBtn = new Button + { + X = Application.GetRealWidth(800), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, + TextSize = 14, + TextAlignment = TextAlignment.CenterRight, + TextID = R.MyInternationalizationString.Complete + }; + titleFL.AddChidren(comfrimBtn); + + var itemFL = new FrameLayout + { + Y = titleFL.Bottom, + Height = Application.GetRealHeight(392), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(itemFL); + + var open = new SelectSceneStatuRow(0, 60); + itemFL.AddChidren(open); + open.Init(); + open.SetTitle(R.MyInternationalizationString.Open); + open.IsSelected = true; + + + var shut = new SelectSceneStatuRow(0, 60 + 127 + 30); + itemFL.AddChidren(shut); + shut.Init(); + shut.hideLine(true); + shut.SetTitle(R.MyInternationalizationString.Shut); + + open.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = true; + shut.IsSelected = false; + }; + + shut.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = false; + shut.IsSelected = true; + }; + + cancleBtn.MouseUpEventHandler = (sender, e) => + { + dialog.RemoveAll(); + dialog.RemoveFromParent(); + }; + + if (sceneTarget.TaskList.Count > 0) + { + if (sceneTarget.TaskList[0].Data1 == 1) + { + open.IsSelected = true; + shut.IsSelected = false; + } + else + { + open.IsSelected = false; + shut.IsSelected = true; + } + } + + comfrimBtn.MouseUpEventHandler = (sender, e) => + { + var taskList = new List<ZigBee.Device.Scene.TaskListInfo> { }; + int taskType = 1; + int data1 = 0; + int data2 = 0; + + if (open.IsSelected) + { + //寮� + data1 = 1; + data2 = 0; + } + else + { + //鍏� + data1 = 0; + data2 = 0; + } + var taskInfo = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = data1, + Data2 = data2 + }; + taskList.Add(taskInfo); + + sceneTarget.TaskList = taskList; + sceneTarget.DeviceUI = device; + selectedAction?.Invoke(sceneTarget); + dialog.RemoveFromParent(); + }; + } + /// <summary> + /// 绐楀笜 + /// </summary> + /// <param name="dialog"></param> + /// <param name="device"></param> + /// <param name="sceneTarget"></param> + private void SelectWindowCoveringDevice(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + { + var selectFL = new FrameLayout + { + Y = Application.GetRealHeight(1169), + Height = Application.GetRealHeight(752), + }; + dialog.AddChidren(selectFL); + //selectFL.Animate = Animate.DownToUp; + + var titleBG = new FrameLayout + { + Height = Application.GetRealHeight(138 * 2), + Radius = (uint)Application.GetRealHeight(58), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(titleBG); + + var titleFL = new FrameLayout + { + Height = Application.GetRealHeight(138), + }; + selectFL.AddChidren(titleFL); + + var line = new Button + { + Y = titleFL.Height - 1, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2 + }; + titleFL.AddChidren(line); + + var cancleBtn = new Button + { + X = Application.GetRealWidth(80), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextGrayColor, + TextSize = 14, + TextAlignment = TextAlignment.CenterLeft, + TextID = R.MyInternationalizationString.Cancel + }; + titleFL.AddChidren(cancleBtn); + + var deviceName = new Button + { + Width = Application.GetRealWidth(600), + Gravity = Gravity.CenterHorizontal, + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize = 16, + Text = device.CommonDevice.DeviceEpointName + }; + titleFL.AddChidren(deviceName); + + var comfrimBtn = new Button + { + X = Application.GetRealWidth(800), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, + TextSize = 14, + TextAlignment = TextAlignment.CenterRight, + TextID = R.MyInternationalizationString.Complete + }; + titleFL.AddChidren(comfrimBtn); + + var itemFL = new FrameLayout + { + Y = titleFL.Bottom, + Height = Application.GetRealHeight(613), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(itemFL); + + var open = new SelectDeviceWithSeekBarRow(0, 60); + itemFL.AddChidren(open); + open.Init(); + open.SetTitle(R.MyInternationalizationString.Open); + open.IsSelected = true; + + var shut = new SelectSceneStatuRow(0, 60 + 348 + 30); + itemFL.AddChidren(shut); + shut.Init(); + shut.hideLine(true); + shut.SetTitle(R.MyInternationalizationString.Shut); + + open.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = true; + shut.IsSelected = false; + }; + + shut.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = false; + shut.IsSelected = true; + }; + + cancleBtn.MouseUpEventHandler = (sender, e) => + { + dialog.RemoveAll(); + dialog.RemoveFromParent(); + }; + + open.SeekBar.ProgressChanged += (sender, e) => + { + open.IsSelected = true; + shut.IsSelected = false; + open.SetSeekBarTitle(); + }; + + if (sceneTarget.TaskList.Count > 0) + { + if (sceneTarget.TaskList[0].Data1 == 1) + { + open.IsSelected = false; + shut.IsSelected = true; + } + else + { + open.IsSelected = true; + shut.IsSelected = false; + open.SetProgress(sceneTarget.TaskList[0].Data2); + } + } + + comfrimBtn.MouseUpEventHandler = (sender, e) => + { + var taskList = new List<ZigBee.Device.Scene.TaskListInfo> { }; + + int taskType = 6; + int data1 = 0; + int data2 = 0; + + if (shut.IsSelected) + { + //鍏� + data1 = 1; + data2 = 0; + } + else + { + //鐧惧垎姣� + data1 = 5; + data2 = open.SeekBar.Progress; + } + + var taskInfo = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = data1, + Data2 = data2 + }; + taskList.Add(taskInfo); + + sceneTarget.TaskList = taskList; + sceneTarget.DeviceUI = device; + selectedAction?.Invoke(sceneTarget); + dialog.RemoveFromParent(); + }; + } + /// <summary> + /// 璋冨厜鐏� + /// </summary> + /// <param name="dialog"></param> + /// <param name="device"></param> + /// <param name="sceneTarget"></param> + private void SelectDimmableLight(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + { + var selectFL = new FrameLayout + { + Y = Application.GetRealHeight(1169), + Height = Application.GetRealHeight(752), + }; + dialog.AddChidren(selectFL); + //selectFL.Animate = Animate.DownToUp; + + var titleBG = new FrameLayout + { + Height = Application.GetRealHeight(138 * 2), + Radius = (uint)Application.GetRealHeight(58), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(titleBG); + + var titleFL = new FrameLayout + { + Height = Application.GetRealHeight(138), + }; + selectFL.AddChidren(titleFL); + + var line = new Button + { + Y = titleFL.Height - 1, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2 + }; + titleFL.AddChidren(line); + + var cancleBtn = new Button + { + X = Application.GetRealWidth(80), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextGrayColor, + TextSize = 14, + TextAlignment = TextAlignment.CenterLeft, + TextID = R.MyInternationalizationString.Cancel + }; + titleFL.AddChidren(cancleBtn); + + var deviceName = new Button + { + Width = Application.GetRealWidth(600), + Gravity = Gravity.CenterHorizontal, + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize = 16, + TextAlignment = TextAlignment.CenterLeft, + Text = device.CommonDevice.DeviceEpointName + }; + titleFL.AddChidren(deviceName); + + var comfrimBtn = new Button + { + X = Application.GetRealWidth(800), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, + TextSize = 14, + TextAlignment = TextAlignment.CenterRight, + TextID = R.MyInternationalizationString.Complete + }; + titleFL.AddChidren(comfrimBtn); + + var itemFL = new FrameLayout + { + Y = titleFL.Bottom, + Height = Application.GetRealHeight(613), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(itemFL); + + var open = new SelectDeviceWithSeekBarRow(0, 60); + itemFL.AddChidren(open); + open.Init(254); + open.SetTitle(R.MyInternationalizationString.Open); + open.IsSelected = true; + + var shut = new SelectSceneStatuRow(0, 60 + 348 + 30); + itemFL.AddChidren(shut); + shut.Init(); + shut.hideLine(true); + shut.SetTitle(R.MyInternationalizationString.Shut); + + open.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = true; + shut.IsSelected = false; + }; + + shut.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = false; + shut.IsSelected = true; + }; + + cancleBtn.MouseUpEventHandler = (sender, e) => + { + dialog.RemoveAll(); + dialog.RemoveFromParent(); + }; + + open.SeekBar.ProgressChanged += (sender, e) => + { + open.IsSelected = true; + shut.IsSelected = false; + open.SetSeekBarTitle(); + }; + + if (sceneTarget.TaskList.Count > 0) + { + if (sceneTarget.TaskList[0].Data1 == 0) + { + open.IsSelected = false; + shut.IsSelected = true; + } + else + { + open.IsSelected = true; + shut.IsSelected = false; + open.SetProgress(sceneTarget.TaskList[0].Data1); + } + } + + comfrimBtn.MouseUpEventHandler = (sender, e) => + { + var taskList = new List<ZigBee.Device.Scene.TaskListInfo> { }; + + int taskType = 3; + int data1 = 0; + int data2 = 0; + + if (shut.IsSelected) + { + //鍏� + data1 = 0; + data2 = 0; + } + else + { + //鐧惧垎姣� + data1 = open.SeekBar.Progress; + data2 = 0; + } + + var taskInfo = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = data1, + Data2 = data2 + }; + taskList.Add(taskInfo); + + sceneTarget.TaskList = taskList; + sceneTarget.DeviceUI = device; + selectedAction?.Invoke(sceneTarget); + dialog.RemoveFromParent(); + }; + } + /// <summary> + /// 绌鸿皟 + /// </summary> + /// <param name="dialog"></param> + /// <param name="device"></param> + /// <param name="sceneTarget"></param> + private void SelectThermostat(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + { + /// 娓╁害 + int tempId=0; + /// 妯″紡 + int modelId=0; + /// 椋庨�� + int fanid=0; + + var selectFL = new FrameLayout + { + Y = Application.GetRealHeight(815), + Height = Application.GetRealHeight(1106), + }; + dialog.AddChidren(selectFL); + //selectFL.Animate = Animate.DownToUp; + + var titleBG = new FrameLayout + { + Height = Application.GetRealHeight(138 * 2), + Radius = (uint)Application.GetRealHeight(58), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(titleBG); + + var titleFL = new FrameLayout + { + Height = Application.GetRealHeight(138), + }; + selectFL.AddChidren(titleFL); + + var line = new Button + { + Y = titleFL.Height - 1, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2 + }; + titleFL.AddChidren(line); + + var cancleBtn = new Button + { + X = Application.GetRealWidth(80), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextGrayColor, + TextSize = 14, + TextAlignment = TextAlignment.CenterLeft, + TextID = R.MyInternationalizationString.Cancel + }; + titleFL.AddChidren(cancleBtn); + + var deviceName = new Button + { + Width = Application.GetRealWidth(600), + Gravity = Gravity.CenterHorizontal, + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize = 16, + TextAlignment = TextAlignment.CenterLeft, + Text = device.CommonDevice.DeviceEpointName + }; + titleFL.AddChidren(deviceName); + + var comfrimBtn = new Button + { + X = Application.GetRealWidth(800), + Width = Application.GetRealWidth(200), + TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, + TextSize = 14, + TextAlignment = TextAlignment.CenterRight, + TextID = R.MyInternationalizationString.Complete + }; + titleFL.AddChidren(comfrimBtn); + + var itemFL = new FrameLayout + { + Y = titleFL.Bottom, + Height = Application.GetRealHeight(968), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + selectFL.AddChidren(itemFL); + + var open = new SelectDeviceWithPickViewRow(0, 60); + itemFL.AddChidren(open); + open.Init(); + open.SetTitle(R.MyInternationalizationString.Open); + open.IsSelected = true; + + open.pickerView.OnSelectChangeEvent = (l1, l2, l3) => + { + tempId = l1; + modelId = l2; + fanid = l3; + }; + + var shut = new SelectSceneStatuRow(0, 60 + 703 + 30); + itemFL.AddChidren(shut); + shut.Init(); + shut.hideLine(true); + shut.SetTitle(R.MyInternationalizationString.Shut); + + open.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = true; + shut.IsSelected = false; + }; + + shut.ClickButton.MouseUpEventHandler += (sender, e) => + { + open.IsSelected = false; + shut.IsSelected = true; + }; + + cancleBtn.MouseUpEventHandler = (sender, e) => + { + dialog.RemoveAll(); + dialog.RemoveFromParent(); + }; + + if (sceneTarget.TaskList.Count > 0) + { + if (sceneTarget.TaskList.Count == 1) + { + open.IsSelected = false; + shut.IsSelected = true; + } + else + { + open.IsSelected = true; + shut.IsSelected = false; + + for (int i = 0; i < sceneTarget.TaskList.Count; i++) + { + var tasklist = sceneTarget.TaskList[i]; + if (tasklist.Data1 == 6) + { + fanid = open.fanList.IndexOf(tasklist.Data2); + } + if (tasklist.Data1 == 3) + { + modelId = open.modeList.IndexOf(tasklist.Data2); + } + if (tasklist.Data1 == 4 || tasklist.Data1 == 5) + { + tempId = open.temperatureList.IndexOf(tasklist.Data2 / 100); + } + } + open.pickerView.setCurrentItems(tempId, modelId, fanid); + } + } + + comfrimBtn.MouseUpEventHandler = (sender, e) => + { + + var taskList = new List<ZigBee.Device.Scene.TaskListInfo> { }; + + int taskType = 5; + int data1 = 0; + int data2 = 0; + + if (shut.IsSelected) + { + //鍏� + data1 = 3; + data2 = 0; + var taskInfo = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = data1, + Data2 = data2 + }; + taskList.Add(taskInfo); + } + else + { + //fan + var taskInfo = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = 6, + Data2 = open.fanList[fanid] + }; + taskList.Add(taskInfo); + + //mode + var taskInfo2 = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = 3, + Data2 = open.modeList[modelId] + }; + taskList.Add(taskInfo2); + + //tem + if (open.modeList[modelId] == 4) + { + //heat + var taskInfo3 = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = 4, + Data2 = open.temperatureList[tempId] * 100 + }; + taskList.Add(taskInfo3); + + } + else + { + //heat + var taskInfo3 = new ZigBee.Device.Scene.TaskListInfo + { + TaskType = taskType, + Data1 = 5, + Data2 = open.temperatureList[tempId] * 100 + }; + taskList.Add(taskInfo3); + } + } + + sceneTarget.TaskList = taskList; + sceneTarget.DeviceUI = device; + selectedAction?.Invoke(sceneTarget); + dialog.RemoveFromParent(); + }; + } + + #endregion + } } diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectDelayTime.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectDelayTime.cs index 3394193..227faea 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/SelectDelayTime.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectDelayTime.cs @@ -67,7 +67,7 @@ var top = new TopFrameLayout(); AddChidren(top); top.InitTopview(); - top.SetTopTitle(R.MyInternationalizationString.AddScence); + top.SetTopTitle(R.MyInternationalizationString.AddDelayTime); top.backButton.MouseUpEventHandler += (sender, e) => { RemoveFromParent(); @@ -113,7 +113,7 @@ Height = Application.GetMinRealAverage(124), Width = Application.GetMinRealAverage(124), Gravity = Gravity.Center, - Radius = (uint)Application.GetRealHeight(124 / 2), + Radius = (uint)Application.GetRealHeight(58), UnSelectedImagePath = "Item/Timer.png" }; bg1.AddChidren(timeImg); @@ -126,6 +126,7 @@ Gravity = Gravity.CenterHorizontal, TextID = R.MyInternationalizationString.SelectTimeForAction, TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize=15, IsMoreLines = true }; bodyFrameLayout.AddChidren(tip); @@ -135,7 +136,7 @@ Y = Application.GetRealHeight(611), Height = Application.GetRealHeight(1126), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Radius = (uint)Application.GetRealHeight(17), + Radius = (uint)Application.GetRealHeight(58), }; bodyFrameLayout.AddChidren(midFL); diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs index da0dedc..50f3b01 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs @@ -3,6 +3,7 @@ using Shared.Common; using Shared.Phone.Device.CommonForm; using Shared.Phone.UserView; +using ZigBee.Device; namespace Shared.Phone.Device.Category { @@ -56,11 +57,11 @@ /// <summary> /// 璁惧绫诲瀷RowLayout /// </summary> - private FrameLayout typeRowLayout; + //private FrameLayout typeRowLayout; /// <summary> /// 鍔熻兘绫诲瀷鎸夐挳 /// </summary> - private FunctionButton functionTypeIMG; + //private FunctionButton functionTypeIMG; /// <summary> /// 娓╁害 /// </summary> @@ -74,9 +75,28 @@ /// </summary> private int fanid; + /// <summary> + /// dList + /// </summary> + private List<DeviceUI> devList; + /// <summary> + /// 鐩稿悓绫诲瀷鐨勮澶囧垪琛� + /// </summary> + private Dictionary<int, List<DeviceUI>> typeDeviceDic; + /// <summary> + /// 璁惧绫诲瀷鐨勫浘id + /// </summary> + private Dictionary<int, DeviceConcreteType> typeIdDic; + /// <summary> + /// 褰撳墠閫変腑鎴块棿 + /// </summary> + private Common.Room curRoom; #endregion + /// <summary> + /// RemoveFromParent + /// </summary> public override void RemoveFromParent() { HomePage.Instance.ScrollEnabled = true; @@ -96,6 +116,8 @@ /// </summary> public void Show() { + InitData(); + if (sceneTargetDevice == null) { sceneTargetDevice = new SceneTargetDeviceUI { Type = 0 }; @@ -107,6 +129,47 @@ RefreshBodyView(Config.Instance.Home.CurrentFloorId); } + /// <summary> + /// InitData + /// </summary> + private void InitData() + { + typeDeviceDic = new Dictionary<int, List<DeviceUI>> { }; + typeIdDic = new Dictionary<int, DeviceConcreteType> { }; + } + + /// <summary> + /// RefreshData + /// </summary> + private void RefreshData(Common.Room room) + { + devList = room.DeviceUIList; + typeDeviceDic.Clear(); + typeIdDic.Clear(); + foreach (var device in devList) + { + var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice); + if (info.BeloneType == DeviceBeloneType.A寮�鍏� || info.BeloneType == DeviceBeloneType.A褰╃伅 + || info.BeloneType == DeviceBeloneType.A鎻掑骇 || info.BeloneType == DeviceBeloneType.A鏅鸿兘绌哄紑 + || info.BeloneType == DeviceBeloneType.A鐏厜 || info.BeloneType == DeviceBeloneType.A绌鸿皟 + || info.BeloneType == DeviceBeloneType.A绐楀笜 || info.BeloneType == DeviceBeloneType.A缁х數鍣� + || info.BeloneType == DeviceBeloneType.A璋冨厜鍣� + ) + { + if (typeDeviceDic.ContainsKey(info.BeloneTextId) == false) + { + var sameDevList = new List<DeviceUI> { }; + sameDevList.Add(device); + typeDeviceDic[info.BeloneTextId] = sameDevList; + } + else + { + typeDeviceDic[info.BeloneTextId].Add(device); + } + typeIdDic[info.BeloneTextId] = info.ConcreteType; + } + } + } #region Add____________________________________ /// <summary> @@ -117,7 +180,7 @@ var top = new TopFrameLayout(); AddChidren(top); top.InitTopview(); - top.SetTopTitle(R.MyInternationalizationString.AddScence); + top.SetTopTitle(R.MyInternationalizationString.AddFunction); top.backButton.MouseUpEventHandler += (sender, e) => { RemoveFromParent(); @@ -131,6 +194,8 @@ Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterRight, TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize=14, + IsBold=true }; selectFloorBtn = new Button() @@ -210,54 +275,44 @@ functionSceneBodyView = new FrameLayout() { Y = roomFL.Bottom, - Height = Application.GetRealHeight(910 + 622), + Height = Application.GetRealHeight(279+35+1218), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; bodyFrameLayout.AddChidren(functionSceneBodyView); - Button curBtn = new Button(); + RoomButton curBtn = new RoomButton(0, 0); foreach (var room in Common.Room.CurrentRoom.GetRoomsByFloorIdAppendLoveRoom(floorId)) { var row = new FrameLayout() { - Width = Application.GetRealWidth(187 + 50), - Height = Application.GetRealHeight(204), + Width = Application.GetRealWidth(255), + Height = Application.GetRealHeight(167) }; roomFL.AddChidren(row); - var roomBtn = new Button() - { - Width = Application.GetRealWidth(187), - Height = Application.GetRealHeight(78), - Radius = (uint)Application.GetRealHeight(78 / 2), - Gravity = Gravity.Center, - Text = room.Name, - TextColor = ZigbeeColor.Current.GXCTextGrayColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, - BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3, - SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor, - BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor, - BorderWidth = 1 - }; + RoomButton roomBtn = new RoomButton(0, 0); + roomBtn.Gravity = Gravity.Center; + roomBtn.Init(); + roomBtn.SetTitle(room.Name); row.AddChidren(roomBtn); if (room.IsLove) { roomBtn.IsSelected = true; curBtn = roomBtn; - + this.curRoom = room; RefreshFunction(room); } - roomBtn.MouseUpEventHandler += (sender, e) => + roomBtn.ButtonClickEvent += (sender, e) => { - if ((sender as Button) == curBtn) + if (sender == curBtn) { return; } - (sender as Button).IsSelected = true; + sender.IsSelected = true; curBtn.IsSelected = false; - curBtn = sender as Button; - + curBtn = sender; + this.curRoom = room; RefreshFunction(room); }; } @@ -275,112 +330,130 @@ /// <param name="room"></param> private void RefreshFunction(Common.Room room) { + RefreshData(room); functionSceneBodyView.RemoveAll(); - if (room.DeviceUIList.Count == 0) + if (typeDeviceDic.Count == 0) { ShowNoFunctionTip(); } else { + var functionTypeView1 = new FrameLayout + { + X = Application.GetRealWidth(CommonFormResouce.X_Left), + Height = Application.GetRealHeight(160), + Width = Application.GetRealWidth(1028), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + functionSceneBodyView.AddChidren(functionTypeView1); + functionTypeView1.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopLeft); + + var functionTypeView2 = new FrameLayout + { + X = Application.GetRealWidth(CommonFormResouce.X_Left), + Y = Application.GetRealHeight(150), + Height = Application.GetRealHeight(279 - 150), + Width = Application.GetRealWidth(1028), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + functionSceneBodyView.AddChidren(functionTypeView2); + functionTypeView2.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft); + functionTypeScrowView = new HorizontalScrolViewLayout { X = Application.GetRealWidth(CommonFormResouce.X_Left), Height = Application.GetRealHeight(279), - Width = Application.GetRealWidth(1028), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + Width = Application.GetRealWidth(1028) }; functionSceneBodyView.AddChidren(functionTypeScrowView); deviceListScrolView = new VerticalScrolViewLayout { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = functionTypeScrowView.Bottom + Application.GetRealHeight(50), + Y = Application.GetRealHeight(35 + 275), Width = Application.GetRealWidth(1028), - Height = functionSceneBodyView.Height - Application.GetRealHeight(279 + 50) - 1, + Height = Application.GetRealHeight(1218), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; functionSceneBodyView.AddChidren(deviceListScrolView); + deviceListScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); + tempFunctionTypeBtn = new FunctionButton(); tempFunctionTypeBtn.Init("",""); - EventHandler<MouseEventArgs> ShowSameTypeFunction = (object typeSender, MouseEventArgs mouseEventArgs) => + foreach (var deviceType in typeIdDic) { - tempFunctionTypeBtn.IsSelected = false; - tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton; - ((typeSender as Button).Parent as FunctionButton).IsSelected = true; - - deviceListScrolView.RemoveAll(); - - var sameTypeList = new List<DeviceUI> { }; - foreach (var devieceUI in room.DeviceUIList) + var typeRowLayout = new FrameLayout() { - if (devieceUI == null || devieceUI.CommonDevice == null) - { - continue; - } - if (devieceUI.CommonDevice.Type.ToString() == (typeSender as Button).Tag.ToString()) - { - if (!sameTypeList.Contains(devieceUI)) - { - sameTypeList.Add(devieceUI); - } - } - } - foreach (var device in sameTypeList) - { - if (beforeSceneTargetDeviceUIs.Find((obj) => obj.DeviceUI.DeviceEpoint == device.DeviceEpoint && obj.DeviceUI.DeviceAddr == device.DeviceAddr) != null) - { - continue; - } - var deviceTypeRowLayout = new FrameLayout() - { - Height = Application.GetRealHeight(127 + 35), - Tag = device - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - - var deviceRow = new FunctionRow(0, 35); - deviceTypeRowLayout.AddChidren(deviceRow); - deviceRow.Init(device.IconPath, device.OnlineIconPath,true); - deviceRow.SetTitle(device.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(device.CommonDevice.IsOnline == 1); - deviceRow.HideSwitchBtn(false); - - deviceRow.ClickBtn.MouseUpEventHandler += (sender, e) => - { - ShowSelectAction(device, sceneTargetDevice); - }; - } - }; - - foreach (var deviceType in Common.Room.GetdeviceTypes(room)) - { - typeRowLayout = new FrameLayout() - { - Width = Application.GetRealWidth(CommonPage.AppRealWidth / 5), - Tag = deviceType + Width = Application.GetRealWidth(220), }; functionTypeScrowView.AddChidren(typeRowLayout); - functionTypeIMG = new FunctionButton() + var functionTypeIMG = new FunctionButton() { - Tag = deviceType + Tag = deviceType.Key }; - functionTypeIMG.Init(DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType), DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType)); - functionTypeIMG.SetTitle(DeviceUI.GetDeviceTypeName(deviceType)); + string imgPath = string.Empty; + string imgSeletedPath = string.Empty; + Common.LocalDevice.Current.GetDeviceObjectIcon(deviceType.Value, ref imgPath, ref imgSeletedPath); + functionTypeIMG.Init(imgPath, imgSeletedPath); + functionTypeIMG.SetTitle(deviceType.Key); typeRowLayout.AddChidren(functionTypeIMG); functionTypeIMG.ClickBtn.MouseUpEventHandler += ShowSameTypeFunction; - - if (deviceType == room.DeviceUIList[0].CommonDevice.Type) + if (functionTypeScrowView.ChildrenCount == 1) { - ShowSameTypeFunction(functionTypeIMG.ClickBtn, null); + ShowSameTypeFunction(functionTypeIMG.ImageBtn, null); } } } } + + /// <summary> + /// 鏄剧ず鐩稿悓绫诲瀷鐨勫姛鑳� + /// </summary> + /// <param name="typeSender">typeSender.</param> + /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> + private void ShowSameTypeFunction(object typeSender, MouseEventArgs mouseEventArgs) + { + tempFunctionTypeBtn.IsSelected = false; + tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton; + ((typeSender as Button).Parent as FunctionButton).IsSelected = true; + + deviceListScrolView.RemoveAll(); + + var sameTypeList = new List<DeviceUI> { }; + sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())]; + + foreach (var device in sameTypeList) + { + if (beforeSceneTargetDeviceUIs.Find((obj) => obj.DeviceUI.DeviceEpoint == device.DeviceEpoint && obj.DeviceUI.DeviceAddr == device.DeviceAddr) != null) + { + continue; + } + var deviceTypeRowLayout = new FrameLayout() + { + Height = Application.GetRealHeight(127 + 35), + Tag = device + }; + deviceListScrolView.AddChidren(deviceTypeRowLayout); + + var deviceRow = new FunctionRow(0, 35); + deviceTypeRowLayout.AddChidren(deviceRow); + deviceRow.Init(device.IconPath, device.OnlineIconPath, true); + deviceRow.SetTitle(device.CommonDevice.DeviceEpointName); + deviceRow.IsSelected = true; + deviceRow.HideSwitchBtn(false); + + deviceRow.ClickBtn.MouseUpEventHandler += (sender, e) => + { + ShowSelectAction(device, sceneTargetDevice); + }; + } + } + /// <summary> /// 鎻愮ず娌℃湁鍔熻兘 @@ -464,12 +537,12 @@ Height = Application.GetRealHeight(530), }; dialog.AddChidren(selectFL); - selectFL.Animate = Animate.DownToUp; + //selectFL.Animate = Animate.DownToUp; var titleBG = new FrameLayout { Height = Application.GetRealHeight(138 * 2), - Radius = (uint)Application.GetRealHeight(20), + Radius = (uint)Application.GetRealHeight(58), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; selectFL.AddChidren(titleBG); @@ -493,7 +566,7 @@ X = Application.GetRealWidth(80), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextGrayColor, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.Cancel }; @@ -501,11 +574,10 @@ var deviceName = new Button { - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(600), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15, - TextAlignment = TextAlignment.CenterLeft, + TextSize = 16, Text = device.CommonDevice.DeviceEpointName }; titleFL.AddChidren(deviceName); @@ -515,7 +587,7 @@ X = Application.GetRealWidth(800), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterRight, TextID = R.MyInternationalizationString.Complete }; @@ -621,12 +693,12 @@ Height = Application.GetRealHeight(752), }; dialog.AddChidren(selectFL); - selectFL.Animate = Animate.DownToUp; + //selectFL.Animate = Animate.DownToUp; var titleBG = new FrameLayout { Height = Application.GetRealHeight(138 * 2), - Radius = (uint)Application.GetRealHeight(20), + Radius = (uint)Application.GetRealHeight(58), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; selectFL.AddChidren(titleBG); @@ -650,7 +722,7 @@ X = Application.GetRealWidth(80), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextGrayColor, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.Cancel }; @@ -658,11 +730,10 @@ var deviceName = new Button { - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(600), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15, - TextAlignment = TextAlignment.CenterLeft, + TextSize = 16, Text = device.CommonDevice.DeviceEpointName }; titleFL.AddChidren(deviceName); @@ -672,7 +743,7 @@ X = Application.GetRealWidth(800), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterRight, TextID = R.MyInternationalizationString.Complete }; @@ -787,12 +858,12 @@ Height = Application.GetRealHeight(752), }; dialog.AddChidren(selectFL); - selectFL.Animate = Animate.DownToUp; + //selectFL.Animate = Animate.DownToUp; var titleBG = new FrameLayout { Height = Application.GetRealHeight(138 * 2), - Radius = (uint)Application.GetRealHeight(20), + Radius = (uint)Application.GetRealHeight(58), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; selectFL.AddChidren(titleBG); @@ -816,7 +887,7 @@ X = Application.GetRealWidth(80), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextGrayColor, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.Cancel }; @@ -824,10 +895,10 @@ var deviceName = new Button { - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(600), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15, + TextSize = 16, TextAlignment = TextAlignment.CenterLeft, Text = device.CommonDevice.DeviceEpointName }; @@ -838,7 +909,7 @@ X = Application.GetRealWidth(800), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterRight, TextID = R.MyInternationalizationString.Complete }; @@ -953,12 +1024,12 @@ Height = Application.GetRealHeight(1106), }; dialog.AddChidren(selectFL); - selectFL.Animate = Animate.DownToUp; + //selectFL.Animate = Animate.DownToUp; var titleBG = new FrameLayout { Height = Application.GetRealHeight(138 * 2), - Radius = (uint)Application.GetRealHeight(20), + Radius = (uint)Application.GetRealHeight(58), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; selectFL.AddChidren(titleBG); @@ -982,7 +1053,7 @@ X = Application.GetRealWidth(80), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextGrayColor, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.Cancel }; @@ -990,10 +1061,10 @@ var deviceName = new Button { - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(600), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15, + TextSize = 16, TextAlignment = TextAlignment.CenterLeft, Text = device.CommonDevice.DeviceEpointName }; @@ -1004,7 +1075,7 @@ X = Application.GetRealWidth(800), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, - TextSize = 15, + TextSize = 14, TextAlignment = TextAlignment.CenterRight, TextID = R.MyInternationalizationString.Complete }; @@ -1082,12 +1153,9 @@ tempId = open.temperatureList.IndexOf(tasklist.Data2/100); } } - open.pickerView.setCurrentItems(tempId, modelId, fanid); } } - - comfrimBtn.MouseUpEventHandler = (sender, e) => { diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs index 85d5b7e..11d2bf8 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs @@ -96,8 +96,7 @@ frow.IsSelected = true; } - frow.IconButton.MouseUpEventHandler += SelectFloor_MouseUpEvent; - frow.TitleButton.MouseUpEventHandler += SelectFloor_MouseUpEvent; + frow.ClickBtn.MouseUpEventHandler += SelectFloor_MouseUpEvent; } /// <summary> @@ -112,6 +111,7 @@ { Config.Instance.Home.CurrentFloorId = (sender as Button).Tag.ToString(); Config.Instance.Home.Save(); + Common.Room.RefreshRoomListView(); } FloorAction?.Invoke((sender as Button).Tag.ToString()); diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs index 74a7512..f0200e7 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs @@ -23,7 +23,7 @@ /// <summary> /// BeforesceneTargetDeviceUIs /// </summary> - public List<SceneTargetDeviceUI> beforeSceneTargetDeviceUIs=new List<SceneTargetDeviceUI> { }; + public List<SceneTargetDeviceUI> beforeSceneTargetDeviceUIs = new List<SceneTargetDeviceUI> { }; /// <summary> /// 妤煎眰 /// </summary> @@ -96,6 +96,8 @@ Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterRight, TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize = 14, + IsBold = true }; selectFloorBtn = new Button() @@ -151,7 +153,7 @@ confirmBtn.SetTitle(R.MyInternationalizationString.Save); confirmBtn.MouseUpEventHandler += (sender, e) => { - sceneTargetDevice.ElseScenesId = sceneUI.Id ; + sceneTargetDevice.ElseScenesId = sceneUI.Id; sceneTargetDevice.SceneUI = sceneUI; sceneTargetDevice.SceneName = sceneUI.Name; selectedAction?.Invoke(sceneTargetDevice); @@ -187,35 +189,26 @@ functionSceneBodyView = new FrameLayout() { Y = roomFL.Bottom, - Height = Application.GetRealHeight(910+622), + Height = Application.GetRealHeight(1080 + 452), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; bodyFrameLayout.AddChidren(functionSceneBodyView); - Button curBtn = new Button(); + RoomButton curBtn = new RoomButton(0,0); + foreach (var room in Common.Room.CurrentRoom.GetRoomsByFloorIdAppendLoveRoom(floorId)) { var row = new FrameLayout() { - Width = Application.GetRealWidth(187 + 50), - Height = Application.GetRealHeight(204), + Width = Application.GetRealWidth(255), + Height = Application.GetRealHeight(167) }; roomFL.AddChidren(row); - var roomBtn = new Button() - { - Width = Application.GetRealWidth(187), - Height = Application.GetRealHeight(78), - Radius = (uint)Application.GetRealHeight(78 / 2), - Gravity = Gravity.Center, - Text = room.Name, - TextColor = ZigbeeColor.Current.GXCTextGrayColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, - BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3, - SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor, - BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor, - BorderWidth = 1 - }; + RoomButton roomBtn = new RoomButton(0, 0); + roomBtn.Gravity = Gravity.Center; + roomBtn.Init(); + roomBtn.SetTitle(room.Name); row.AddChidren(roomBtn); if (room.IsLove) @@ -225,15 +218,15 @@ RefreshScene(room); } - roomBtn.MouseUpEventHandler += (sender, e) => + roomBtn.ButtonClickEvent += (sender, e) => { - if ((sender as Button) == curBtn) + if (sender == curBtn) { return; } - (sender as Button).IsSelected = true; + sender.IsSelected = true; curBtn.IsSelected = false; - curBtn = sender as Button; + curBtn = sender; RefreshScene(room); }; @@ -260,9 +253,11 @@ { //Y = Application.GetRealHeight(58) }; + functionSceneBodyView.AddChidren(sceneScrolView); SelectSceneRow tempSceneRow = new SelectSceneRow(); - EventHandler<MouseEventArgs> selectScene = (sender, e) => { + EventHandler<MouseEventArgs> selectScene = (sender, e) => + { tempSceneRow.IsSelected = false; tempSceneRow = ((sender as Button).Parent as SelectSceneRow); ((sender as Button).Parent as SelectSceneRow).IsSelected = true; @@ -311,11 +306,22 @@ sceneRowLayout.IsSelected = true; } } - + sceneRowLayout.ClickButton.MouseUpEventHandler += selectScene; } + + if (sceneList.Count > 8) + { + var frame = new FrameLayout + { + Height = Application.GetRealHeight(300) + }; + sceneScrolView.AddChidren(frame); + } + } } + /// <summary> /// 鏄剧ず娌℃湁鍦烘櫙 @@ -338,7 +344,7 @@ Height = Application.GetRealHeight(200), Width = Application.GetRealWidth(700), Gravity = Gravity.CenterHorizontal, - Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}", "\r\n"), + Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, TextAlignment = TextAlignment.Center, IsMoreLines = true diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs index 1f97860..78e5035 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs @@ -64,7 +64,7 @@ Width = Width, Height = Height - Application.GetRealHeight(6), TextColor = ZigbeeColor.Current.GXCTextGrayColor4, - SelectedTextColor = ZigbeeColor.Current.GXCTextDeepBlackColor, + SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, TextSize = CommonFormResouce.TextSize, TextAlignment = TextAlignment.CenterLeft }; diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionForWinRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionForWinRow.cs index d31b0e0..f11e9ee 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionForWinRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionForWinRow.cs @@ -52,7 +52,7 @@ v_Selected = value; try { - SetOnLineStatu(v_Selected); + SetStatu(v_Selected); } catch { @@ -75,7 +75,7 @@ Y = Application.GetRealHeight(y); Width = Application.GetRealWidth(1022); Height = Application.GetRealHeight(127); - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; + //BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; } /// <summary> @@ -111,11 +111,12 @@ { X = Application.GetRealWidth(181), Y = Application.GetRealHeight(14), - Width = Application.GetRealWidth(600), + Width = Application.GetRealWidth(400), Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.GXCTextBlackColor, SelectedTextColor = ZigbeeColor.Current.GXCTextSelectedColor, TextAlignment = TextAlignment.CenterLeft, + TextSize=14 }; AddChidren(NameBtn); @@ -126,7 +127,8 @@ Width = Application.GetRealWidth(400), Height = Application.GetRealHeight(49), TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor2 + TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor2, + TextSize=10 }; AddChidren(StatuBtn); @@ -225,6 +227,8 @@ public void SetStatu(bool statu) { //OpenOrUpBtn.IsSelected = CloseOrDownBtn.IsSelected = StopBtn.IsSelected = statu; + NameBtn.IsSelected = ImageBG.IsSelected = ImageBtn.IsSelected = statu; + NameBtn.IsBold = statu; } /// <summary> @@ -234,7 +238,7 @@ public void SetOnLineStatu(bool statu) { NameBtn.IsSelected = ImageBG.IsSelected = ImageBtn.IsSelected = statu; - + NameBtn.IsBold = statu; } /// <summary> diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionRow.cs index b73178f..a13103f 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionRow.cs @@ -42,7 +42,7 @@ v_Selected = value; try { - SetOnLineStatu(v_Selected); + SetStatu(v_Selected); } catch { @@ -66,7 +66,7 @@ Y = Application.GetRealHeight(y); Width = Application.GetRealWidth(1022); Height = Application.GetRealHeight(127); - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; + //BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; } /// <summary> @@ -110,6 +110,7 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, SelectedTextColor = ZigbeeColor.Current.GXCTextSelectedColor, TextAlignment = TextAlignment.CenterLeft, + TextSize=14, Tag = Tag }; AddChidren(NameBtn); @@ -121,7 +122,8 @@ Width = Application.GetRealWidth(400), Height = Application.GetRealHeight(49), TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor2 + TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor2, + TextSize=10 }; AddChidren(StatuBtn); @@ -140,9 +142,9 @@ var line = new Button() { X = Application.GetRealWidth(200), - Y = Height - 2, + Y = Height - 1, Width = Application.GetRealWidth(821), - Height = 2, + Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor, Tag = Tag }; @@ -187,6 +189,8 @@ public void SetStatu(bool statu) { SwitchBtn.IsSelected = statu; + NameBtn.IsSelected = ImageBG.IsSelected = ImageBtn.IsSelected = statu; + NameBtn.IsBold = statu; } /// <summary> diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs index d019415..cb59ba2 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs @@ -25,9 +25,9 @@ public const int loginTextSize = 12; /// <summary> /// 鍗犱綅瀛椾綋澶у皬 - /// 12 + /// 14 /// </summary> - public const int PlaceHolderTextSize = 12; + public const int PlaceHolderTextSize = 14; /// <summary> /// Row_Height diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/CompleteButton.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/CompleteButton.cs index 1745281..dbc70fa 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/CompleteButton.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/CompleteButton.cs @@ -26,6 +26,8 @@ TextID = R.MyInternationalizationString.Complete; BackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor; TextColor = ZigbeeColor.Current.GXCTextWhiteColor; + IsBold = true; + TextSize = 16; Gravity = Gravity.CenterHorizontal; Radius = (uint)Application.GetRealHeight(height / 2); } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs index b992f88..b696113 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs @@ -407,15 +407,15 @@ CommonPage.Loading.Hide(); if (result) { - var alertSuccess = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.Success), Language.StringByID(R.MyInternationalizationString.Confrim)); - alertSuccess.Show(); - alertSuccess.ResultEventHandler += (senderSuccess, eSuccess) => - { + //var alertSuccess = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.Success), Language.StringByID(R.MyInternationalizationString.Confrim)); + //alertSuccess.Show(); + //alertSuccess.ResultEventHandler += (senderSuccess, eSuccess) => + //{ //鏀规埧闂� Shared.Common.Room.CurrentRoom.ChangedRoom(device.CommonDevice, curRoom.Id); device.CommonDevice.ReSave(); RemoveFromParent(); - }; + //}; } else { diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs index 47ac9b4..a094781 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs @@ -58,9 +58,9 @@ var line = new Button() { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = Height - 2, + Y = Height - 1, Width = Application.GetRealWidth(965), - Height = 2, + Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; AddChidren(line); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs index 55df7e1..397eb92 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs @@ -71,17 +71,17 @@ Width = Application.GetMinRealAverage(100), Height = Application.GetMinRealAverage(100), Gravity = Gravity.CenterVertical, - SelectedImagePath="Item/Next.png", - UnSelectedImagePath= "Item/NextSelected.png" + SelectedImagePath= "Item/NextSelected.png", + UnSelectedImagePath= "Item/Next.png" }; AddChidren(NextBtn); line = new Button() { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = Height - 2, + Y = Height - 1, Width = Application.GetRealWidth(965), - Height = 2, + Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; AddChidren(line); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoWithZoneRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoWithZoneRow.cs index 2edd7e7..7bfe15c 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoWithZoneRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoWithZoneRow.cs @@ -25,6 +25,10 @@ /// </summary> public Button ClickButton; /// <summary> + /// line + /// </summary> + Button line; + /// <summary> /// DeviceInfoWithZoneRow /// </summary> /// <param name="y"></param> @@ -83,12 +87,12 @@ }; AddChidren(SelectBtn); - var line = new Button() + line = new Button() { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = Height - 2, + Y = Height - 1, Width = Application.GetRealWidth(965), - Height = 2, + Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; AddChidren(line); @@ -135,6 +139,14 @@ { SelectBtn.Visible = statu; } + /// <summary> + /// HideLine + /// </summary> + /// <param name="statu"></param> + public void HideLine(bool statu) + { + line.Visible = !statu; + } } } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs old mode 100755 new mode 100644 index ce78534..448da2e --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs @@ -101,7 +101,8 @@ Height = Application.GetMinRealAverage(63), TextColor = ZigbeeColor.Current.GXCTextGrayColor, SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextAlignment=TextAlignment.CenterLeft + TextAlignment=TextAlignment.CenterLeft, + TextSize=15 }; AddChidren(NameButton); @@ -156,7 +157,9 @@ Height = Application.GetMinRealAverage(60), TextColor = ZigbeeColor.Current.GXCTextBlackColor, SelectedTextColor = ZigbeeColor.Current.GXCTextSelectedColor, - TextAlignment=TextAlignment.CenterLeft + TextAlignment=TextAlignment.CenterLeft, + TextSize=14, + IsBold=true }; AddChidren(StatuButton); @@ -177,9 +180,10 @@ /// SetStatu /// </summary> /// <param name="statu"></param> - public void SetStatu(bool statu) + private void SetStatu(bool statu) { NameButton.IsSelected = IconButton.IsSelected = SwitchButton.IsSelected = StatuButton.IsSelected = CardBG.IsSelected = statu; + NameButton.IsBold = statu; } /// <summary> diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs index 8fe24e8..64d5392 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs @@ -62,7 +62,6 @@ Y = Application.GetRealHeight(y); Width = Application.GetRealWidth(1080); Height = Application.GetRealHeight(127); - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; } /// <summary> @@ -106,7 +105,8 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, SelectedTextColor = ZigbeeColor.Current.GXCTextSelectedColor, TextAlignment = TextAlignment.CenterLeft, - Tag = Tag + Tag = Tag, + TextSize=14 }; AddChidren(NameBtn); @@ -125,10 +125,10 @@ var line = new Button() { X = Application.GetRealWidth(200), - Y = Height - 2, + Y = Height - 1, Width = Application.GetRealWidth(821), - Height = 2, - BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, Tag = Tag }; AddChidren(line); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/LeftIconButtonRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/LeftIconButtonRow.cs index 58cc755..b009368 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/LeftIconButtonRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/LeftIconButtonRow.cs @@ -18,6 +18,10 @@ /// </summary> public FrameLayout Line; /// <summary> + /// ClickBtn + /// </summary> + public Button ClickBtn; + /// <summary> /// v_Selected /// </summary> private bool v_Selected; @@ -98,6 +102,10 @@ { AddChidren(Line); } + + ClickBtn = new Button { Tag = this.Tag }; + AddChidren(ClickBtn); + } #endregion @@ -112,6 +120,7 @@ IconButton.IsSelected = statu; TitleButton.IsSelected = statu; TitleButton.IsBold = statu; + ClickBtn.IsSelected = statu; } /// <summary> /// 閫変腑 @@ -127,6 +136,15 @@ { SetStatu(false); } + /// <summary> + /// HidenLine + /// </summary> + /// <param name="statu"></param> + public void HidenLine(bool statu) + { + Line.Visible = !statu; + } + #endregion } } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomButton.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomButton.cs new file mode 100755 index 0000000..15f15e1 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomButton.cs @@ -0,0 +1,151 @@ +锘縰sing System; +using Shared.Common; + +namespace Shared.Phone.Device.CommonForm +{ + /// <summary> + /// 鎴块棿鎸夐挳鍥剧墖 + /// </summary> + public class RoomButton : FrameLayout + { + #region 鈼� 鍙橀噺____________________________ + /// <summary> + /// name + /// </summary> + public Button NameBtn; + /// <summary> + /// 鑳屾櫙鍥� + /// </summary> + public Button BackGroundBtn; + /// <summary> + /// 鐐瑰嚮浜嬩欢 + /// </summary> + public Action<RoomButton, MouseEventArgs> ButtonClickEvent; + /// <summary> + /// isSelected + /// </summary> + private bool v_Selected; + /// <summary> + /// IsSelected + /// </summary> + public bool IsSelected + { + set + { + try + { + v_Selected = value; + SetStatu(v_Selected); + } + catch + { + v_Selected = false; + SetStatu(v_Selected); + } + } + get + { + return v_Selected; + } + } + + #endregion + + #region 鈼� 鏋勯�犳柟娉昣________________________ + + /// <summary> + /// ButtonLineForm + /// </summary> + /// <param name="x"></param> + /// <param name="y"></param> + public RoomButton(int x, int y) + { + X = Application.GetRealWidth(x); + Y = Application.GetRealHeight(y); + Width = Application.GetMinRealAverage(255); + Height = Application.GetMinRealAverage(159); + } + + #endregion + + #region 鈼� 澶栭儴鏂规硶________________________ + /// <summary> + /// Init + /// </summary> + public void Init() + { + BackGroundBtn = new Button + { + Width = Application.GetMinRealAverage(255), + Height = Application.GetMinRealAverage(159), + UnSelectedImagePath = "Room/IconBackground.png", + SelectedImagePath = "Room/IconSelectedBackground.png", + Gravity = Gravity.Center + }; + AddChidren(BackGroundBtn); + + NameBtn = new Button() + { + Width = Application.GetMinRealAverage(160), + Height = Application.GetMinRealAverage(159 / 2), + Gravity = Gravity.Center, + TextColor = ZigbeeColor.Current.GXCTextGrayColor, + SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize = 12 + }; + AddChidren(NameBtn); + + BackGroundBtn.MouseUpEventHandler += Button_MouseUpEventHandler; + NameBtn.MouseUpEventHandler += Button_MouseUpEventHandler; + } + + /// <summary> + /// SetTitle + /// </summary> + /// <param name="title"></param> + public void SetTitle(string title) + { + NameBtn.Text = title; + } + /// <summary> + /// SetTitle + /// </summary> + /// <param name="title"></param> + public void SetTitle(int title) + { + SetTitle(Language.StringByID(title)); + } + + /// <summary> + /// SetStatu + /// </summary> + /// <param name="statu"></param> + public void SetStatu(bool statu) + { + NameBtn.IsSelected = BackGroundBtn.IsSelected = statu; + //NameBtn.TextSize = statu ? CommonFormResouce.TextSize_Selected : CommonFormResouce.TextSize; + NameBtn.IsBold = statu; + } + + #endregion + + #region 鈼� 鐐瑰嚮浜嬩欢_________________________ + + /// <summary> + /// 鐐瑰嚮浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void Button_MouseUpEventHandler(object sender, MouseEventArgs e) + { + try + { + this.ButtonClickEvent?.Invoke(this, e); + } + catch (Exception ex) + { + } + } + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomMainView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomMainView.cs index 9d32604..8096d1c 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomMainView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomMainView.cs @@ -1,5 +1,6 @@ 锘縰sing System; using Shared.Common; +using Shared.Phone.UserView; namespace Shared.Phone.Device.CommonForm { @@ -17,7 +18,14 @@ /// CardBG /// </summary> private Button CardBG; - + /// <summary> + /// ClickBtn + /// </summary> + public Button ClickBtn; + /// <summary> + /// 鏄惁鍙互瑙﹀彂鐐瑰嚮浜嬩欢 + /// </summary> + public bool CanClick = true; /// <summary> /// RoomMainView /// </summary> @@ -34,7 +42,7 @@ /// <summary> /// init /// </summary> - public void Init() + public void Init(FrameLayout frameLayout, Common.Room room) { CardBG = new Button { @@ -74,6 +82,10 @@ IsBold=true }; AddChidren(RoomNameButton); + + ClickBtn = new Button { }; + AddChidren(ClickBtn); + } /// <summary> @@ -93,7 +105,6 @@ { Icon.ImagePath = imagePath; } - } } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs index e620358..dd89ea7 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs @@ -1,11 +1,13 @@ 锘縰sing System; using Shared.Common; +using Shared.Phone.Device.DeviceLogic; using Shared.Phone.UserCenter; using Shared.Phone.UserView; +using ZigBee.Device; namespace Shared.Phone.Device.CommonForm { - public class RoomView:FrameLayout + public class RoomView:FrameLayout, ZigBee.Common.IStatus { /// <summary> /// Room @@ -16,10 +18,136 @@ /// </summary> public Action action; + FrameLayout roomNameBackground; + + FrameLayout roomTemperatureBackground; + + Button roomListBtn; + + Button temperatureText; + + Button humidityText; + + CommonDevice temperDevice; + + CommonDevice humidDevice; + + #region 鈼� 鎺ュ彛__________________________ + /// <summary> + /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange() + /// </summary> + /// <returns>The changed.</returns> + /// <param name="common">Common.</param> + public void Changed(CommonDevice common) + { + + } + /// <summary> + /// Changeds the IL ogic status. + /// </summary> + /// <param name="logic">Logic.</param> + public void ChangedILogicStatus(ZigBee.Device.Logic logic) + { + //throw new NotImplementedException(); + } + /// <summary> + /// Changeds the IS cene status. + /// </summary> + /// <param name="scene">Scene.</param> + public void ChangedISceneStatus(Scene scene) + { + //throw new NotImplementedException(); + } + /// <summary> + /// 璁惧鐘舵�佹洿鏂版帴鍙� + /// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para> + /// <para>type锛氬鏋滀负 IASInfoReport:RemoveDeviceRespon</para> + /// <para>type锛氬鏋滀负 DeviceStatusReport:璁惧涓婃姤</para> + /// <para>type锛氬鏋滀负 IASInfoReport:IAS瀹夐槻淇℃伅涓婃姤</para> + /// <para>type锛氬鏋滀负 OnlineStatusChange: 璁惧鍦ㄧ嚎鐘舵�佹洿鏂�</para> + /// </summary> + /// <param name="common">Common.</param> + /// <param name="typeTag">Type tag.</param> + public void DeviceInfoChange(CommonDevice common, string typeTag) + { + if (typeTag == "DeviceStatusReport") + { + Application.RunOnMainThread(() => + { + try + { + if (common.DeviceStatusReport.AttriBute == null || common.DeviceStatusReport.AttriBute.Count == 0) + { + return; + } + //鏄惁涓哄綋鍓嶈澶� + if ((temperDevice?.DeviceEpoint != common.DeviceEpoint || temperDevice?.DeviceAddr != common.DeviceAddr) && (humidDevice?.DeviceEpoint != common.DeviceEpoint || humidDevice?.DeviceAddr != common.DeviceAddr) ) + { + //return; + } + + //if (common.Type == DeviceType.TemperatureSensor) + //{ + if (common.DeviceStatusReport.CluterID == 1026) + { + foreach (var data in common.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + if (data.AttriButeData == 0) + { + //0 + humidityText.Text = "--%"; + room.Humidity = 0; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + humidityText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; + room.Humidity = int.Parse(strValue) * 0.1; + } + } + } + } + else if (common.DeviceStatusReport.CluterID == 1029) + { + foreach (var data in common.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + if (data.AttriButeData == 0) + { + //0 + humidityText.Text = "--%"; + room.Humidity = 0; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + humidityText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; + room.Humidity = int.Parse(strValue) * 0.1; + } + } + } + } + //} + } + catch (Exception ex) + { + System.Console.WriteLine($"Error:{ex.Message}"); + } + }); + } + } + #endregion + public override void RemoveFromParent() { - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); + ZbGateway.StatusList.Remove(this); base.RemoveFromParent(); } @@ -34,6 +162,7 @@ Y = Application.GetRealHeight(y); Width = Application.GetRealWidth(717); Height = Application.GetRealHeight(478); + ZbGateway.StatusList.Add(this); } /// <summary> @@ -43,6 +172,10 @@ public void Init(Common.Room r) { this.room = r; + + this.temperDevice= Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); + + this.humidDevice= Common.LocalDevice.Current.GetDevice(room.HumidityDevice); var roomBackView = new FrameLayout() { @@ -58,7 +191,7 @@ }; roomBackView.AddChidren(roomImg); - var roomNameBackground = new FrameLayout + roomNameBackground = new FrameLayout { X = Application.GetRealWidth(29), Y = Application.GetRealHeight(282), @@ -75,11 +208,13 @@ Width = Application.GetRealWidth(190), Text = room.Name, TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize=10, + IsBold=true }; roomNameBackground.AddChidren(roomName); - var roomTemperatureBackground = new FrameLayout + roomTemperatureBackground = new FrameLayout { X = Application.GetRealWidth(29), Y = Application.GetRealHeight(374), @@ -100,13 +235,14 @@ }; roomTemperatureBackground.AddChidren(temperatureIcon); - var temperatureText = new Button + temperatureText = new Button { X = Application.GetRealWidth(69), Width = Application.GetRealWidth(120), Height = Application.GetRealHeight(58), Gravity = Gravity.CenterVertical, - Text = $"{room.Temperatrue}鈩�" + Text = Math.Abs(room.Temperatrue) <= 0 ? "--鈩�" : $"{room.Temperatrue}鈩�", + TextSize=14 }; roomTemperatureBackground.AddChidren(temperatureText); @@ -120,111 +256,33 @@ }; roomTemperatureBackground.AddChidren(humidityIcon); - var humidityText = new Button + humidityText = new Button { X = Application.GetRealWidth(260), Width = Application.GetRealWidth(120), Height = Application.GetRealHeight(58), Gravity = Gravity.CenterVertical, - Text = $"{room.Humidity}%" + Text = Math.Abs(room.Temperatrue) <= 0 ? "--%" : $"{room.Humidity}%", + TextSize=14 }; roomTemperatureBackground.AddChidren(humidityText); if (string.IsNullOrEmpty(room.TemperatrueDevice) == false) { - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (Action<ZigBee.Device.CommonDevice>)((report) => - { - string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); - if (room.TemperatrueDevice != mainKeys) - { - return; - } - //绉婚櫎鎺変簨浠� - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - - foreach (var data in report.DeviceStatusReport.AttriBute) - { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) - { - if (data.AttriButeData == 0) - { - //0鈩� - temperatureText.Text = "0.0鈩�"; - room.Temperatrue = 0; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - temperatureText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - room.Temperatrue = int.Parse(strValue) * 0.1; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - temperatureText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - room.Temperatrue = int.Parse(strValue) * 0.1; - } - } - } - })); //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); - if (dev != null) - { - (dev as ZigBee.Device.TemperatureSensor).ReadTemperatureOrHumidity(); - } + ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(dev); } if (string.IsNullOrEmpty(room.HumidityDevice) == false) { - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) => - { - string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); - if (room.HumidityDevice != mainKeys) - { - return; - } - //绉婚櫎鎺変簨浠� - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); - foreach (var data in report.DeviceStatusReport.AttriBute) - { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) - { - if (data.AttriButeData == 0) - { - //0 - humidityText.Text = "0.0%"; - room.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - humidityText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; - room.Humidity = int.Parse(strValue) * 0.1; - } - } - } - }); - //鍙戦�佽幏鍙栨箍搴︾殑鍛戒护 var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); - if (dev != null) - { - (dev as ZigBee.Device.TemperatureSensor).ReadTemperatureOrHumidity(); - } + ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(dev); } - var roomListBtn = new Button() + roomListBtn = new Button() { X = roomBackView.Width - Application.GetRealWidth(100 + 20), Y = Application.GetRealHeight(20), @@ -247,5 +305,13 @@ }; }; } + + /// <summary> + /// HideName + /// </summary> + public void HideName(bool statu) + { + roomNameBackground.Visible = roomTemperatureBackground.Visible = roomListBtn.Visible = !statu; + } } } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs index 62e5abc..54faf9b 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs @@ -149,6 +149,8 @@ TextColor = ZigbeeColor.Current.GXCTextWhiteColor, SelectedTextColor = ZigbeeColor.Current.GXCTextSelectedColor, TextAlignment = TextAlignment.CenterLeft, + TextSize=14, + IsBold=true }; AddChidren(SceneNameButton); } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithPickViewRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithPickViewRow.cs index 609b606..8d5cf18 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithPickViewRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithPickViewRow.cs @@ -89,6 +89,7 @@ Height = Application.GetRealHeight(80), TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextAlignment = TextAlignment.CenterLeft, + TextSize=14 }; AddChidren(NameBtn); SelectBtn = new Button() @@ -100,6 +101,17 @@ Visible = false }; AddChidren(SelectBtn); + + var line1 = new Button() + { + X = Application.GetRealWidth(81), + Y = Application.GetRealHeight(127), + Width = Application.GetRealWidth(919), + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor, + }; + AddChidren(line1); + ClickButton = new Button { @@ -147,9 +159,9 @@ line = new Button() { X = Application.GetRealWidth(81), - Y = this.Height - 2, + Y = this.Height - 1, Width = Application.GetRealWidth(919), - Height = 2, + Height = 1, BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor, }; AddChidren(line); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs index d32c138..0d6a763 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs @@ -84,6 +84,7 @@ Height = Application.GetRealHeight(80), TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextAlignment = TextAlignment.CenterLeft, + TextSize=14 }; AddChidren(NameBtn); @@ -124,17 +125,18 @@ Width = Application.GetRealWidth(200), Gravity = Gravity.CenterHorizontal, Text = $"{(int)(SeekBar.Progress * 1.0 / MaxLevel * 100)} %", - TextColor = ZigbeeColor.Current.GXCTextGrayColor + TextColor = ZigbeeColor.Current.GXCTextGrayColor, + TextSize=12 }; AddChidren(SeekBarTitle); line = new Button() { X = Application.GetRealWidth(81), - Y = this.Height - 2, + Y = this.Height - 1, Width = Application.GetRealWidth(919), - Height = 2, - BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; AddChidren(line); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs index 262a2f8..0c2f880 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs @@ -88,6 +88,7 @@ Gravity = Gravity.CenterVertical, TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextAlignment = TextAlignment.CenterLeft, + TextSize=15 }; AddChidren(NameBtn); @@ -105,10 +106,10 @@ line = new Button() { X = Application.GetRealWidth(180), - Y = this.Height - 2, + Y = this.Height - 1, Width = Application.GetRealWidth(841), - Height = 2, - BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; AddChidren(line); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs index 5598511..6f92f8b 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs @@ -73,6 +73,7 @@ Height = Application.GetRealHeight(80), TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextAlignment = TextAlignment.CenterLeft, + TextSize=14 }; AddChidren(NameBtn); @@ -96,10 +97,10 @@ line = new Button() { X = Application.GetRealWidth(81), - Y = this.Height - 2, + Y = this.Height - 1, Width = Application.GetRealWidth(919), - Height = 2, - BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; AddChidren(line); } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs index 78d0cef..2779996 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs @@ -13,7 +13,11 @@ private List<string> floorList = new List<string> { }; private List<string> roomList = new List<string> { }; private List<string> roomIdList = new List<string> { }; - private string currentId; + /// <summary> + /// curRoom + /// </summary> + private Common.Room curRoom; + public SelectZone() { } @@ -23,70 +27,54 @@ /// </summary> public void Init() { - var dialog = new FrameLayout() + List<string> floorIds = new List<string> { }; + List<string> floorNames = new List<string> { }; + List<List<string>> roomNames = new List<List<string>> { }; + List<List<Common.Room>> rooms = new List<List<Common.Room>> { }; + List<Common.Room> rs = new List<Common.Room> { }; + List<string> rNames = new List<string> { }; + if (Config.Instance.Home.FloorDics.Count > 0) { - BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor - }; - AddChidren(dialog); - - dialog.MouseUpEventHandler += (sender, e) => + foreach (var floor in Config.Instance.Home.FloorDics) + { + floorIds.Add(floor.Key); + floorNames.Add(floor.Value); + if (Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key).Count > 0) + { + roomNames.Add(Common.Room.CurrentRoom.GetRoomNamesByFloorId(floor.Key)); + rooms.Add(Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key)); + } + } + PickerView.ShowSecondary(floorNames, roomNames, (index1, index2) => + { + curRoom = rooms[index1][index2]; + ZoneAction?.Invoke(curRoom); + RemoveFromParent(); + }, 0, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor), + Language.StringByID(R.MyInternationalizationString.Confrim), + Language.StringByID(R.MyInternationalizationString.Cancel)); + } + else { - RemoveFromParent(); - }; - - var backgroundFL = new FrameLayout - { - Y = Application.GetRealHeight(1115), - Height = Application.GetRealHeight(805), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Radius = (uint)Application.GetRealHeight(20) - }; - dialog.AddChidren(backgroundFL); - - var topView = new FrameLayout - { - Height = Application.GetRealHeight(138) - }; - backgroundFL.AddChidren(topView); - - var cancle = new Button - { - X = Application.GetRealWidth(80), - Width = Application.GetRealWidth(300), - TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextGrayColor, - TextID = R.MyInternationalizationString.Cancel, - TextSize = 14 - }; - topView.AddChidren(cancle); - - var title = new Button - { - Width = Application.GetRealWidth(300), - Gravity = Gravity.CenterHorizontal, - TextColor = ZigbeeColor.Current.GXCTextBlackColor2, - TextID = R.MyInternationalizationString.AddTo, - TextSize = 16 - }; - topView.AddChidren(title); - - var confrim = new Button - { - X = Application.GetRealWidth(CommonFormResouce.AppRealWidth - 80 - 300), - Width = Application.GetRealWidth(300), - TextAlignment = TextAlignment.CenterRight, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor2, - TextID = R.MyInternationalizationString.Confrim, - TextSize = 14 - }; - topView.AddChidren(confrim); - - pickView = new UIPickerView - { - Y = Application.GetRealHeight(20 + 138), - Height = Application.GetRealHeight(450) - }; - backgroundFL.AddChidren(pickView); + for (int i = 0; i < Common.Room.Lists.Count; i++) + { + var r = Common.Room.Lists[i]; + if (r.IsLove) + { + continue; + } + rs.Add(r); + rNames.Add(r.Name); + } + PickerView.Show(rNames, (index1) => + { + curRoom = rs[index1]; + ZoneAction?.Invoke(curRoom); + RemoveFromParent(); + }, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor), + Language.StringByID(R.MyInternationalizationString.Confrim), + Language.StringByID(R.MyInternationalizationString.Cancel)); + } foreach (var floor in Config.Instance.Home.FloorDics) { @@ -101,28 +89,7 @@ roomList.Add(room.Name); roomIdList.Add(room.Id); } - - if (floorList.Count == 0) - { - pickView.setNPicker(roomList, null, null); - currentId = roomIdList[0]; - pickView.OnSelectChangeEvent += (l1, l2, l3) => - { - currentId = roomIdList[l1]; - }; - } - else - { - pickView.setNPicker(floorList, roomList, null); - currentId = roomIdList[0]; - pickView.OnSelectChangeEvent += (l1, l2, l3) => - { - currentId = roomIdList[l2]; - }; - } - - cancle.MouseUpEventHandler += Close; - confrim.MouseUpEventHandler += Confrim_MouseEvent; + } /// <summary> @@ -142,10 +109,7 @@ /// <param name="mouseEventArgs"></param> private void Confrim_MouseEvent(object sender, MouseEventArgs mouseEventArgs) { - if (Shared.Common.Room.CurrentRoom.GetRoomById(currentId) != null) - { - ZoneAction?.Invoke(Shared.Common.Room.CurrentRoom.GetRoomById(currentId)); - } + ZoneAction?.Invoke(curRoom); RemoveFromParent(); } } diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs index f5d0bda..a9624fe 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs @@ -65,7 +65,8 @@ { Y = Application.GetRealHeight(CommonFormResouce.TopStatuFrameLayout_Height), Height = Application.GetRealHeight(CommonFormResouce.Topview_Height), - Width = Application.GetRealWidth(CommonPage.AppRealWidth) + Width = Application.GetRealWidth(CommonPage.AppRealWidth), + BackgroundColor=ZigbeeColor.Current.GXCTopViewBackgroundColor }; AddChidren(topView); @@ -73,7 +74,7 @@ { Y=Height-1, Height=1, - BackgroundColor=ZigbeeColor.Current.GXCGrayLineColor3 + BackgroundColor=ZigbeeColor.Current.GXCGrayLineColor4 }; AddChidren(line); } diff --git a/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs b/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs index c60af98..5d4d399 100755 --- a/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs @@ -80,6 +80,15 @@ /// </summary> public bool IsDrawerLockMode; + /// <summary> + /// ProgressBtn + /// </summary> + Button ProgressBtn; + /// <summary> + /// ProgressBtnY + /// </summary> + int ProgressBtnY; + #endregion #region 鈼� 鎺ュ彛___________________________ @@ -695,11 +704,36 @@ curtainRollSeekBar.Gravity = Gravity.CenterHorizontal; curtainRollSeekBar.Progress = (device.CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage; layout.AddChidren(curtainRollSeekBar); - + curtainRollSeekBar.IsProgressTextShow = false; + curtainRollSeekBar.CurtainPaddingTop = Application.GetRealHeight(110); curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) => { (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); }; + + curtainRollSeekBar.OnStartTrackingTouchEvent += (sender, e) => + { + OnProgressButtonMove(curtainRollSeekBar.Progress); + ProgressBtn.Visible = true; + }; + + curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) => + { + ProgressBtn.Visible = false; + }; + + curtainRollSeekBar.OnProgressChangedEvent += (send2, e2) => + { + + OnProgressButtonMove(e2); + + //鍒ゆ柇鏄惁300ms灞忚斀 + //if (curtainRollSeekBar.IsProgressChangeDelay()) return; + + //(device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); + }; + + InitProgressBtn(layout); } else { @@ -717,7 +751,32 @@ } } + /// <summary> + /// 娣诲姞杩涘害鎸夐挳 + /// </summary> + private void InitProgressBtn(FrameLayout layout) + { + ProgressBtnY = curtainRollSeekBar.Y - Application.GetMinReal(204); + ProgressBtn = new Button() + { + Y = ProgressBtnY, + Width = Application.GetMinReal(135), + Height = Application.GetMinReal(104), + UnSelectedImagePath = "Item/ProgressBubbles.png", + Visible = false, + Gravity = Gravity.CenterHorizontal + }; + layout.AddChidren(ProgressBtn); + } + /// <summary> + /// OnProgressButtonMove + /// </summary> + private void OnProgressButtonMove(int mProgress) + { + ProgressBtn.Y = ProgressBtnY + curtainRollSeekBar.NowProgressY; + ProgressBtn.Text = mProgress + "%"; + } #endregion diff --git a/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs b/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs index e283fca..aeea43a 100755 --- a/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs +++ b/ZigbeeApp/Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs @@ -35,6 +35,10 @@ /// <param name="device">璁惧</param> public void SendACStatuComand(CommonDevice device) { + if (device == null) + { + return; + } new System.Threading.Thread(() => { SendFanStatuComand(device); @@ -50,6 +54,10 @@ /// <param name="device">璁惧</param> private void SendThermostatStatuComand(CommonDevice device) { + if (device == null) + { + return; + } var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr",device.DeviceAddr }, @@ -99,6 +107,10 @@ /// <param name="device">璁惧</param> private void SendFanStatuComand(CommonDevice device) { + if (device == null) + { + return; + } var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr",device.DeviceAddr }, @@ -131,6 +143,10 @@ /// <param name="device">绐楀笜</param> public void SendCurtainStatuComand(CommonDevice device) { + if (device == null) + { + return; + } var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr",device.DeviceAddr }, @@ -169,6 +185,10 @@ /// <param name="device"></param> public void SendDimmableLightStatuComand(CommonDevice device) { + if (device == null) + { + return; + } new System.Threading.Thread(() => { SendSwitchStatuComand(device); @@ -184,6 +204,10 @@ /// <param name="device">绐楀笜</param> private void SendSwitchStatuComand(CommonDevice device) { + if (device == null) + { + return; + } var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr",device.DeviceAddr }, @@ -209,6 +233,10 @@ /// <param name="device">绐楀笜</param> private void SendLevelStatuComand(CommonDevice device) { + if (device == null) + { + return; + } var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr",device.DeviceAddr }, @@ -229,5 +257,68 @@ } #endregion + + #region 鈼� 娓╂箍搴___________________________ + + /// <summary> + /// 璇诲彇娓╁害 + /// </summary> + /// <param name="device"></param> + public void SendTemperatureStatuComand(CommonDevice device) + { + if (device == null) + { + return; + } + var jObject = new Newtonsoft.Json.Linq.JObject + { + { "DeviceAddr",device.DeviceAddr }, + { "Epoint", device.DeviceEpoint }, + { "Cluster_ID", (int)Cluster_ID.TemperatureMeasurement }, + { "Command", 108 } + }; + var attriBute = new Newtonsoft.Json.Linq.JArray + { + new Newtonsoft.Json.Linq.JObject + { + { "AttriButeId", (int)AttriButeId.MeasuredValue} + } + }; + var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } }; + jObject.Add("Data", data); + device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString()); + } + + /// <summary> + /// 璇诲彇婀垮害 + /// </summary> + /// <param name="device"></param> + public void SendHumidityStatuComand(CommonDevice device) + { + if (device == null) + { + return; + } + var jObject = new Newtonsoft.Json.Linq.JObject + { + { "DeviceAddr",device.DeviceAddr }, + { "Epoint", device.DeviceEpoint }, + { "Cluster_ID", (int)Cluster_ID.RelativeHumidityMeasurement }, + { "Command", 108 } + }; + var attriBute = new Newtonsoft.Json.Linq.JArray + { + new Newtonsoft.Json.Linq.JObject + { + { "AttriButeId", (int)AttriButeId.MeasuredValue} + } + }; + var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } }; + jObject.Add("Data", data); + device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString()); + } + + #endregion + } } diff --git a/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs index 1c0e296..528ae90 100755 --- a/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs @@ -138,7 +138,7 @@ } light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected); + StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}"; light.LastDateTime = DateTime.Now; } } @@ -307,7 +307,8 @@ Gravity = Gravity.CenterHorizontal, Text = device.CommonDevice.DeviceEpointName, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15 + TextSize = 15, + IsBold=true }; itemView.AddChidren(deviceNameBtn); @@ -318,7 +319,8 @@ Height = Application.GetRealHeight(60), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextGrayColor, - Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1) + Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}", + TextSize = 10 }; itemView.AddChidren(StatuBtn); @@ -381,7 +383,8 @@ Height = Application.GetRealHeight(50), Text = room.Name, TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize = 12 }; itemView.AddChidren(roomName); } @@ -414,7 +417,7 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; switchBtn.IsSelected = !switchBtn.IsSelected; deviceIMG.IsSelected = !deviceIMG.IsSelected; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected); + StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; if (switchBtn.IsSelected == true) { (device.CommonDevice as ZigBee.Device.AirSwitch).SwitchControl(1); diff --git a/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs index 94c1dc7..dc7d547 100755 --- a/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs @@ -67,6 +67,15 @@ /// IsDrawerLockMode /// </summary> public bool IsDrawerLockMode; + /// <summary> + /// ProgressBtn + /// </summary> + Button ProgressBtn; + /// <summary> + /// ProgressBtnY + /// </summary> + int ProgressBtnY; + #endregion #region 鈼� 鎺ュ彛__________________________ @@ -137,7 +146,8 @@ } dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; switchBtn.IsSelected = dimmableLight.OnOffStatus == 1; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(switchBtn.IsSelected); + StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; + if (switchBtn.IsSelected == true) { levelSeekBar.IsClickable = true; @@ -170,6 +180,8 @@ dimmableLight.Level = attriButeList[0].AttriButeData; dimmableLight.LastDateTime = DateTime.Now; levelSeekBar.Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100); + StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; + break; } } @@ -366,7 +378,8 @@ Gravity = Gravity.CenterHorizontal, Text = device.CommonDevice.DeviceEpointName, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15 + TextSize = 15, + IsBold=true }; itemView.AddChidren(deviceNameBtn); @@ -377,8 +390,10 @@ Height = Application.GetRealHeight(60), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextGrayColor, - Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as DimmableLight).OnOffStatus == 1) + Text = dimmableLight.Level>0?$"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" :$"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}", + TextSize=10 }; + itemView.AddChidren(StatuBtn); levelSeekBar = new WaveSeekBar() @@ -387,11 +402,13 @@ Width = Application.GetRealWidth(271), Height = Application.GetRealHeight(533), Gravity = Gravity.CenterHorizontal, - WavePadding = 2, + WavePadding = Application.GetRealWidth(8), MaxValue=100, Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100), - WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor + WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor, + CornerRadius= Application.GetRealHeight(58) }; + itemView.AddChidren(levelSeekBar); if (dimmableLight.OnOffStatus == 1) @@ -405,10 +422,31 @@ levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor; } + levelSeekBar.OnStartTrackingTouchEvent += (sender, e) => + { + OnProgressButtonMove(levelSeekBar.Progress); + levelSeekBar.IsProgressTextShow = false; + ProgressBtn.Visible = true; + }; + + levelSeekBar.OnStopTrackingTouchEvent += (sender, e) => + { + ProgressBtn.Visible = false; + levelSeekBar.IsProgressTextShow = true; + }; + levelSeekBar.OnProgressChangedEvent += (send2, e2) => { + + OnProgressButtonMove(e2); + + //鍒ゆ柇鏄惁300ms灞忚斀 + if (levelSeekBar.IsProgressChangeDelay()) return; + dimmableLight.SetLevel((int)(levelSeekBar.Progress * MaxLevel / 100.0)); }; + + InitProgressBtn(itemView); switchBtn = new Button() { @@ -457,9 +495,37 @@ Height = Application.GetRealHeight(50), Text = room.Name, TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize = 12 }; itemView.AddChidren(roomName); + } + + /// <summary> + /// OnProgressButtonMove + /// </summary> + private void OnProgressButtonMove(int mProgress) + { + ProgressBtn.Y = ProgressBtnY + levelSeekBar.NowProgressY; + ProgressBtn.Text = mProgress + "%"; + } + + /// <summary> + /// 娣诲姞杩涘害鎸夐挳 + /// </summary> + private void InitProgressBtn(FrameLayout layout) + { + ProgressBtnY = levelSeekBar.Y - Application.GetMinReal(154); + ProgressBtn = new Button() + { + Y = ProgressBtnY, + Width = Application.GetMinReal(135), + Height = Application.GetMinReal(104), + UnSelectedImagePath = "Item/ProgressBubbles.png", + Visible = false, + Gravity = Gravity.CenterHorizontal + }; + layout.AddChidren(ProgressBtn); } #endregion @@ -486,7 +552,7 @@ private void Switch_MouseUpEvent(object sender, MouseEventArgs eventArgs) { switchBtn.IsSelected = !switchBtn.IsSelected; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(switchBtn.IsSelected); + StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; if (switchBtn.IsSelected == true) { dimmableLight.SwitchControl(1); diff --git a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs index ed3cd89..5ffffc4 100755 --- a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs @@ -137,7 +137,7 @@ } light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected); + StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}"; light.LastDateTime = DateTime.Now; } } @@ -330,7 +330,8 @@ Gravity = Gravity.CenterHorizontal, Text = device.CommonDevice.DeviceEpointName, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize=15 + TextSize=15, + IsBold=true }; itemView.AddChidren(deviceNameBtn); @@ -341,9 +342,11 @@ Height = Application.GetRealHeight(60), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextGrayColor, - Text=CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1) + Text= $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}", + TextSize =10 }; itemView.AddChidren(StatuBtn); + deviceIMG = new Button() { @@ -404,7 +407,8 @@ Height = Application.GetRealHeight(50), Text = room.Name, TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize=12 }; itemView.AddChidren(roomName); } @@ -437,7 +441,8 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; switchBtn.IsSelected = !switchBtn.IsSelected; deviceIMG.IsSelected = !deviceIMG.IsSelected; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected); + StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; + if (switchBtn.IsSelected == true) { (device.CommonDevice as ToggleLight).SwitchControl(1); diff --git a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs index 047aa8b..9d7c7a3 100755 --- a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs @@ -145,7 +145,7 @@ } light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; SetONOFFStatu(light.OnOffStatus == 1); - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(light.OnOffStatus == 1); + StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}"; light.LastDateTime = DateTime.Now; } } @@ -337,7 +337,8 @@ Gravity = Gravity.CenterHorizontal, Text = device.CommonDevice.DeviceEpointName, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15 + TextSize = 15, + IsBold=true }; itemView.AddChidren(deviceNameBtn); @@ -348,7 +349,8 @@ Height = Application.GetRealHeight(60), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextGrayColor, - Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1) + Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}", + TextSize = 10 }; itemView.AddChidren(StatuBtn); @@ -421,7 +423,8 @@ Height = Application.GetRealHeight(50), Text = room.Name, TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize = 12 }; itemView.AddChidren(roomName); } @@ -543,8 +546,9 @@ OnBtn.IsSelected = false; OffBtn.IsSelected = true; } + StatuBtn.Text = statu ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; } - + #endregion diff --git a/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs index 0e6a0af..c05a553 100755 --- a/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs @@ -138,7 +138,7 @@ } light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected); + StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}"; light.LastDateTime = DateTime.Now; } } @@ -330,7 +330,8 @@ Gravity = Gravity.CenterHorizontal, Text = device.CommonDevice.DeviceEpointName, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15 + TextSize = 15, + IsBold=true }; itemView.AddChidren(deviceNameBtn); @@ -341,7 +342,8 @@ Height = Application.GetRealHeight(60), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextGrayColor, - Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1) + Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}", + TextSize = 10 }; itemView.AddChidren(StatuBtn); @@ -404,7 +406,8 @@ Height = Application.GetRealHeight(50), Text = room.Name, TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize=12 }; itemView.AddChidren(roomName); } @@ -437,7 +440,7 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; switchBtn.IsSelected = !switchBtn.IsSelected; deviceIMG.IsSelected = !deviceIMG.IsSelected; - StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected); + StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; if (switchBtn.IsSelected == true) { (device.CommonDevice as ToggleLight).SwitchControl(1); diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs index b44fd18..7751fe6 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs @@ -388,8 +388,8 @@ var securityfra = new FrameLayout { Width = Application.GetRealWidth(1080), - Height = Application.GetRealHeight(690), - Y = Application.GetRealHeight(1920 - 690), + Height = Application.GetRealHeight(690+160), + Y = Application.GetRealHeight(1920 - 690-160), BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, //Radius = (uint)Application.GetRealHeight(60), }; @@ -445,7 +445,7 @@ #endregion - #region ----鍦ㄥ甯冮槻 绂诲甯冮槻 鎾ら槻 + #region ----鍦ㄥ甯冮槻 绂诲甯冮槻 鎾ら槻 鑳佽揩鎾ら槻 #region 鍦ㄥ甯冮槻 @@ -528,7 +528,7 @@ Width = Application.GetRealWidth(920), Height = Application.GetRealHeight(130), X = Application.GetRealWidth(80), - LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, }; withdrawalFrameLayout.AddChidren(withdrawalRowLayout); @@ -545,17 +545,50 @@ var withdrawalSelected = new SelectedButton(); withdrawalRowLayout.AddChidren(withdrawalSelected); #endregion + #region 鑳佽揩鎾ら槻 + var urgentwithdFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(160), + Y = withdrawalFrameLayout.Bottom, + }; + securityfra.AddChidren(urgentwithdFrameLayout); - #region ----鍦ㄥ甯冮槻 绂诲甯冮槻 鎾ら槻鐐瑰嚮浜嬩欢 + + var urgentwithdrawalRowLayout = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor, + }; + urgentwithdFrameLayout.AddChidren(urgentwithdrawalRowLayout); + + var btnurgentwithdrawal = new Button + { + TextID = MyInternationalizationString.urgentwithdrawal, + Width = Application.GetRealWidth(600), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, + TextSize = 14, + }; + urgentwithdrawalRowLayout.AddChidren(btnurgentwithdrawal); + + var urgentwithdrawalSelected = new SelectedButton(); + urgentwithdrawalRowLayout.AddChidren(urgentwithdrawalSelected); + #endregion + #region ----鍦ㄥ甯冮槻 绂诲甯冮槻 鎾ら槻 鑳佽揩鎾ら槻鐐瑰嚮浜嬩欢 ///鍦ㄥ甯冮槻鐐瑰嚮浜嬩欢 EventHandler<MouseEventArgs> athomeclick = (sedner14, e14) => { btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnurgentwithdrawal.TextColor= ZigbeeColor.Current.LogicBtnNotSelectedColor; athomedefenceSelected.Visible = true; leavehomedefenceSelected.Visible = false; withdrawalSelected.Visible = false; + urgentwithdrawalSelected.Visible = false; }; athomedefenceRowLayout.MouseUpEventHandler += athomeclick; btnathomedefence.MouseUpEventHandler += athomeclick; @@ -568,9 +601,11 @@ btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnurgentwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; athomedefenceSelected.Visible = false; leavehomedefenceSelected.Visible = true; withdrawalSelected.Visible = false; + urgentwithdrawalSelected.Visible = false; }; leavehomedefenceRowLayout.MouseUpEventHandler += leavehomeclick; leavehomebtndefence.MouseUpEventHandler += leavehomeclick; @@ -582,14 +617,33 @@ btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + btnurgentwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; athomedefenceSelected.Visible = false; leavehomedefenceSelected.Visible = false; withdrawalSelected.Visible = true; + urgentwithdrawalSelected.Visible = false; }; withdrawalRowLayout.MouseUpEventHandler += disableclick; btnwithdrawal.MouseUpEventHandler += disableclick; withdrawalSelected.MouseUpEventHandler += disableclick; withdrawalFrameLayout.MouseUpEventHandler += disableclick; + + ///鑳佽揩鎾ら槻鐐瑰嚮浜嬩欢 + EventHandler<MouseEventArgs> urgentwithdrawalclick = (seder, e) => + { + btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnurgentwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + athomedefenceSelected.Visible = false; + leavehomedefenceSelected.Visible = false; + withdrawalSelected.Visible = false; + urgentwithdrawalSelected.Visible = true; + }; + urgentwithdrawalRowLayout.MouseUpEventHandler += urgentwithdrawalclick; + btnurgentwithdrawal.MouseUpEventHandler += urgentwithdrawalclick; + urgentwithdrawalSelected.MouseUpEventHandler += urgentwithdrawalclick; + urgentwithdFrameLayout.MouseUpEventHandler += urgentwithdrawalclick; #endregion #endregion @@ -608,30 +662,47 @@ btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnurgentwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; athomedefenceSelected.Visible = true; leavehomedefenceSelected.Visible = false; withdrawalSelected.Visible = false; + urgentwithdrawalSelected.Visible = false; } else { btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnurgentwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; athomedefenceSelected.Visible = false; leavehomedefenceSelected.Visible = true; withdrawalSelected.Visible = false; + urgentwithdrawalSelected.Visible = false; } } - else + else if (securityifon["EnOrWithdrawMode"] == "1") { btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + btnurgentwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; athomedefenceSelected.Visible = false; leavehomedefenceSelected.Visible = false; withdrawalSelected.Visible = true; + urgentwithdrawalSelected.Visible = false; + } + else if (securityifon["EnOrWithdrawMode"] == "2") + { + btnathomedefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + leavehomebtndefence.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + btnurgentwithdrawal.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + athomedefenceSelected.Visible = false; + leavehomedefenceSelected.Visible = false; + withdrawalSelected.Visible = false; + urgentwithdrawalSelected.Visible = true; } break; } @@ -639,7 +710,7 @@ } Btncomplete.MouseUpEventHandler += (sender, e) => { - if (!athomedefenceSelected.Visible && !leavehomedefenceSelected.Visible && !withdrawalSelected.Visible) + if (!athomedefenceSelected.Visible && !leavehomedefenceSelected.Visible && !withdrawalSelected.Visible&&!urgentwithdrawalSelected.Visible) { return; } @@ -656,46 +727,43 @@ { SecurityConditionsInfo.Remove("ModeId"); } - SecurityConditionsInfo.Add("Type", "6"); SecurityConditionsInfo.Add("IsValid", "1"); - SecurityConditionsInfo.Add("ModeId", "0"); + if (SecurityConditionsInfo.ContainsKey("EnOrWithdrawMode")) + { + SecurityConditionsInfo.Remove("EnOrWithdrawMode"); + } + if (SecurityConditionsInfo.ContainsKey("ModeId")) + { + SecurityConditionsInfo.Remove("ModeId"); + } //鍦ㄥ甯冮槻 if (athomedefenceSelected.Visible) { - if (SecurityConditionsInfo.ContainsKey("EnOrWithdrawMode")) - { - SecurityConditionsInfo.Remove("EnOrWithdrawMode"); - } - if (SecurityConditionsInfo.ContainsKey("ModeId")) - { - SecurityConditionsInfo.Remove("ModeId"); - } + SecurityConditionsInfo.Add("EnOrWithdrawMode", "0"); SecurityConditionsInfo.Add("ModeId", "1"); } //绂诲甯冮槻 if (leavehomedefenceSelected.Visible) { - if (SecurityConditionsInfo.ContainsKey("EnOrWithdrawMode")) - { - SecurityConditionsInfo.Remove("EnOrWithdrawMode"); - } - if (SecurityConditionsInfo.ContainsKey("ModeId")) - { - SecurityConditionsInfo.Remove("ModeId"); - } + SecurityConditionsInfo.Add("EnOrWithdrawMode", "0"); SecurityConditionsInfo.Add("ModeId", "2"); } //鎾ら槻 if (withdrawalSelected.Visible) { - if (SecurityConditionsInfo.ContainsKey("EnOrWithdrawMode")) - { - SecurityConditionsInfo.Remove("EnOrWithdrawMode"); - } + SecurityConditionsInfo.Add("EnOrWithdrawMode", "1"); + SecurityConditionsInfo.Add("ModeId", "0"); + } + //鑳佽揩鎾ら槻 + if (urgentwithdrawalSelected.Visible) + { + + SecurityConditionsInfo.Add("EnOrWithdrawMode", "2"); + SecurityConditionsInfo.Add("ModeId", "0"); } LogicIfon.AddSecurityconditions(SecurityConditionsInfo); var logicCommunalPage = new LogicCommunalPage(); @@ -782,8 +850,8 @@ typeRow.AddChidren(Btncomplete); #endregion - #region ------鍦ㄥ 绂诲 - #region ------鍦ㄥ + #region ------鍒拌揪鍦扮偣 绂诲紑鍦扮偣 + #region ------鍒拌揪鍦扮偣 var athomeFrameLayout = new FrameLayout { @@ -817,7 +885,7 @@ athomeRowLayout.AddChidren(athomeSelected); #endregion - #region -------绂诲 + #region -------绂诲紑鍦扮偣 var leavehomeFrameLayout = new FrameLayout { Height = Application.GetRealHeight(160), @@ -850,7 +918,7 @@ #endregion string strname = ""; - ///鍦ㄥ鐐瑰嚮浜嬩欢 + ///鍒拌揪鍦扮偣鐐瑰嚮浜嬩欢 EventHandler<MouseEventArgs> athomeclick = (sedner15, e15) => { strname = btnathome.Text; @@ -866,7 +934,7 @@ athomeRowLayout.MouseUpEventHandler += athomeclick; athomeFrameLayout.MouseUpEventHandler += athomeclick; - ///绂诲鐐瑰嚮浜嬩欢 + ///绂诲紑鍦扮偣鐐瑰嚮浜嬩欢 EventHandler<MouseEventArgs> leavehomeclick = (sedner14, e14) => { strname = btnleavehome.Text; @@ -879,14 +947,18 @@ leavehomeSelected.MouseUpEventHandler += leavehomeclick; leavehomeRowLayout.MouseUpEventHandler += leavehomeclick; leavehomeFrameLayout.MouseUpEventHandler += leavehomeclick; - + double latitude = Config.Instance.Home.Latitude;//绾害 + double longitude = Config.Instance.Home.Longitude;//缁忓害 + int r = 500;//鍗婂緞 if (edit) { + string guid = ""; foreach (var Locationifon in Common.Logic.CurrentLogic.Conditions) { if (Locationifon["Type"] == "7") { + guid = Locationifon["WhoSiteUId"]; if (Locationifon["AtHome"] == "0") { strname = btnleavehome.Text; @@ -903,6 +975,20 @@ btnleavehome.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; btnathome.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; } + break; + } + } + + foreach (var accounts in Common.Logic.CurrentLogic.Accounts) + { + + if (accounts["Type"] == "7" && accounts["Account"] == guid) + { + + ///杞崲涓篸ouble绫诲瀷锛� + latitude = Convert.ToDouble(accounts["Latitude"])/1000000.0; + longitude = Convert.ToDouble(accounts["Longitude"]) / 1000000.0; + r = int.Parse(accounts["Radius"]); break; } } @@ -948,14 +1034,16 @@ } LocationConditionsInfo.Add("AtHome", "1"); } - double a1 = Config.Instance.Home.Latitude, a2 = Config.Instance.Home.Longitude; + //璋冪敤鏂规硶锛岃烦杞〉闈� GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => { + //鎴彇瀛楃涓插悗绗�6浣嶏紱 + //var len = name.Substring(name.Length - 6, 6); //鐐瑰嚮淇濆瓨鎸夐挳锛屽洖璋冨綋鍓嶉�夋嫨鐨勭含搴︼紝缁忓害锛屽崐寰勮寖鍥� - var latitud = (int)Math.Truncate(mLatitude * 1000000); - var longitude = (int)Math.Truncate(mLongitude * 1000000); + var latitudW = (int)Math.Truncate(mLatitude * 1000000); + var longitudeH = (int)Math.Truncate(mLongitude * 1000000); Dictionary<string, string> accounts = new Dictionary<string, string>(); if (accounts.ContainsKey("Account")) { @@ -979,8 +1067,8 @@ } accounts.Add("Account", Config.Instance.Guid); accounts.Add("Type", "7"); - accounts.Add("Latitude", latitud.ToString()); - accounts.Add("Longitude", longitude.ToString()); + accounts.Add("Latitude", latitudW.ToString()); + accounts.Add("Longitude", longitudeH.ToString()); accounts.Add("Radius", mRadius.ToString()); LogicIfon.Addaccounts(accounts); LogicIfon.AddLocationconditions(LocationConditionsInfo); @@ -988,7 +1076,7 @@ UserView.HomePage.Instance.AddChidren(logicCommunalPage); UserView.HomePage.Instance.PageIndex += 1; logicCommunalPage.Show(() => { }); - }, strname, true, a1, a2, 500); + }, strname, true, latitude, longitude, r); }; } diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs index 3ad9a3d..6c565cfc 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs @@ -107,6 +107,7 @@ { ///鍙敼鎺ㄩ�佸唴瀹癸紱 Send.LogicControlSwitch(Common.Logic.CurrentLogic); + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); } RemoveFromParent(); diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs index 257b69c..cc4974c 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs @@ -200,6 +200,7 @@ BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, TextID = MyInternationalizationString.Save, TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + TextSize=16, }; PickerViewfra.AddChidren(btnsave); diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs index 74ba416..117357f 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs @@ -94,23 +94,13 @@ //鍏抽棴鍒锋柊View锛� middle.EndHeaderRefreshing(); }; - //Read(); - CommonPage.Loading.Start(); - new System.Threading.Thread(() => - { - Application.RunOnMainThread(() => - { - Read(); - CommonPage.Loading.Hide(); - }); - }) - { IsBackground = true }.Start(); + Read(); } /// <summary> /// 璇诲彇褰撳墠闂ㄩ攣鐨勪簯绔暟鎹紱 /// </summary> - public async void Read() + public void Read() { bool d = false; string macport = Send.CurrentDoorLock.DeviceAddr + "_" + Send.CurrentDoorLock.DeviceEpoint.ToString(); @@ -124,13 +114,27 @@ } } CommonPage.Loading.Start(); - if (!d) + middle.RemoveAll(); + System.Threading.Tasks.Task.Run(async () => { - var allMemberslist = await Send.AllMembers(macport); - Send.LockList.AddRange(allMemberslist); - } - UserAllView(macport); - CommonPage.Loading.Hide(); + try + { + if (!d) + { + var allMemberslist = await Send.AllMembers(macport); + Send.LockList.AddRange(allMemberslist); + } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + UserAllView(macport); + }); + } + }); } /// <summary> /// 鏄剧ず鎵�鏈夌敤鎴� @@ -276,86 +280,183 @@ }; lockRow.AddChidren(Btncomplete); #endregion - + bool @false = false; + if (membershipIfon.UserIdMode.Count > 10) + { + @false = false;// + lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * 10) - 20 - 50); + lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * 10) + 20 + 50); + } + else + { + @false = false; + lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50); + lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50); + } string SelectedLockStatus = ""; - lockcolorfra1.Y = Application.GetRealHeight(1920 - 140 - (160 * membershipIfon.UserIdMode.Count) - 20 - 50); - lockcolorfra1.Height = Application.GetRealHeight(140 + (160 * membershipIfon.UserIdMode.Count) + 20 + 50); ///瀹氫箟涓や釜鍙橀噺璁板綍閫変腑鐘舵�侊紱 string attriButeId = ""; string attriButeData2 = ""; string modeName = ""; - for (int j = 0; j < membershipIfon.UserIdMode.Count; j++) + if (!@false) { - var userIdmode = membershipIfon.UserIdMode[j]; - var doorlockfra = new FrameLayout + for (int j = 0; j < membershipIfon.UserIdMode.Count; j++) { - Height = Application.GetRealHeight(160), - Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * j), - }; - lockcolorfra1.AddChidren(doorlockfra); - - var doorlockRow = new RowLayout - { - Y = Application.GetRealHeight(30), - Width = Application.GetRealWidth(920), - Height = Application.GetRealHeight(130), - X = Application.GetRealWidth(80), - LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, - }; - doorlockfra.AddChidren(doorlockRow); - - var doorlockBtn = new Button - { - Width = Application.GetRealWidth(600), - TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, - Text = userIdmode.ModeName, - TextSize = 14, - }; - doorlockRow.AddChidren(doorlockBtn); - - var doorlockSelected = new Button - { - X = Application.GetRealWidth(860), - Width = Application.GetMinRealAverage(60), - Height = Application.GetMinRealAverage(60), - UnSelectedImagePath = "ZigeeLogic/selected.png", - Visible = false, - Gravity = Gravity.CenterVertical, - - }; - doorlockRow.AddChidren(doorlockSelected); - if ((membershipIfon.UserIdMode.Count - 1) == j) - { - doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor; - } - EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) => - { - SelectedLockStatus = "DoorLock"; - selectedIcon.Visible = false; - selectedIcon = doorlockSelected; - doorlockSelected.Visible = true; - //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; - attriButeId = userIdmode.OpenMode.ToString(); - attriButeData2 = userIdmode.UserId; - modeName = userIdmode.ModeName; - }; - doorlockRow.MouseUpEventHandler += doorlockclick; - doorlockBtn.MouseUpEventHandler += doorlockclick; - doorlockSelected.MouseUpEventHandler += doorlockclick; - doorlockfra.MouseUpEventHandler += doorlockclick; - ///鏄剧ず涔嬪墠鐨勭姸鎬� - if (conditionsIndex != -1) - { - var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex]; - if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId) + var userIdmode = membershipIfon.UserIdMode[j]; + var doorlockfra = new FrameLayout { + Height = Application.GetRealHeight(160), + Y = lockRow.Bottom + Application.GetRealHeight(20 + 160 * j), + }; + lockcolorfra1.AddChidren(doorlockfra); + + var doorlockRow = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + doorlockfra.AddChidren(doorlockRow); + + var doorlockBtn = new Button + { + Width = Application.GetRealWidth(600), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, + Text = userIdmode.ModeName, + TextSize = 14, + }; + doorlockRow.AddChidren(doorlockBtn); + + var doorlockSelected = new Button + { + X = Application.GetRealWidth(860), + Width = Application.GetMinRealAverage(60), + Height = Application.GetMinRealAverage(60), + UnSelectedImagePath = "ZigeeLogic/selected.png", + Visible = false, + Gravity = Gravity.CenterVertical, + + }; + doorlockRow.AddChidren(doorlockSelected); + if ((membershipIfon.UserIdMode.Count - 1) == j) + { + doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor; + } + EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) => + { + SelectedLockStatus = "DoorLock"; selectedIcon.Visible = false; selectedIcon = doorlockSelected; doorlockSelected.Visible = true; + //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + attriButeId = userIdmode.OpenMode.ToString(); + attriButeData2 = userIdmode.UserId; + modeName = userIdmode.ModeName; + }; + doorlockRow.MouseUpEventHandler += doorlockclick; + doorlockBtn.MouseUpEventHandler += doorlockclick; + doorlockSelected.MouseUpEventHandler += doorlockclick; + doorlockfra.MouseUpEventHandler += doorlockclick; + ///鏄剧ず涔嬪墠鐨勭姸鎬� + if (conditionsIndex != -1) + { + var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex]; + if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId) + { + selectedIcon.Visible = false; + selectedIcon = doorlockSelected; + doorlockSelected.Visible = true; + } + + } + } + } + else + { + for (int j = 0; j < membershipIfon.UserIdMode.Count; j++) + { + var userIdmode = membershipIfon.UserIdMode[j]; + + var vv = new VerticalScrolViewLayout + { + Height = Application.GetRealHeight(160 * 8), + Y = lockRow.Bottom, + }; + lockcolorfra1.AddChidren(vv); + var doorlockfra = new FrameLayout + { + Height = Application.GetRealHeight(160), + Y = Application.GetRealHeight(160 * j), + }; + vv.AddChidren(doorlockfra); + + var doorlockRow = new RowLayout + { + Y = Application.GetRealHeight(30), + Width = Application.GetRealWidth(920), + Height = Application.GetRealHeight(130), + X = Application.GetRealWidth(80), + LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + }; + doorlockfra.AddChidren(doorlockRow); + + var doorlockBtn = new Button + { + Width = Application.GetRealWidth(600), + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor, + Text = userIdmode.ModeName, + TextSize = 14, + }; + doorlockRow.AddChidren(doorlockBtn); + + var doorlockSelected = new Button + { + X = Application.GetRealWidth(860), + Width = Application.GetMinRealAverage(60), + Height = Application.GetMinRealAverage(60), + UnSelectedImagePath = "ZigeeLogic/selected.png", + Visible = false, + Gravity = Gravity.CenterVertical, + + }; + doorlockRow.AddChidren(doorlockSelected); + if ((membershipIfon.UserIdMode.Count - 1) == j) + { + doorlockRow.LineColor = ZigbeeColor.Current.LogicBackgroundColor; + } + EventHandler<MouseEventArgs> doorlockclick = (sender2, e2) => + { + SelectedLockStatus = "DoorLock"; + selectedIcon.Visible = false; + selectedIcon = doorlockSelected; + doorlockSelected.Visible = true; + //doorlockBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + attriButeId = userIdmode.OpenMode.ToString(); + attriButeData2 = userIdmode.UserId; + modeName = userIdmode.ModeName; + }; + doorlockRow.MouseUpEventHandler += doorlockclick; + doorlockBtn.MouseUpEventHandler += doorlockclick; + doorlockSelected.MouseUpEventHandler += doorlockclick; + doorlockfra.MouseUpEventHandler += doorlockclick; + ///鏄剧ず涔嬪墠鐨勭姸鎬� + if (conditionsIndex != -1) + { + var s = Common.Logic.CurrentLogic.Conditions[conditionsIndex]; + if (s["AttriButeId"] == userIdmode.OpenMode.ToString() && s["AttriButeData2"] == userIdmode.UserId) + { + selectedIcon.Visible = false; + selectedIcon = doorlockSelected; + doorlockSelected.Visible = true; + } + } } } diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs index 2b0054e..e4fcfca 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs @@ -871,20 +871,24 @@ //鏈湴娌℃湁瀛樺湪; if (sceneinof == null) { - //鍦ㄧ綉鍏虫煡鎵捐鍦烘櫙; - sceneinof = await Send.GetScene(int.Parse(actions["DeviceAddr"].ToString())); - //缃戝叧娌℃湁瀛樺湪; - if (sceneinof == null) - { - - //娉ㄨВ:鏈湴鍜岀綉鍏抽兘涓嶅瓨鍦ㄨ鍦烘櫙,鐣岄潰灏嗕笉浼氭樉绀鸿鍦烘櫙; - //sceneinof = new SceneUI(); - //绉婚櫎璇ュ満鏅暟鎹�; - Common.Logic.CurrentLogic.Actions.Remove(actions); - //绉婚櫎璇ュ満鏅鍥�; - devicesFrameLayout.RemoveFromParent(); - continue; - } + //瀹炵幇鐩殑:鏄剧ず鍑烘潵璁╁彲浠ヨ嚜宸辨槸鍚﹀垹闄� + sceneinof = new SceneUI(); + #region ----- + ////鍦ㄧ綉鍏虫煡鎵捐鍦烘櫙; + ////鏍囪闂:缃戠粶璇锋眰锛屽瓨鍦ㄨ鍥惧姞杞藉揩鎱㈢殑闂锛� + //sceneinof = await Send.GetScene(int.Parse(actions["DeviceAddr"].ToString())); + ////缃戝叧娌℃湁瀛樺湪; + //if (sceneinof == null) + //{ + // //娉ㄨВ:鏈湴鍜岀綉鍏抽兘涓嶅瓨鍦ㄨ鍦烘櫙,鐣岄潰灏嗕笉浼氭樉绀鸿鍦烘櫙; + // //sceneinof = new SceneUI(); + // //绉婚櫎璇ュ満鏅暟鎹�; + // Common.Logic.CurrentLogic.Actions.Remove(actions); + // //绉婚櫎璇ュ満鏅鍥�; + // devicesFrameLayout.RemoveFromParent(); + // continue; + //} + #endregion } @@ -1005,23 +1009,11 @@ Gravity = Gravity.CenterVertical, }; pushswitchRowlayout.AddChidren(btnswitch); - btnswitch.MouseUpEventHandler += (sender1, e1) => - { - btnswitch.IsSelected = !btnswitch.IsSelected; - if (btnswitch.IsSelected) - { - - } - else - { - - } - }; - + var custompushFrameLayout = new FrameLayout { - Height = Application.GetRealHeight(160), + Height = Application.GetRealHeight(0), BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, }; middle.AddChidren(custompushFrameLayout); @@ -1072,6 +1064,31 @@ #endregion + bool tag = false;//鏍囪寮�鍏崇姸鎬�; + btnswitch.MouseUpEventHandler += (sender1, e1) => + { + btnswitch.IsSelected = !btnswitch.IsSelected; + if (btnswitch.IsSelected) + { + tag = true; + custompushFrameLayout.Height = Application.GetRealHeight(160); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } + + } + else + { + tag = false; + custompushFrameLayout.Height = Application.GetRealHeight(0); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("鍒犻櫎", "/App/DelHomeLogicConfig", "POST"); + } + + } + }; var saveFrameLayout = new FrameLayout { @@ -1101,12 +1118,12 @@ new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show(); return; } - var logicname = Common.Logic.LockLogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); - if (logicname != null) - { - new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); - return; - } + //var logicname = Common.Logic.LockLogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); + //if (logicname != null) + //{ + // new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); + // return; + //} Common.Logic.CurrentLogic.LogicName = name; @@ -1120,6 +1137,10 @@ { Common.Logic.CurrentLogic.LogicId = logicifon.LogicId; Common.Logic.LockLogicList.Add(Common.Logic.CurrentLogic); + if (tag) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } } } else diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs index 81eb56e..7c00eb6 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs @@ -154,6 +154,43 @@ public void Automationview() { middle.RemoveAll(); + + if (Common.Logic.LockLogicList.Count == 0) + { + //灏辨槸涓轰簡鏄剧ず寮曞娣诲姞鍥炬爣; + var noFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(434 + 200 + 32 + 320), + //BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + middle.AddChidren(noFrameLayout); + + + var noIconBtn = new Button + { + Y = Application.GetRealHeight(320), + Width = Application.GetMinRealAverage(756), + Height = Application.GetMinRealAverage(434), + UnSelectedImagePath = "Item/NoFunction.png", + X = Application.GetRealWidth(162), + }; + noFrameLayout.AddChidren(noIconBtn); + + var noTextBtn = new Button() + { + Y = noIconBtn.Bottom, + Height = Application.GetRealHeight(200) + Application.GetRealHeight(32), + Width = Application.GetRealWidth(700), + //Gravity = Gravity.CenterHorizontal, + Text = Language.StringByID(MyInternationalizationString.automationaddtext).Replace("{\\r\\n}", "\r\n"), + TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment = TextAlignment.Center, + IsMoreLines = true, + X = Application.GetRealWidth(190), + }; + noFrameLayout.AddChidren(noTextBtn); + + } for (int i = 0; i < Common.Logic.LockLogicList.Count; i++) { var logic = Common.Logic.LockLogicList[i]; diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs index a8167b2..8070799 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs @@ -79,12 +79,7 @@ action(); RemoveFromParent(); }; - - - #endregion - - var middle = new VerticalScrolViewLayout { @@ -93,7 +88,26 @@ BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); + var saveFrameLayout = new FrameLayout + { + Y = middle.Bottom, + Height = Application.GetRealHeight(180), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + this.AddChidren(saveFrameLayout); + var btnsave = new Button + { + X = Application.GetRealWidth(85), + Height = Application.GetRealHeight(130),//194 + Width = Application.GetRealWidth(910), + Radius = (uint)Application.GetRealHeight(60), + BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, + TextID = MyInternationalizationString.Save, + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + TextSize = 16, + }; + saveFrameLayout.AddChidren(btnsave); #region -----鑷姩鍖栧悕绉� 璁剧疆鍚嶇О----- var logicnamefl = new FrameLayout @@ -621,19 +635,19 @@ int second = int.Parse(conditions["IgnoreTime"]) % 60; if (minute != 0 && second != 0) { - devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); } else { if (minute == 0 && second != 0) { - devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); } if (minute != 0 && second == 0) { - devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1); } @@ -922,26 +936,37 @@ }; conditionsRowLayout.AddChidren(securitystatus); - if (conditions["EnOrWithdrawMode"] == "1") + switch (conditions["EnOrWithdrawMode"]) { - conditionIcon.UnSelectedImagePath = "ZigeeLogic/withdrawal.png"; - securitystatus.Text = Language.StringByID(MyInternationalizationString.withdrawal); - } - else - { - if (conditions["ModeId"] == "1") - { - conditionIcon.UnSelectedImagePath = "ZigeeLogic/athome.png"; - securitystatus.Text = Language.StringByID(MyInternationalizationString.logicathomegarrison); + case "0": + { + if (conditions["ModeId"] == "1") + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/athome.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.logicathomegarrison); - } - else - { - conditionIcon.UnSelectedImagePath = "ZigeeLogic/leavehome.png"; - securitystatus.Text = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); - - } + } + else + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/leavehome.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); + } + } + break; + case "1": + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/withdrawal.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.withdrawal); + } + break; + case "2": + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/withdrawal.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.urgentwithdrawal); + } + break; } + } break; case 7: @@ -950,7 +975,7 @@ conditionIcon.UnSelectedImagePath = "ZigeeLogic/position.png"; var btnlocation = new Button { - Width = Application.GetRealWidth(700), + Width = Application.GetRealWidth(250), TextAlignment = TextAlignment.CenterLeft, Gravity = Gravity.CenterVertical, TextColor = ZigbeeColor.Current.LogicBtnCancelColor, @@ -977,11 +1002,11 @@ var locationstatus = new Button { - Width = Application.GetRealWidth(300), + Width = Application.GetRealWidth(550), Height = Application.GetRealHeight(130), Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterRight, - X = Application.GetRealWidth(500), + X = Application.GetRealWidth(250), TextColor = ZigbeeColor.Current.LogicBtnCancelColor, TextSize = 14, }; @@ -1511,20 +1536,24 @@ //鏈湴娌℃湁瀛樺湪; if (sceneinof == null) { - //鍦ㄧ綉鍏虫煡鎵捐鍦烘櫙; - sceneinof =await Send.GetScene(int.Parse(actions["DeviceAddr"].ToString())); - //缃戝叧娌℃湁瀛樺湪; - if (sceneinof == null) - { - - //娉ㄨВ:鏈湴鍜岀綉鍏抽兘涓嶅瓨鍦ㄨ鍦烘櫙,鐣岄潰灏嗕笉浼氭樉绀鸿鍦烘櫙; - //sceneinof = new SceneUI(); - //绉婚櫎璇ュ満鏅暟鎹�; - Common.Logic.CurrentLogic.Actions.Remove(actions); - //绉婚櫎璇ュ満鏅鍥�; - devicesFrameLayout.RemoveFromParent(); - continue; - } + //瀹炵幇鐩殑:鏄剧ず鍑烘潵璁╁彲浠ヨ嚜宸辨槸鍚﹀垹闄� + sceneinof = new SceneUI(); + #region -------- + ////鍦ㄧ綉鍏虫煡鎵捐鍦烘櫙; + ////鏍囪闂:缃戠粶璇锋眰锛屽瓨鍦ㄨ鍥惧姞杞藉揩鎱㈢殑闂锛� + //sceneinof = await Send.GetScene(int.Parse(actions["DeviceAddr"].ToString())); + ////缃戝叧娌℃湁瀛樺湪; + //if (sceneinof == null) + //{ + // //娉ㄨВ:鏈湴鍜岀綉鍏抽兘涓嶅瓨鍦ㄨ鍦烘櫙,鐣岄潰灏嗕笉浼氭樉绀鸿鍦烘櫙; + // //sceneinof = new SceneUI(); + // //绉婚櫎璇ュ満鏅暟鎹�; + // Common.Logic.CurrentLogic.Actions.Remove(actions); + // //绉婚櫎璇ュ満鏅鍥�; + // devicesFrameLayout.RemoveFromParent(); + // continue; + //} + #endregion } actionsIcon.UnSelectedImagePath = "ZigeeLogic/scene.png"; @@ -1957,41 +1986,35 @@ btncustompush.MouseUpEventHandler += customclick; custompushback.MouseUpEventHandler += customclick; custompushRowLayout.MouseUpEventHandler += customclick; + bool tag = false;//鏍囪寮�鍏崇姸鎬�; btnswitch.MouseUpEventHandler += (sender1, e1) => - { - btnswitch.IsSelected = !btnswitch.IsSelected; - if (btnswitch.IsSelected) - { - custompushFrameLayout.Height = Application.GetRealHeight(160); - } - else - { - custompushFrameLayout.Height = Application.GetRealHeight(0); - } - }; + { + btnswitch.IsSelected = !btnswitch.IsSelected; + if (btnswitch.IsSelected) + { + tag = true; + custompushFrameLayout.Height = Application.GetRealHeight(160); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } + + } + else + { + tag = false; + custompushFrameLayout.Height = Application.GetRealHeight(0); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("鍒犻櫎", "/App/DelHomeLogicConfig", "POST"); + } + + } + }; #endregion - var saveFrameLayout = new FrameLayout - { - Y = middle.Bottom, - Height = Application.GetRealHeight(180), - BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, - }; - this.AddChidren(saveFrameLayout); - - var btnsave = new Button - { - X = Application.GetRealWidth(85), - Height = Application.GetRealHeight(130),//194 - Width = Application.GetRealWidth(910), - Radius = (uint)Application.GetRealHeight(60), - BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, - TextID = MyInternationalizationString.Save, - TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, - TextSize=16, - }; - saveFrameLayout.AddChidren(btnsave); + btnsave.MouseUpEventHandler += async (sender, e) => { var name = logicTextBox.Text.Trim(); @@ -2000,12 +2023,13 @@ new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show(); return; } - var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); - if (logicname != null) - { - new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); - return; - } + ///鍏堥殣钘忓垽鏂悕瀛楃浉鍚岀殑鍔熻兘锛� + //var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); + //if (logicname != null) + //{ + // new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); + // return; + //} Common.Logic.CurrentLogic.LogicName = name; bool succeed = false; @@ -2020,6 +2044,10 @@ succeed = true; Common.Logic.CurrentLogic.LogicId = logicifon.LogicId; Common.Logic.LogicList.Add(Common.Logic.CurrentLogic); + if (tag) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } } } else @@ -2579,5 +2607,9 @@ { IsBackground = true }.Start(); } + + + + } } diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs index 312084c..a322a5f 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs @@ -99,23 +99,12 @@ //鍏抽棴鍒锋柊View锛� middle.EndHeaderRefreshing(); }; - //Read(); - - CommonPage.Loading.Start(); - new System.Threading.Thread(() => - { - Application.RunOnMainThread(() => - { - Read(); - CommonPage.Loading.Hide(); - }); - }) - { IsBackground = true }.Start(); + Read(); } /// <summary> /// 璇诲彇褰撳墠闂ㄩ攣鐨勪簯绔暟鎹紱 /// </summary> - public async void Read() + public void Read() { bool d = false; @@ -130,12 +119,29 @@ } } - if (!d) - { - var allMemberslist = await Send.AllMembers(macport); - Send.LockList.AddRange(allMemberslist); - } - UserList(macport); + + CommonPage.Loading.Start(); + middle.RemoveAll(); + System.Threading.Tasks.Task.Run(async () => + { + try + { + if (!d) + { + var allMemberslist = await Send.AllMembers(macport); + Send.LockList.AddRange(allMemberslist); + } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + UserList(macport); + }); + } + }); } /// <summary> /// 鎴愬憳鍒楄〃鐨勬柟娉� @@ -143,7 +149,6 @@ /// <param name="macport"></param> public void UserList(string macport) { - middle.RemoveAll(); foreach (var user in Send.LockList) { if (user.DoorLockMacPort != macport) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs index 9c96d7a..681e0e8 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs @@ -87,6 +87,7 @@ BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, TextID = MyInternationalizationString.Save, TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + TextSize=16, }; middle.AddChidren(btnsave); diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs index 9f6f14d..93dc41f 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs @@ -5,6 +5,8 @@ using ZigBee.Common; using Shared.Common; using System.Collections.Specialized; +using System.Net; +using System.IO; namespace Shared.Phone.Device.Logic { @@ -99,8 +101,8 @@ var Logicifon = jObjectdata["Data"]; logic.LogicId = int.Parse(Logicifon["LogicId"]?.ToString()); logic.IsEnable = int.Parse(Logicifon["IsEnable"]?.ToString()); - logic.LogicName = Logicifon["LogicName"]?.ToString(); - + logic.LogicName = Logicifon["LogicName"]?.ToString(); + logic.LogicCustomPushText = Logicifon["LogicCustomPushText"].ToString(); logic.Relationship = int.Parse(Logicifon["Relationship"]?.ToString()); logic.TimeAttribute = Newtonsoft.Json.JsonConvert.DeserializeObject<TimeAttributeObj>(Logicifon["TimeAttribute"].ToString()); logic.Conditions = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Conditions"].ToString()); @@ -620,7 +622,8 @@ logic.IsEnable = int.Parse(Logicifon["IsEnable"].ToString()); logic.LogicName = Logicifon["LogicName"].ToString(); logic.LogicType = int.Parse(Logicifon["LogicType"].ToString()); - logic.Relationship = int.Parse(Logicifon["Relationship"].ToString()); + logic.Relationship = int.Parse(Logicifon["Relationship"].ToString()); + logic.LogicCustomPushText = Logicifon["LogicCustomPushText"].ToString(); logic.TimeAttribute = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.TimeAttributeObj>(Logicifon["TimeAttribute"].ToString()); logic.Conditions = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Conditions"].ToString()); logic.Accounts = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Accounts"].ToString()); @@ -708,7 +711,7 @@ }); } // <summary> - /// 閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О + /// 閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О /// </summary> /// <param name="btnregionname">Btnregionname.</param> /// <param name="device">Device.</param> @@ -1008,47 +1011,15 @@ return await WebClientAsync(2, lockifon.Url, lockifon); } - /// <summary> - /// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶 - /// </summary> - /// <param name="postValues">post鍙傛暟</param> - /// <param name="url"></param> - /// <returns></returns> - public static async System.Threading.Tasks.Task<string> WebClientAsync(int value, string url, Residential residential = null) + //鎵撳嵃NameValueCollection()鏄剧ず绱㈠紩, 閿�,鍊� + public static void PrintKeysAndValues2(NameValueCollection myCol) { - - NameValueCollection postValues = new NameValueCollection(); - - if (value == 0) + for (int i = 0; i < myCol.Count; i++) { - postValues.Add("RequestVersion", CommonPage.RequestVersion); - postValues.Add("ReqDto.LoginAccessToken", Config.Instance.Token); - postValues.Add("ReqDto.PageSetting.PageSize", Int32.MaxValue.ToString());// - + //鎵撳嵃鏄剧ず绱㈠紩, 閿�,鍊� + Console.WriteLine("[{0}]{1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i)); } - else if (value == 1) - { - postValues.Add("RequestVersion", CommonPage.RequestVersion); - postValues.Add("LoginAccessToken", Config.Instance.Token); - postValues.Add("MainAccountId", residential.MainUserDistributedMark); - postValues.Add("SharedHid", residential.Id); - } - else if (value == 2) - { - postValues.Add("RequestVersion", CommonPage.RequestVersion); - postValues.Add("LoginAccessToken", residential.Token); - postValues.Add("HomeId", residential.Id); - postValues.Add("DoorLockId", residential.doorlockmac);//闂ㄩ攣Mac+绔彛 - postValues.Add("IsOtherAccountCtrl", residential.IsOtherAccountCtrl.ToString()); - postValues.Add("PageSetting.PageSize", Int32.MaxValue.ToString()); - } - System.Net.WebClient webClient = new System.Net.WebClient(); - byte[] responseArray = webClient.UploadValues(url, postValues); - var s = System.Text.Encoding.UTF8.GetString(responseArray); - return s; - } - public class Residential { /// <summary> @@ -1157,38 +1128,166 @@ public static UserCenter.MemberInfoRes UserMemberInfoRes = null; #endregion - #region 瀛樺彇鏈湴鏂囦欢鐨勬柟娉� ---鏆傛椂涓嶇敤鍚堝苟璇ユ柟娉�--- + #region 璇锋眰鏈嶅姟鍣ㄦ柟娉�--- /// <summary> - /// 鏂囦欢淇濆瓨 + /// 璇锋眰鏁版嵁鐨勫皝瑁呮柟娉� /// </summary> - /// <param name="FileName">鏂囦欢璺緞</param> - /// <param name="obj">闇�瑕佸簭鍒楀寲鏁版嵁</param> - public static void SaveLocalFile(string FileName, object obj) - { - //鍏堝簭鍒楀寲鏁版嵁锛� - var data = Newtonsoft.Json.JsonConvert.SerializeObject(obj); - //鏁版嵁杞崲涓哄瓧鑺傛祦锛� - var byteData = System.Text.Encoding.UTF8.GetBytes(data); - //鍐欏叆鏁版嵁锛� - Shared.IO.FileUtils.WriteFileByBytes(FileName, byteData); - } - - /// <summary> - /// 鏂囦欢璇诲彇 - /// </summary> - /// <param name="FileName">鏂囦欢璺緞</param> + /// <param name="command">璇嗗埆鍛戒护鍒ゆ柇瀛楃涓�</param> + /// <param name="url">璇锋眰鍦板潃</param> + /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param> + /// <param name="obj">瀛樺偍鍙戦�佹暟鎹殑瀵硅薄</param> /// <returns></returns> - public static string ReadLocalFile(string FileName) + public static async System.Threading.Tasks.Task<string>Data(string command, string url, string method, object obj = null) { - if (System.IO.File.Exists(FileName) == false) + var getUrl = CommonPage.RequestHttpsHost + url;//璇锋眰鍦板潃锛� + var jObject = new JObject(); + if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1) { - ///鍒ゆ柇鏄惁鏈夋枃浠�; - return null; + jObject.Add("IsOtherAccountCtrl", false); } - //璇诲嚭淇濆瓨璇ヨ矾寰勭殑鏂囦欢锛� - var varByte = Shared.IO.FileUtils.ReadFile(FileName); - //瀛楄妭娴佽浆鎹负瀛楃涓诧紱 - return System.Text.Encoding.UTF8.GetString(varByte); + else + { + jObject.Add("IsOtherAccountCtrl", true); + } + switch (command) + { + case "娣诲姞/鏇存柊": + { + jObject.Add("RequestVersion", CommonPage.RequestVersion); + jObject.Add("LoginAccessToken", Config.Instance.Token); + jObject.Add("HomeId", Config.Instance.HomeId); + jObject.Add("LogicID", Common.Logic.CurrentLogic.LogicId); + jObject.Add("PushUserIds", new JArray { Config.Instance.Guid }); + jObject.Add("PushContent", Common.Logic.CurrentLogic.LogicCustomPushText); + + } + break; + case "鍒犻櫎": + { + jObject.Add("RequestVersion", CommonPage.RequestVersion); + jObject.Add("LoginAccessToken", Config.Instance.Token); + jObject.Add("HomeId", Config.Instance.HomeId); + jObject.Add("LogicID", Common.Logic.CurrentLogic.LogicId); + } + break; + } + return await HttpWebRequest(getUrl, jObject.ToString(), method); + } + /// <summary> + /// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶(鏀寔璇锋眰鏂瑰紡涓篜OST/GET) + /// </summary> + /// <param name="getUrl">璇锋眰鐨勫湴鍧�</param> + /// <param name="str">璇锋眰鏁版嵁</param> + /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param> + /// <param name="second">瓒呮椂鏃堕棿</param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<string>HttpWebRequest(string getUrl, string str, string method,int second= 3) + { + HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰 + request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET + request.ContentType = "application/json"; + request.Timeout = second * 1000;//瓒呮椂鏃堕棿 + if (method == "POST") + { + byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str); + request.ContentLength = jsonbyte.Length; + Stream postStream = request.GetRequestStream(); + postStream.Write(jsonbyte, 0, jsonbyte.Length); + postStream.Close(); + } + //鍙戦�佽姹傚苟鑾峰彇鐩稿簲鍥炲簲鏁版嵁 + HttpWebResponse res; + try + { + res = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + res = (HttpWebResponse)ex.Response; + } + StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8); + string content = sr.ReadToEnd(); //鑾峰緱鍝嶅簲瀛楃涓� + return content; + } + /// <summary> + /// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶 + /// </summary> + /// <param name="value">鍖哄垎鍙戦�佸懡浠ょ殑鏁版嵁鍒ゆ柇鍊�</param> + /// <param name="url">璇锋眰鐨勫湴鍧�</param> + /// <param name="residential">瑁呮暟鎹殑瀵硅薄</param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<string> WebClientAsync(int value, string url, Residential residential = null) + { + NameValueCollection postValues = new NameValueCollection(); + switch (value) + { + case 0: + { + postValues.Add("RequestVersion", CommonPage.RequestVersion); + postValues.Add("ReqDto.LoginAccessToken", Config.Instance.Token); + postValues.Add("ReqDto.PageSetting.PageSize", Int32.MaxValue.ToString());// + } + break; + case 1: + { + postValues.Add("RequestVersion", CommonPage.RequestVersion); + postValues.Add("LoginAccessToken", Config.Instance.Token); + postValues.Add("MainAccountId", residential.MainUserDistributedMark); + postValues.Add("SharedHid", residential.Id); + + } + break; + case 2: + { + postValues.Add("RequestVersion", CommonPage.RequestVersion); + postValues.Add("LoginAccessToken", residential.Token); + postValues.Add("HomeId", residential.Id); + postValues.Add("DoorLockId", residential.doorlockmac);//闂ㄩ攣Mac+绔彛 + postValues.Add("IsOtherAccountCtrl", residential.IsOtherAccountCtrl.ToString()); + postValues.Add("PageSetting.PageSize", Int32.MaxValue.ToString()); + } + break; + } + //PrintKeysAndValues2(postValues); + System.Net.WebClient webClient = new System.Net.WebClient(); + byte[] responseArray = webClient.UploadValues(url, postValues); + var s = System.Text.Encoding.UTF8.GetString(responseArray); + return s; + } + #endregion + + #region 瀛樺彇鏈湴鏂囦欢鐨勬柟娉� ---鏆傛椂涓嶇敤鍚堝苟璇ユ柟娉�--- + /// <summary> + /// 鏂囦欢淇濆瓨 + /// </summary> + /// <param name="FileName">鏂囦欢璺緞</param> + /// <param name="obj">闇�瑕佸簭鍒楀寲鏁版嵁</param> + public static void SaveLocalFile(string FileName, object obj) + { + //鍏堝簭鍒楀寲鏁版嵁锛� + var data = Newtonsoft.Json.JsonConvert.SerializeObject(obj); + //鏁版嵁杞崲涓哄瓧鑺傛祦锛� + var byteData = System.Text.Encoding.UTF8.GetBytes(data); + //鍐欏叆鏁版嵁锛� + Shared.IO.FileUtils.WriteFileByBytes(FileName, byteData); + } + + /// <summary> + /// 鏂囦欢璇诲彇 + /// </summary> + /// <param name="FileName">鏂囦欢璺緞</param> + /// <returns></returns> + public static string ReadLocalFile(string FileName) + { + if (System.IO.File.Exists(FileName) == false) + { + ///鍒ゆ柇鏄惁鏈夋枃浠�; + return null; + } + //璇诲嚭淇濆瓨璇ヨ矾寰勭殑鏂囦欢锛� + var varByte = Shared.IO.FileUtils.ReadFile(FileName); + //瀛楄妭娴佽浆鎹负瀛楃涓诧紱 + return System.Text.Encoding.UTF8.GetString(varByte); } #endregion } diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs index 5ee0d16..78ee519 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs @@ -109,7 +109,7 @@ Height = Application.GetRealHeight(436), X = Application.GetRealWidth(72), Y = Application.GetRealHeight(30), - UnSelectedImagePath = "ZigeeLogic/logicbj" + s + ".png", + UnSelectedImagePath = $"ZigeeLogic/logicbj{s}.png", }; logiciconfl.AddChidren(iconBtn); @@ -298,11 +298,11 @@ var addtextbtn = new Button { Height = Application.GetRealHeight(58), - Width = Application.GetRealWidth(300), + Width = Application.GetRealWidth(400), Y = Application.GetRealHeight(45 + 30), TextColor = ZigbeeColor.Current.LogicBlankBackgroundColor, - TextID = MyInternationalizationString.addconditions, - X = Application.GetRealWidth(390), + TextID = MyInternationalizationString.addsensor, + X = Application.GetRealWidth(340), TextSize = 14, }; addfl.AddChidren(addtextbtn); @@ -444,19 +444,19 @@ int second = int.Parse(conditions["IgnoreTime"]) % 60; if (minute != 0 && second != 0) { - devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); } else { if (minute == 0 && second != 0) { - devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); } if (minute != 0 && second == 0) { - devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1); } @@ -612,11 +612,11 @@ var addtextbtn = new Button { Height = Application.GetRealHeight(58), - Width = Application.GetRealWidth(300), + Width = Application.GetRealWidth(400), Y = Application.GetRealHeight(45 + 30), TextColor = ZigbeeColor.Current.LogicBlankBackgroundColor, - TextID = MyInternationalizationString.addfunction, - X = Application.GetRealWidth(390), + TextID = MyInternationalizationString.addlighting, + X = Application.GetRealWidth(340), TextSize = 14, }; addfl.AddChidren(addtextbtn); @@ -1139,23 +1139,12 @@ Gravity = Gravity.CenterVertical, }; pushswitchRowlayout.AddChidren(btnswitch); - btnswitch.MouseUpEventHandler += (sender1, e1) => - { - btnswitch.IsSelected = !btnswitch.IsSelected; - if (btnswitch.IsSelected) - { - - } - else - { - - } - }; + var custompushFrameLayout = new FrameLayout { - Height = Application.GetRealHeight(160), + Height = Application.GetRealHeight(0), BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, }; middle.AddChidren(custompushFrameLayout); @@ -1206,7 +1195,31 @@ #endregion + bool tag = false;//鏍囪寮�鍏崇姸鎬�; + btnswitch.MouseUpEventHandler += (sender1, e1) => + { + btnswitch.IsSelected = !btnswitch.IsSelected; + if (btnswitch.IsSelected) + { + tag = true; + custompushFrameLayout.Height = Application.GetRealHeight(160); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } + } + else + { + tag = false; + custompushFrameLayout.Height = Application.GetRealHeight(0); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("鍒犻櫎", "/App/DelHomeLogicConfig", "POST"); + } + + } + }; var saveFrameLayout = new FrameLayout { Y = middle.Bottom, @@ -1222,7 +1235,7 @@ Width = Application.GetRealWidth(910), Radius = (uint)Application.GetRealHeight(60), BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, - TextID = MyInternationalizationString.Save, + TextID = MyInternationalizationString.application, TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, }; saveFrameLayout.AddChidren(btnsave); @@ -1238,12 +1251,12 @@ new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show(); return; } - var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); - if (logicname != null) - { - new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); - return; - } + //var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); + //if (logicname != null) + //{ + // new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); + // return; + //} Common.Logic.CurrentLogic.LogicName = name; @@ -1257,6 +1270,10 @@ { Common.Logic.CurrentLogic.LogicId = logicifon.LogicId; Common.Logic.LogicList.Add(Common.Logic.CurrentLogic); + if (tag) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } } } else diff --git a/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs b/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs index b9dc2ad..ced7498 100755 --- a/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs +++ b/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs @@ -3,12 +3,14 @@ using System.Globalization; using Shared.Common; using Shared.Phone.Device.CommonForm; +using Shared.Phone.Device.DeviceLogic; using Shared.Phone.UserCenter; using Shared.Phone.UserView; +using ZigBee.Device; namespace Shared.Phone.Device.Room { - public class EditRoom : FrameLayout + public class EditRoom : FrameLayout, ZigBee.Common.IStatus { #region 鈼� 鍙橀噺____________________________ /// <summary> @@ -44,11 +46,143 @@ /// </summary> public int OldIconPathType; - + CommonDevice temperDevice; + + CommonDevice humidDevice; + + DeviceInfoRow temperatureRow; + + DeviceInfoRow humidityRow; + #endregion + + #region 鈼� 鎺ュ彛__________________________ + /// <summary> + /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange() + /// </summary> + /// <returns>The changed.</returns> + /// <param name="common">Common.</param> + public void Changed(CommonDevice common) + { + + } + /// <summary> + /// Changeds the IL ogic status. + /// </summary> + /// <param name="logic">Logic.</param> + public void ChangedILogicStatus(ZigBee.Device.Logic logic) + { + //throw new NotImplementedException(); + } + /// <summary> + /// Changeds the IS cene status. + /// </summary> + /// <param name="scene">Scene.</param> + public void ChangedISceneStatus(Scene scene) + { + //throw new NotImplementedException(); + } + /// <summary> + /// 璁惧鐘舵�佹洿鏂版帴鍙� + /// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para> + /// <para>type锛氬鏋滀负 IASInfoReport:RemoveDeviceRespon</para> + /// <para>type锛氬鏋滀负 DeviceStatusReport:璁惧涓婃姤</para> + /// <para>type锛氬鏋滀负 IASInfoReport:IAS瀹夐槻淇℃伅涓婃姤</para> + /// <para>type锛氬鏋滀负 OnlineStatusChange: 璁惧鍦ㄧ嚎鐘舵�佹洿鏂�</para> + /// </summary> + /// <param name="common">Common.</param> + /// <param name="typeTag">Type tag.</param> + public void DeviceInfoChange(CommonDevice common, string typeTag) + { + if (typeTag == "DeviceStatusReport") + { + Application.RunOnMainThread(() => + { + try + { + if (common.DeviceStatusReport.AttriBute == null || common.DeviceStatusReport.AttriBute.Count == 0) + { + return; + } + //鏄惁涓哄綋鍓嶈澶� + if ((temperDevice?.DeviceEpoint != common.DeviceEpoint || temperDevice?.DeviceAddr != common.DeviceAddr) && (humidDevice?.DeviceEpoint != common.DeviceEpoint || humidDevice?.DeviceAddr != common.DeviceAddr)) + { + //return; + } + + //if (common.Type == DeviceType.TemperatureSensor) + //{ + if (common.DeviceStatusReport.CluterID == 1026) + { + foreach (var data in common.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + if (data.AttriButeData == 0) + { + //0鈩� + temperatureRow.NameText.Text = "--鈩�"; + room.Temperatrue = 0; + } + else if (data.AttriButeData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (data.AttriButeData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + room.Temperatrue = int.Parse(strValue) * 0.1; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + room.Temperatrue = int.Parse(strValue) * 0.1; + } + } + } + } + else if (common.DeviceStatusReport.CluterID == 1029) + { + foreach (var data in common.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + if (data.AttriButeData == 0) + { + //0 + humidityRow.NameText.Text = "--%"; + room.Humidity = 0; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + humidityRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; + room.Humidity = int.Parse(strValue) * 0.1; + } + } + } + } + //} + } + catch (Exception ex) + { + System.Console.WriteLine($"Error:{ex.Message}"); + } + }); + } + } + #endregion + + public EditRoom() { + ZbGateway.StatusList.Add(this); BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; } @@ -72,9 +206,7 @@ public override void RemoveFromParent() { - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); - + ZbGateway.StatusList.Remove(this); CommonPage.Instance.IsDrawerLockMode = false; base.RemoveFromParent(); } @@ -188,7 +320,7 @@ }; - var temperatureRow = new DeviceInfoRow(446); + temperatureRow = new DeviceInfoRow(446); temperatureRow.Init(); temperatureRow.SetTipTitle(R.MyInternationalizationString.Temperature); temperatureRow.NameText.TextAlignment = TextAlignment.CenterRight; @@ -208,102 +340,16 @@ } room.TemperatrueDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}"; temperatureRow.SetTitle(R.MyInternationalizationString.Getting); - - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, ((report) => - { - string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); - if (room.TemperatrueDevice != mainKeys) - { - return; - } - //绉婚櫎鎺変簨浠� - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - - foreach (var data in report.DeviceStatusReport.AttriBute) - { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) - { - if (data.AttriButeData == 0) - { - //0鈩� - temperatureRow.NameText.Text = "0.0鈩�"; - room.Temperatrue = 0; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - room.Temperatrue = int.Parse(strValue) * 0.1; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - room.Temperatrue = int.Parse(strValue) *0.1; - } - } - } - })); //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 - (selectTemp as ZigBee.Device.TemperatureSensor).ReadTemperatureOrHumidity(); + ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(selectTemp); }; }; if (string.IsNullOrEmpty(room.TemperatrueDevice) == false) { temperatureRow.SetTitle(R.MyInternationalizationString.Getting); - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (Action<ZigBee.Device.CommonDevice>)((report) => - { - string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); - if (room.TemperatrueDevice != mainKeys) - { - return; - } - //绉婚櫎鎺変簨浠� - HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - - foreach (var data in report.DeviceStatusReport.AttriBute) - { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) - { - if (data.AttriButeData == 0) - { - //0鈩� - temperatureRow.NameText.Text = "0.0鈩�"; - room.Temperatrue = 0; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - room.Temperatrue = int.Parse(strValue) * 0.1; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - temperatureRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - room.Temperatrue = int.Parse(strValue) * 0.1; - } - } - } - })); //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); - if (dev != null) - { - (dev as ZigBee.Device.TemperatureSensor).ReadTemperatureOrHumidity(); - } + ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(dev); } else { @@ -311,7 +357,7 @@ } - var humidityRow = new DeviceInfoRow(585); + humidityRow = new DeviceInfoRow(585); humidityRow.Init(); humidityRow.SetTipTitle(R.MyInternationalizationString.Humidity); humidityRow.NameText.TextAlignment = TextAlignment.CenterRight; @@ -332,81 +378,16 @@ room.HumidityDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}"; humidityRow.SetTitle(R.MyInternationalizationString.Getting); - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) => - { - string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); - if (room.HumidityDevice != mainKeys) - { - return; - } - //绉婚櫎鎺変簨浠� - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); - foreach (var data in report.DeviceStatusReport.AttriBute) - { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) - { - if (data.AttriButeData == 0) - { - //0 - humidityRow.NameText.Text = "0.0%"; - room.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - humidityRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; - room.Humidity = int.Parse(strValue) * 0.1; - } - } - } - }); //鍙戦�佽幏鍙栨箍搴︾殑鍛戒护 - (selectTemp as ZigBee.Device.TemperatureSensor).ReadTemperatureOrHumidity(); + ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(selectTemp); }; }; if (string.IsNullOrEmpty(room.HumidityDevice) == false) { humidityRow.SetTitle(R.MyInternationalizationString.Getting); - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) => - { - string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); - if (room.HumidityDevice != mainKeys) - { - return; - } - //绉婚櫎鎺変簨浠� - HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); - foreach (var data in report.DeviceStatusReport.AttriBute) - { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) - { - if (data.AttriButeData == 0) - { - //0 - humidityRow.NameText.Text = "0.0%"; - room.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - humidityRow.NameText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; - room.Humidity = int.Parse(strValue) * 0.1; - } - } - } - }); //鍙戦�佽幏鍙栨箍搴︾殑鍛戒护 var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); - if (dev != null) - { - (dev as ZigBee.Device.TemperatureSensor).ReadTemperatureOrHumidity(); - } + ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(dev); } else { @@ -474,24 +455,25 @@ Height = Application.GetRealHeight(450), Width = Application.GetRealWidth(selectRow_Width), Gravity = Gravity.CenterHorizontal, - Radius = (uint)Application.GetRealHeight(17), + Radius = (uint)Application.GetRealHeight(35), BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor }; selectFL.AddChidren(itemFL); - itemFL.Animate = Animate.DownToUp; + //itemFL.Animate = Animate.DownToUp; var selectLocalPicture = new Button() { Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.LocalPicture, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize = 17 }; itemFL.AddChidren(selectLocalPicture); var selectLocalLine = new Button() { Y = selectLocalPicture.Bottom, Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCLineColor + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2 }; itemFL.AddChidren(selectLocalLine); @@ -500,14 +482,15 @@ Y = selectLocalLine.Bottom, Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.Photograph, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize = 17 }; itemFL.AddChidren(selectPhotographBtn); var selectPhotographLine = new Button() { Y = selectPhotographBtn.Bottom, Height = 1, - BackgroundColor = ZigbeeColor.Current.GXCLineColor, + BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2, }; itemFL.AddChidren(selectPhotographLine); @@ -516,7 +499,8 @@ Y = selectPhotographLine.Bottom, Height = Application.GetRealHeight(selectRow_Height) - 1, TextID = R.MyInternationalizationString.MyAblums, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + TextSize = 17 }; itemFL.AddChidren(selectAblumsBtn); @@ -529,7 +513,8 @@ TextID = R.MyInternationalizationString.Cancel, TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor, - Radius = (uint)Application.GetRealHeight(17) + Radius = (uint)Application.GetRealHeight(35), + TextSize = 17 }; selectFL.AddChidren(cancelBtn); diff --git a/ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs b/ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs index c4d180f..82a4850 100755 --- a/ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs +++ b/ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs @@ -91,7 +91,7 @@ }; bodyFrameLayout.AddChidren(verticalScrolView); - var confirm = new Device.CommonForm.CompleteButton(1700, 700, 127); + var confirm = new Device.CommonForm.CompleteButton(1700, 900, 127); confirm.SetTitle(R.MyInternationalizationString.Save); AddChidren(confirm); confirm.MouseUpEventHandler += (sender, e) => @@ -107,13 +107,24 @@ for (int i = 0; i < deviceList.Count; i++) { + var fl = new FrameLayout + { + Height = Application.GetRealHeight(127 + 20), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor + }; + verticalScrolView.AddChidren(fl); + var device = deviceList[i]; - var devRow = new DeviceInfoWithZoneRow(20 + i * (127 + 20)); - verticalScrolView.AddChidren(devRow); + var devRow = new DeviceInfoWithZoneRow(20); + fl.AddChidren(devRow); devRow.Init(); devRow.SetIcon(device.IconPath); devRow.SetName(Common.LocalDevice.Current.GetDeviceEpointName(device)); devRow.SetZone(Common.Room.CurrentRoom.GetRoomNameByDevice(device)); + if (i == deviceList.Count - 1) + { + devRow.HideLine(true); + } if (tempDevice != null && tempDevice == device) { diff --git a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs index c6f94e4..ea6ea22 100755 --- a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs +++ b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs @@ -20,10 +20,30 @@ public FrameLayout itemView; + static RoomManagement roomManagement; + public static RoomManagement Instance + { + get + { + if (roomManagement == null) + { + roomManagement = new RoomManagement { }; + } + return roomManagement; + } + } + + /// <summary> + /// 鏄惁鍙互瑙﹀彂鐐瑰嚮浜嬩欢--鏄惁鍙互璺宠浆涓婚〉鎴块棿 + /// </summary> + public bool CanClick = true; + #endregion public Action action; + + public override void RemoveFromParent() { @@ -35,6 +55,8 @@ /// </summary> public void Show() { + RemoveAll(); + AddTop(); AddBodyView(Config.Instance.Home.CurrentFloorId); @@ -150,9 +172,20 @@ var room = roomList[i]; var roomView = new RoomMainView(xx, yy); itemView.AddChidren(roomView); - roomView.Init(); + roomView.Init(this,room); roomView.SetRoomName(room.Name); - roomView.SetRoomIcon(room.BackgroundImage); + roomView.SetRoomIcon(room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage)); + roomView.ClickBtn.MouseUpEventHandler += (sender, e) => + { + if (CanClick == false) + { + return; + } + CommonPage.Instance.CloseLeftMenu(); + Common.Room.CurrentRoom = room; + Config.Instance.Home.CurrentFloorId = room.FloorId; + UserPage.Instance.Fresh(); + }; } else { @@ -172,9 +205,10 @@ /// <summary> /// 鎴块棿绠$悊鐣岄潰 /// </summary> - void RoomPage() + public RoomManagement() { BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; + roomManagement = this; } /// <summary> @@ -184,6 +218,10 @@ /// <param name="mouseEventArgs"></param> private void ShowUnallocatedRoom_MouseUpEvent(object sender,MouseEventArgs mouseEventArgs) { + if(CanClick==false) + { + return; + } var unalloctedRoom = new UnallocatedRoom(); AddChidren(unalloctedRoom); unalloctedRoom.Show(); diff --git a/ZigbeeApp/Shared/Phone/Device/Room/RoomTemperatureSetting.cs b/ZigbeeApp/Shared/Phone/Device/Room/RoomTemperatureSetting.cs index 4691908..d47fa9d 100755 --- a/ZigbeeApp/Shared/Phone/Device/Room/RoomTemperatureSetting.cs +++ b/ZigbeeApp/Shared/Phone/Device/Room/RoomTemperatureSetting.cs @@ -104,15 +104,25 @@ var deviceList = GetTemperatrueDevices(); for (int i = 0; i < deviceList.Count; i++) { + var fl = new FrameLayout + { + Height = Application.GetRealHeight(127 + 20), + BackgroundColor=ZigbeeColor.Current.GXCBackgroundColor + }; + verticalScrolView.AddChidren(fl); var device = deviceList[i]; - var devRow = new DeviceInfoWithZoneRow(20 + i * (127 + 20)); - verticalScrolView.AddChidren(devRow); + var devRow = new DeviceInfoWithZoneRow(20); + fl.AddChidren(devRow); devRow.Init(); devRow.SetIcon(device.IconPath); devRow.SetName(Common.LocalDevice.Current.GetDeviceEpointName(device)); devRow.SetZone(Common.Room.CurrentRoom.GetRoomNameByDevice(device)); + if (i == deviceList.Count - 1) + { + devRow.HideLine(true); + } - if(tempDevice!=null && tempDevice==device) + if (tempDevice!=null && tempDevice==device) { tempDeviceRow = devRow; tempDevice = device; diff --git a/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs b/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs index 6346226..5ddbd8b 100755 --- a/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs +++ b/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs @@ -15,15 +15,13 @@ /// bodyFrameLayout /// </summary> private FrameLayout bodyFrameLayout; - - private Button addBtn; + /// <summary> + /// top + /// </summary> + private TopFrameLayout top; + private Button selectAllBtn; private FrameLayout itemView; - /// <summary> - /// editStatus - /// </summary> - private bool SelectAll; - /// <summary> /// low_High /// </summary> @@ -119,9 +117,13 @@ sceneList = Shared.Common.Room.CurrentRoom.GetUnalloctedScenes(); typeDeviceDic.Clear(); typeIdDic.Clear(); + if (devList == null) + { + return; + } foreach (var device in devList) { - var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice }); + var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice); if (typeDeviceDic.ContainsKey(info.BeloneTextId) == false) { var sameDevList = new List<DeviceUI> { }; @@ -152,7 +154,7 @@ /// </summary> public void AddTop() { - var top = new TopFrameLayout(); + top = new TopFrameLayout(); AddChidren(top); top.InitTopview(); top.SetTopTitle(R.MyInternationalizationString.Unallocated); @@ -160,21 +162,6 @@ { RemoveFromParent(); }; - - addBtn = new Button() - { - X = Application.GetRealWidth(1080-150-80), - Width = Application.GetRealWidth(150), - Height = Application.GetRealHeight(80), - Gravity = Gravity.CenterVertical, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = CommonFormResouce.TopTitle_TextSize, - TextAlignment = TextAlignment.CenterRight, - TextID = R.MyInternationalizationString.AllSelect - }; - top.topView.AddChidren(addBtn); - - addBtn.MouseUpEventHandler += Edit_MouseUpEventHandler; } /// <summary> @@ -254,35 +241,6 @@ RefreshBodyView(); } - /// <summary> - /// 缂栬緫 - /// </summary> - /// <param name="sender"></param> - /// <param name="mouseEventArgs"></param> - private void Edit_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs) - { - SelectAll = !SelectAll; - if (SelectAll) - { - addBtn.TextID = R.MyInternationalizationString.Cancel; - } - else - { - addBtn.TextID = R.MyInternationalizationString.AllSelect; - } - - if (functionBtn.IsSelected) - { - functionSceneBodyView.RemoveAll(); - ShowFunction(SelectAll); - } - else if (sceneBtn.IsSelected) - { - functionSceneBodyView.RemoveAll(); - ShowScene(SelectAll); - } - } - #endregion #region 鈼� 鍒锋柊____________________________ @@ -292,14 +250,14 @@ public void RefreshBodyView() { functionSceneBodyView.RemoveAll(); - SelectAll = false; + if (functionBtn.IsSelected) { - ShowFunction(SelectAll); + ShowFunction(); } else if (sceneBtn.IsSelected) { - ShowScene(SelectAll); + ShowScene(); } } @@ -309,9 +267,8 @@ /// <summary> /// 鍔熻兘 /// </summary> - public void ShowFunction(bool selectAll) + public void ShowFunction() { - SelectAll = selectAll; if (typeIdDic.Count == 0) { ShowNoFunctionTip(); @@ -377,7 +334,7 @@ }; string imgPath=string.Empty; string imgSeletedPath=string.Empty; - Common.LocalDevice.Current.GetDeviceBeloneIcon(deviceType.Value, ref imgPath ,ref imgSeletedPath); + Common.LocalDevice.Current.GetDeviceObjectIcon(deviceType.Value, ref imgPath ,ref imgSeletedPath); functionTypeIMG.Init(imgPath,imgSeletedPath); functionTypeIMG.SetTitle(deviceType.Key); typeRowLayout.AddChidren(functionTypeIMG); @@ -389,6 +346,7 @@ ShowSameTypeFunction(functionTypeIMG.ImageBtn, null); } } + } } @@ -399,7 +357,6 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void ShowSameTypeFunction(object typeSender, MouseEventArgs mouseEventArgs) { - //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙� tempFunctionTypeBtn.IsSelected = false; tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton; ((typeSender as Button).Parent as FunctionButton).IsSelected = true; @@ -410,10 +367,6 @@ var selectedList = new List<DeviceUI> { }; sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())]; - if (SelectAll) - { - selectedList.AddRange(sameTypeList); - } foreach (var deviceUI in sameTypeList) { var deviceTypeRowLayout = new FrameLayout() @@ -426,7 +379,6 @@ var deviceRow = new SelectFunctionView(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.IsSelected = SelectAll; deviceTypeRowLayout.AddChidren(deviceRow); EventHandler<MouseEventArgs> eventHandler = (sender, e) => @@ -448,44 +400,96 @@ } }; deviceRow.ClickBtn.MouseUpEventHandler += eventHandler; - - var addBackground = new Button - { - Y = Application.GetRealHeight(1405), - Width = Application.GetMinRealAverage(1080), - Height = Application.GetMinRealAverage(202), - UnSelectedImagePath = "Room/AddBackground.png" - }; - functionSceneBodyView.AddChidren(addBackground); - var add = new Button - { - Y = Application.GetRealHeight(1428), - Width = Application.GetRealWidth(1034), - Height = Application.GetRealHeight(156), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, - Radius = (uint)Application.GetRealHeight(35), - TextID = R.MyInternationalizationString.AddTo, - Gravity = Gravity.CenterHorizontal, - TextSize=17 - }; - functionSceneBodyView.AddChidren(add); - add.MouseUpEventHandler += (sender, e) => - { - var selectZone = new SelectZone(); - AddChidren(selectZone); - selectZone.Init(); - selectZone.ZoneAction = (r) => - { - foreach (var d in selectedList) - { - r.AddDevice(d.CommonDevice,true); - deviceListScrolView.RemoveViewByTag(d); - } - RefreshData(); - }; - }; } + + selectAllBtn?.RemoveFromParent(); + selectAllBtn = new Button() + { + X = Application.GetRealWidth(1080 - 150 - 80), + Width = Application.GetRealWidth(150), + Height = Application.GetRealHeight(80), + Gravity = Gravity.CenterVertical, + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize = CommonFormResouce.TopTitle_TextSize, + TextAlignment = TextAlignment.CenterRight, + TextID = R.MyInternationalizationString.AllSelect + }; + top.topView.AddChidren(selectAllBtn); + selectAllBtn.MouseUpEventHandler += (sender, e) => + { + try + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + for (int i = 0; i < deviceListScrolView.ChildrenCount; i++) + { + var frame = deviceListScrolView.GetChildren(i) as FrameLayout; + (frame.GetChildren(0) as SelectFunctionView).IsSelected = (sender as Button).IsSelected; + } + if ((sender as Button).IsSelected) + { + (sender as Button).TextID = R.MyInternationalizationString.Cancel; + selectedList.Clear(); + selectedList.AddRange(sameTypeList); + } + else + { + (sender as Button).TextID = R.MyInternationalizationString.AllSelect; + selectedList.Clear(); + } + } + catch + { + + } + }; + + var addBackground = new Button + { + Y = Application.GetRealHeight(1405), + Width = Application.GetMinRealAverage(1080), + Height = Application.GetMinRealAverage(202), + UnSelectedImagePath = "Room/AddBackground.png" + }; + functionSceneBodyView.AddChidren(addBackground); + var add = new Button + { + Y = Application.GetRealHeight(1428), + Width = Application.GetRealWidth(1034), + Height = Application.GetRealHeight(156), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + Radius = (uint)Application.GetRealHeight(35), + TextID = R.MyInternationalizationString.AddTo, + Gravity = Gravity.CenterHorizontal, + TextSize = 17 + }; + functionSceneBodyView.AddChidren(add); + add.MouseUpEventHandler += (sender, e) => + { + var selectZone = new SelectZone(); + AddChidren(selectZone); + selectZone.Init(); + selectZone.ZoneAction = (r) => + { + foreach (var d in selectedList) + { + r.AddDevice(d.CommonDevice, true); + deviceListScrolView.RemoveViewByTag(d); + } + + if (sameTypeList.Count == selectedList.Count) + { + RefreshData(); + RefreshBodyView(); + } + else + { + RefreshData(); + sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())]; + } + }; + }; } /// <summary> @@ -524,7 +528,7 @@ /// <summary> /// 閫夋嫨鍦烘櫙--鎵�鏈夋埧闂寸殑鎵�鏈夊満鏅� /// </summary> - public void ShowScene(bool selectAll) + public void ShowScene() { List<SceneUI> selectedList = new List<SceneUI>(); if (sceneList == null || sceneList.Count == 0) @@ -533,10 +537,6 @@ } else { - if (selectAll) - { - selectedList.AddRange(sceneList); - } var sceneScrolView = new VerticalScrolViewLayout { Y = Application.GetRealHeight(22), @@ -575,7 +575,6 @@ Height = Application.GetMinRealAverage(60), UnSelectedImagePath = "Room/ItemUnSelected.png", SelectedImagePath = "Room/ItemSelected.png", - IsSelected = selectAll }; sceneFL.AddChidren(selectedBtn); @@ -633,6 +632,48 @@ sceneImg.MouseUpEventHandler += eventHandler; } + selectAllBtn?.RemoveFromParent(); + selectAllBtn = new Button() + { + X = Application.GetRealWidth(1080 - 150 - 80), + Width = Application.GetRealWidth(150), + Height = Application.GetRealHeight(80), + Gravity = Gravity.CenterVertical, + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextSize = CommonFormResouce.TopTitle_TextSize, + TextAlignment = TextAlignment.CenterRight, + TextID = R.MyInternationalizationString.AllSelect + }; + top.topView.AddChidren(selectAllBtn); + selectAllBtn.MouseUpEventHandler += (sender, e) => + { + try + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + for (int i = 0; i < sceneScrolView.ChildrenCount; i++) + { + var frame = sceneScrolView.GetChildren(i) as FrameLayout; + (frame.GetChildren(1) as Button).IsSelected = (sender as Button).IsSelected; + } + + if ((sender as Button).IsSelected) + { + (sender as Button).TextID = R.MyInternationalizationString.Cancel; + selectedList.AddRange(sceneList); + } + else + { + (sender as Button).TextID = R.MyInternationalizationString.AllSelect; + selectedList.Clear(); + } + } + catch + { + + } + }; + var addBackground = new Button { Y = Application.GetRealHeight(1405), diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs index e4fbd08..53ad764 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs @@ -585,6 +585,27 @@ dic["DistributedMarkNoRecord"] = R.MyInternationalizationString.uAccountNoExists; //鏉冮檺涓嶈冻 dic["BeRestrict"] = R.MyInternationalizationString.uBeRestrict; + + //鑾峰彇娑堟伅涓績鏁版嵁 + keys = "MessageCenter/GetMessageCenterPagger"; + dicMsg[keys] = new Dictionary<string, int>(); + dic = dicMsg[keys]; + //鎸囧畾鐨勪綇瀹呬笉瀛樺湪 + dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord; + + //鏍囪娑堟伅涓哄凡璇绘垨鏈 + keys = "MessageCenter/TagMessageMessageCenterItem"; + dicMsg[keys] = new Dictionary<string, int>(); + dic = dicMsg[keys]; + //鎸囧畾鐨勪綇瀹呬笉瀛樺湪 + dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord; + + //鍒犻櫎娑堟伅 + keys = "MessageCenter/DelMessageCenterItem"; + dicMsg[keys] = new Dictionary<string, int>(); + dic = dicMsg[keys]; + //鎸囧畾鐨勪綇瀹呬笉瀛樺湪 + dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord; } /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs index 468de53..3c21f62 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs @@ -799,7 +799,7 @@ /// <summary> /// Page /// </summary> - public int Page = 0; + public int Page = 1; /// <summary> /// PageSize /// </summary> @@ -1065,6 +1065,81 @@ #region 鈻� 娑堟伅绠$悊绫籣_________________________ /// <summary> + /// 鑾峰彇娑堟伅璁板綍鐨勮姹傚弬鏁� + /// </summary> + public class MessageInfoPra : IfacePraCommon + { + /// <summary> + /// RequestVersion + /// </summary> + public string RequestVersion = Common.CommonPage.RequestVersion; + /// <summary> + /// LoginAccessToken + /// </summary> + public string LoginAccessToken = Common.Config.Instance.Token; + /// <summary> + /// ZigbeeHomeId + /// </summary> + public string HomeId = Common.Config.Instance.Home.Id; + /// <summary> + /// 涓婚 + /// </summary> + public string Topic = null; + /// <summary> + /// 寮�濮嬫椂闂� + /// </summary> + public string BeginTime = null; + /// <summary> + /// 缁撴潫鏃堕棿 + /// </summary> + public string EndTime = null; + /// <summary> + /// 椤垫暟 + /// </summary> + public PageSettingInfo PageSetting = new PageSettingInfo(); + + public MessageInfoPra() + { + PageSetting.PageSize = 10; + } + } + + /// <summary> + /// 娑堟伅涓績鐨勭粨鏋滆繑鍥炲�� + /// </summary> + public class MessageCentetInfo + { + /// <summary> + /// 鍒楄〃鏁版嵁 + /// </summary> + public List<MessageRecordInfo> PageData = null; + /// <summary> + /// PageIndex + /// </summary> + public int PageIndex = 0; + /// <summary> + /// PageSize + /// </summary> + public int PageSize = 0; + /// <summary> + /// TotalCount + /// </summary> + public int TotalCount = 0; + /// <summary> + /// TotalPages + /// </summary> + public int TotalPages = 0; + /// <summary> + /// HasPreviousPage + /// </summary> + public bool HasPreviousPage = false; + /// <summary> + /// HasNextPage + /// </summary> + public bool HasNextPage = false; + } + + /// <summary> /// 淇℃伅缁撴灉 /// </summary> public class MessageRecordInfo @@ -1074,26 +1149,62 @@ /// </summary> public string Id = string.Empty; /// <summary> - /// 鎴戜篃涓嶇煡閬撹繖涓槸浠�涔堥 + /// 涓婚 /// </summary> - public string RegId = string.Empty; + public string Topic = string.Empty; /// <summary> - /// 娑堟伅鍐呭 + /// 缃戝叧涓婃姤鐨刯son /// </summary> - public string MsgContent = string.Empty; - /// <summary> - /// MsgType - /// </summary> - public string MsgType = string.Empty; + public string PayloadJson = string.Empty; /// <summary> /// 鏄惁宸茶 /// </summary> - public int IsRead = 0; + public bool IsReading = false; /// <summary> /// 鏃堕棿 2019-09-10T13:11:55 /// </summary> - public string MsgTime = string.Empty; + public string CreatedOnUtc = string.Empty; + /// <summary> + /// 鍥剧墖鍦板潃 + /// </summary> + public string IconPath = string.Empty; + /// <summary> + /// 娑堟伅绫诲瀷 + /// </summary> + public string MsgObjectText = string.Empty; + /// <summary> + /// 娑堟伅鏂囨湰 + /// </summary> + public string MsgText = string.Empty; } + + /// <summary> + /// 璁剧疆娑堟伅宸茶鐘舵�佺殑鍚姩鍙傛暟 + /// </summary> + public class MessageReadStatuPra : IfacePraCommon + { + /// <summary> + /// RequestVersion + /// </summary> + public string RequestVersion = Common.CommonPage.RequestVersion; + /// <summary> + /// LoginAccessToken + /// </summary> + public string LoginAccessToken = Common.Config.Instance.Token; + /// <summary> + /// ZigbeeHomeId + /// </summary> + public string HomeId = Common.Config.Instance.Home.Id; + /// <summary> + /// ID + /// </summary> + public string Id = string.Empty; + /// <summary> + /// 宸茶鐘舵�� + /// </summary> + public bool IsReading = true; + } + #endregion #region 鈻� 闅愬尶鍔熻兘绫籣_________________________ diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs index 7c86b24..52af78a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs @@ -235,38 +235,19 @@ } /// <summary> - /// 鏍规嵁鏂囨湰,璁$畻瀹冨疄闄呯殑瀹藉害(杩斿洖鐨勬槸鐪熷疄鍊�) + /// 鏍规嵁鏂囨湰,璁$畻瀹冨疄闄呯殑瀹藉害 /// </summary> - /// <param name="textSize">瀛椾綋澶у皬,鐪佺暐鏃朵娇鐢ㄥ綋鍓嶆帶浠剁殑瀛椾綋澶у皬</param> - /// <param name="i_text">闇�瑕佽绠楃殑鏂囨湰淇℃伅,鐪佺暐鏃朵娇鐢ㄥ綋鍓嶆帶浠剁殑鏂囨湰</param> /// <returns></returns> - public int GetRealWidthByText(float textSize, string i_text = null) + public int GetRealWidthByText() { - if (i_text == null) - { - i_text = this.Text; - } - if (textSize == -1) - { - textSize = this.TextSize; - } - - int byteLength = 0; - for (int i = 0; i < i_text.Length; i++) - { - byteLength += Encoding.UTF8.GetBytes(i_text[i].ToString()).Length; - //int length = Encoding.UTF8.GetBytes(i_text[i].ToString()).Length; - //if (length == 1) - //{ - // //鑻辨枃 - // byteLength += length; - // continue; - //} - ////涓枃(鏆傛椂鐢ㄤ腑鏂囧搴�) - //byteLength += Encoding.GetEncoding("gb2312").GetBytes(i_text[i].ToString()).Length; - } - int realWidth = byteLength * (int)textSize; - return Application.GetRealWidth(realWidth + 20); +#if Android + //闇�瑕佸鍔犱竴涓宸�� + return this.GetTextWidth() + Application.GetRealWidth(12); +#endif +#if iOS + //闇�瑕佸鍔犱竴涓宸�� + return this.GetTextWidth() + Application.GetRealWidth(25); +#endif } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs index da3d79b..22daafb 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs @@ -43,13 +43,14 @@ public void InitControl() { var btnTemp = new NormalViewControl(10, 10, false); + btnTemp.TextSize = 16; btnTemp.TextID = R.MyInternationalizationString.uScence; //鍦烘櫙妗�(鐐瑰嚮鑼冨洿鏈夌偣灏忥紝闇�瑕佹墿澶у畠鐨勭偣鍑昏寖鍥�) var frameScene = new FrameLayoutControl(); frameScene.UseClickStatu = false; frameScene.Height = Application.GetRealHeight(90); - frameScene.Width = btnTemp.GetRealWidthByText(16); + frameScene.Width = btnTemp.GetRealWidthByText(); frameScene.X = ControlCommonResourse.XXLeft; this.AddChidren(frameScene); //鍦烘櫙 @@ -72,7 +73,7 @@ var frameFunc = new FrameLayoutControl(); frameFunc.UseClickStatu = false; frameFunc.Height = Application.GetRealHeight(90); - frameFunc.Width = btnTemp.GetRealWidthByText(16); + frameFunc.Width = btnTemp.GetRealWidthByText(); frameFunc.X = frameScene.Right + Application.GetRealWidth(58); this.AddChidren(frameFunc); //鍔熻兘 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs index b1caac1..88d8da6 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs @@ -40,20 +40,30 @@ /// 鍋氭垚涓�涓瓨鍦ㄤ簬鍙充笂瑙掔殑鑿滃崟鎺т欢 /// </summary> /// <param name="i_RowCount">涓�鍏辨湁鍑犺(涓嶅惈鏍囬)</param> - /// <param name="i_width">杩欎釜鑿滃崟鏈夊瀹�</param> + /// <param name="i_widthType">杩欎釜鑿滃崟鐨勫搴︽ā寮�,鐩墠鍙敮鎸� + /// <para>1: 395瀹藉害</para> + /// <para>2: 449瀹藉害</para> + /// </param> /// <param name="titleText">鏍囬鏂囨湰(濡傛灉涓嶄负绌�,鑿滃崟妯″紡鍙樻洿涓烘嫢鏈夋爣棰樼殑妯″紡)</param> - public TopRightMenuControl(int i_RowCount, int i_width = 395, string titleText = null) + public TopRightMenuControl(int i_RowCount, int i_widthType, string titleText = null) { this.RowCount = i_RowCount; - this.RowWidth = i_width; + if (i_widthType == 1) + { + this.RowWidth = 395; + } + else if (i_widthType == 2) + { + this.RowWidth = 449; + } //鍒濆鍖栫敾闈㈢殑鎺т欢 - this.InitFormControl(titleText); + this.InitFormControl(titleText, i_widthType); } /// <summary> /// 鍒濆鍖栫敾闈㈢殑鎺т欢 /// </summary> - private void InitFormControl(string titleText) + private void InitFormControl(string titleText, int i_widthType) { this.BackgroundColor = UserCenterColor.Current.DialogBackColor; this.MouseUpEventHandler += (sender2, e2) => @@ -71,22 +81,24 @@ //鑿滃崟+1 rowCount++; } - //妗屽竷 + //鑳屾櫙 + var frameBack = new FrameLayout(); + frameBack.X = Application.GetRealWidth(662 - (RowWidth - 395)); + frameBack.Y = Application.GetRealHeight(161); + frameBack.Width = Application.GetRealWidth(RowWidth); + frameBack.Height = Application.GetRealHeight(RowHeight * rowCount + 16); + frameBack.BackgroundImagePath = "MenuGroud/TopRightMenu" + i_widthType + "_" + rowCount + ".png"; + this.AddChidren(frameBack); + var frameTable = new FrameLayout(); - frameTable.X = Application.GetRealWidth(662 - (RowWidth - 395)); - frameTable.Y = Application.GetRealHeight(158 + 15 + 1); - frameTable.Width = Application.GetRealWidth(RowWidth); - frameTable.Height = Application.GetRealHeight(RowHeight * rowCount); - frameTable.BackgroundColor = UserCenterColor.Current.White; - frameTable.BorderColor = UserCenterColor.Current.Transparent; - frameTable.Radius = (uint)Application.GetRealHeight(17); - this.AddChidren(frameTable); + frameTable.Y = Application.GetRealHeight(16); + frameBack.AddChidren(frameTable); if (titleText != null) { - var btnTitle = new NormalViewControl(frameTable.Width - Application.GetRealWidth(81), Application.GetRealHeight(58), false); + var btnTitle = new NormalViewControl(frameBack.Width - Application.GetRealWidth(81), Application.GetRealHeight(58), false); btnTitle.X = Application.GetRealWidth(81); - btnTitle.Y = Application.GetRealHeight(58); + btnTitle.Y = Application.GetRealHeight(58 + 16); btnTitle.Text = titleText; frameTable.AddChidren(btnTitle); } @@ -106,13 +118,6 @@ } listView.Radius = (uint)Application.GetRealHeight(17); frameTable.AddChidren(listView); - - //涓夎褰㈠浘鏍� - var btnTriangle = new PicViewControl(31, 15); - btnTriangle.X = Application.GetRealWidth(980); - btnTriangle.Y = Application.GetRealHeight(159); - btnTriangle.UnSelectedImagePath = "Item/UpperTriangle.png"; - this.AddChidren(btnTriangle); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs index 1fb8732..1352422 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs @@ -58,7 +58,7 @@ //璁惧鍥炬爣 btnIcon = new NormalViewControl(Application.GetMinRealAverage(121), Application.GetMinRealAverage(121), false); btnIcon.Gravity = Gravity.Center; - Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac)); + Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac)); this.AddChidren(btnIcon); } @@ -95,7 +95,7 @@ if (this.deviceMac != null) { //鍒锋柊鍥炬爣 - Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac)); + Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac)); } else { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceObjectControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceObjectControl.cs index e4095fa..850137d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceObjectControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceObjectControl.cs @@ -76,7 +76,7 @@ var listDevice = Common.LocalDevice.Current.GetDevicesByMac(this.deviceMac); //鍥炬爣 btnIcon = frameTable.AddLeftIcon(81); - Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, listDevice); + Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, listDevice); //璁惧 string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listDevice[0]); @@ -128,7 +128,7 @@ var listDevice = Common.LocalDevice.Current.GetDevicesByMac(this.deviceMac); //鍥炬爣 - Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, listDevice); + Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, listDevice); //璁惧 btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceMacName(listDevice[0]); //璁惧鎴块棿 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs index ebaab67..dbf5e20 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs @@ -43,7 +43,7 @@ /// <summary> /// 鏄剧ずIP鎺т欢 /// </summary> - private NormalViewControl btnIp = null; + public NormalViewControl btnIp = null; /// <summary> /// 鍦ㄧ嚎鐘舵�� diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameRowControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameRowControl.cs index 717582e..fc04e27 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameRowControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameRowControl.cs @@ -192,7 +192,7 @@ var btnRight = new IconViewControl(58); btnRight.Gravity = Gravity.CenterVertical; btnRight.X =this.Width - btnRight.IconSize - ControlCommonResourse.XXLeft + RightOffset; - btnRight.UnSelectedImagePath = "Item/Next.png"; + btnRight.UnSelectedImagePath = "Item/RightNext.png"; this.AddChidren(btnRight, ChidrenBindMode.BindEventOnly); if (chidrenYaxis != 0) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameRefreshControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameRefreshControl.cs index 8554310..42583b1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameRefreshControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameRefreshControl.cs @@ -65,7 +65,7 @@ #region 鈻� 娣诲姞瀛愭帶浠禵________________________ /// <summary> - /// 娣诲姞Frame瀛愭帶浠� + /// 娣诲姞Frame瀛愭帶浠�(姝ゆ柟娉曟槸鏀瑰彉Y杞�) /// </summary> /// <param name="view"></param> public void AddChidrenFrame(FrameLayout frame) @@ -83,6 +83,58 @@ if (this.m_frameTable.Height < frame.Bottom) { this.m_frameTable.Height = frame.Bottom; + } + } + + /// <summary> + /// 娣诲姞Frame瀛愭帶浠�(姝ゆ柟娉曟槸鏀瑰彉楂樺害) + /// </summary> + /// <param name="view"></param> + public void AddChidrenFrame2(FrameLayout frame) + { + //鍒濆鍖栨甯冩帶浠� + this.InitFrameTable(); + + var child = this.m_frameTable.GetChildren(this.m_frameTable.ChildrenCount - 1); + if (child != null) + { + frame.Y = child.Bottom; + } + this.m_frameTable.AddChidren(frame); + if (rowSpace > 0) + { + frame.Height += rowSpace; + } + //璋冩暣妗屽竷楂樺害 + if (this.m_frameTable.Height < frame.Bottom) + { + this.m_frameTable.Height = frame.Bottom; + } + } + + /// <summary> + /// 娣诲姞Frame瀛愭帶浠�(姝ゆ柟娉曟槸鏀瑰彉楂樺害) + /// </summary> + /// <param name="row"></param> + public void AddChidrenRow(RowLayout row) + { + //鍒濆鍖栨甯冩帶浠� + this.InitFrameTable(); + + var child = this.m_frameTable.GetChildren(this.m_frameTable.ChildrenCount - 1); + if (child != null) + { + row.Y = child.Bottom; + } + this.m_frameTable.AddChidren(row); + if (rowSpace > 0) + { + row.Height += rowSpace; + } + //璋冩暣妗屽竷楂樺害 + if (this.m_frameTable.Height < row.Bottom) + { + this.m_frameTable.Height = row.Bottom; } } @@ -111,13 +163,14 @@ /// <summary> /// 璋冩暣妗屽竷楂樺害 /// </summary> - public void AdjustTableHeight() + /// <param name="buttomSpace">搴曢儴绌虹櫧闂磋窛(鐪熷疄鍊�)</param> + public void AdjustTableHeight(int buttomSpace = 0) { var child = this.m_frameTable?.GetChildren(this.m_frameTable.ChildrenCount - 1); if (child != null) { //璋冩暣妗屽竷楂樺害 - this.m_frameTable.Height = child.Bottom; + this.m_frameTable.Height = child.Bottom + buttomSpace; //if (this.m_frameTable.Height < child.Bottom) //{ // this.m_frameTable.Height = child.Bottom; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs index 381530e..fd3c277 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MessageManagementControl.cs @@ -55,8 +55,11 @@ HdlThreadLogic.Current.RunThread(async () => { string nowHomeId = Common.Config.Instance.Home.Id; - var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetPushMessageRecord", false, "", new List<string>() { "NotSetAgain" }); - if (result == null) + var pra = new MessageInfoPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + + var result = await UserCenterLogic.GetResponseDataByRequestHttps("MessageCenter/GetMessageCenterPagger", false, pra, new List<string>() { "NotSetAgain", "NotCheck" }); + if (string.IsNullOrEmpty(result) == true) { //鍑洪敊锛岄渶瑕侀噸鏂拌鍙� ControlCommonResourse.ReadMessageAgain = true; @@ -67,14 +70,12 @@ //妫�娴嬶細鍒囨崲浜嗕綇瀹咃紵锛� return; } - var strdata = System.Text.Encoding.UTF8.GetString(result); - var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(strdata); - var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MessageRecordInfo>>(revertObj.ResponseData.ToString()); - - for (int i = 0; i < dataInfo.Count; i++) + var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageCentetInfo>(result); + for (int i = 0; i < dataInfo.PageData.Count; i++) { - if (dataInfo[i].IsRead == 0) + if (dataInfo.PageData[i].IsReading == false) { + ControlCommonResourse.HadNewMessage = true; Application.RunOnMainThread(() => { //鏈夋柊娑堟伅 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs index 7e1e04b..a5b41d9 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs @@ -360,5 +360,6 @@ } #endregion + } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/EditorCommonForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/EditorCommonForm.cs index ceff92c..1308333 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/EditorCommonForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/EditorCommonForm.cs @@ -260,7 +260,7 @@ btnHelp.Text = Language.StringByID(R.MyInternationalizationString.uSearchHelp); bodyFrameLayout.AddChidren(btnHelp); //搴曠嚎 - int lineWidth = btnHelp.GetRealWidthByText(12); + int lineWidth = btnHelp.GetRealWidthByText(); var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; btnLine.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlACZbGatewayUpdateLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlACZbGatewayUpdateLogic.cs index d137ebb..96f45ff 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlACZbGatewayUpdateLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlACZbGatewayUpdateLogic.cs @@ -312,6 +312,8 @@ int startIndex = 0; int allDataLength = this.deviceFirmwareByte.Length; int timeOut = 0; + //鏄惁鎺ユ敹鍒版垚鍔熷懡浠� + bool receiveSuccess = false; //鎺ユ敹缃戝叧鐨勯�忎紶鏁版嵁 bool hadReceive = true; @@ -338,14 +340,26 @@ //璁剧疆杩涘害鍊� this.SetProgressValue(startIndex, allDataLength); } + else if (command == "025e") + { + //鎴愬姛 璁剧疆杩涘害鍊肩洿鎺�100% + this.SetProgressValue(allDataLength, allDataLength); + receiveSuccess = true; + timeOut = 0; + } } catch { } }; this.zbGateway.ReportAction += receiveAction; //鏈�鍚庝竴娆¢渶瑕佺瓑寰呭洖澶嶇粨鏋滄墠寰�涓嬭蛋 - while (startIndex < allDataLength || hadReceive == false) + while (startIndex < allDataLength) { + if (receiveSuccess == true) + { + //宸茬粡鎺ユ敹鍒版垚鍔熺殑鍛戒护 + break; + } if (hadReceive == false) { timeOut++; @@ -365,6 +379,13 @@ continue; } hadReceive = false; + //鍥犱负鍋忕Щ閲忔槸楂樹綅鍦ㄥ墠锛屾墍浠ュ�掕繃鏉� + string Myoffset = string.Empty; + for (int i = 6; i >= 0; i = i - 2) + { + Myoffset += i_offset.Substring(i, 2); + } + startIndex = Convert.ToInt32(Myoffset, 16) - i_dataLength; //鑾峰彇涓�娆¤兘澶熷彂閫佺殑byte var listData = new List<byte>(); @@ -373,8 +394,6 @@ listData.Add(this.deviceFirmwareByte[startIndex]); if (listData.Count == i_dataLength) { - //寰�涓嬩竴浣嶆帹绉� - startIndex++; break; } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs index 202c3c0..ead7ba5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs @@ -509,7 +509,7 @@ /// </summary> /// <param name="jobject"></param> /// <returns></returns> - private DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject) + public DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject) { var info = (DoorLockAlarmsResult)JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString()); var alarmInfo = new DeviceAlarmInfo(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs index d8c8cb4..3849745 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs @@ -329,7 +329,7 @@ #region 鈻� 鍚屾鏁版嵁___________________________ /// <summary> - /// 鍚屾浜戠鏁版嵁(浠呴檺APP鍚姩涔嬪悗) -1锛氬紓甯� 0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝� 1锛氭甯稿悓姝� + /// 鍚屾浜戠鏁版嵁(浠呴檺APP鍚姩涔嬪悗) -1锛氬紓甯� 0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝� 1锛氭甯稿悓姝� 2:娌℃湁鑷姩澶囦唤鏁版嵁 /// </summary> /// <returns></returns> public static async Task<int> SynchronizeDbAutoBackupData() @@ -368,7 +368,7 @@ //鍒涘缓涓�涓┖鏂囦欢(鏍囪瘑宸茬粡瀹屾垚鍚屾) var file = System.IO.File.Create(checkFile); file.Close(); - return 1; + return 2; } //鑷姩澶囦唤鍙湁涓�涓� string backId = data[0].Id; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs index cd143e4..32ae141 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs @@ -67,10 +67,10 @@ #endregion - #region 鈻� 鑾峰彇鐏厜閰嶇疆_______________________ + #region 鈻� 鑾峰彇閰嶇疆淇℃伅_______________________ /// <summary> - /// 鑾峰彇PIR浼犳劅鍣ㄧ殑銆愮伅鍏夐厤缃�戯紝閿欒鏃惰繑鍥瀗ull + /// 鑾峰彇PIR浼犳劅鍣ㄧ殑銆愰厤缃俊鎭�戯紝閿欒鏃惰繑鍥瀗ull /// </summary> /// <param name="iASZone"></param> /// <returns></returns> @@ -79,8 +79,8 @@ var data = await iASZone.GetPIRSensorParamateAsync(); if (data == null || data.configureParamates == null) { - //鑾峰彇浼犳劅鍣ㄧ伅鍏夎缃俊鎭け璐� - string msg = Language.StringByID(R.MyInternationalizationString.uGetPirSensorLightSettionFail); + //鑾峰彇浼犳劅鍣ㄨ缃俊鎭け璐� + string msg = Language.StringByID(R.MyInternationalizationString.uGetPirSensorSettionFail); //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, data); @@ -92,21 +92,21 @@ #endregion - #region 鈻� 璁剧疆鐏厜閰嶇疆_______________________ + #region 鈻� 璁剧疆閰嶇疆淇℃伅_______________________ /// <summary> - /// 璁剧疆PIR浼犳劅鍣ㄧ殑銆愮伅鍏夐厤缃�� + /// 璁剧疆PIR浼犳劅鍣ㄧ殑銆愰厤缃俊鎭�� /// </summary> /// <param name="iASZone">浼犳劅鍣ㄥ璞�</param> /// <param name="configure">鐏厜閰嶇疆</param> /// <returns></returns> - public async Task<bool> SetPirSensorLightSettion(IASZone iASZone, IASZone.ConfigureParamates configure) + public async Task<bool> SetPirSensorSettion(IASZone iASZone, IASZone.ConfigureParamates configure) { var result = await iASZone.SetPIRSensorParamateAsync(configure); if (result == null || result.responseData == null) { - //璁剧疆浼犳劅鍣ㄧ伅鍏夐厤缃け璐� - string msg = Language.StringByID(R.MyInternationalizationString.uSetPirSensorLightSettionFail); + //璁剧疆浼犳劅鍣ㄩ厤缃俊鎭け璐� + string msg = Language.StringByID(R.MyInternationalizationString.uSetPirSensorSettionFail); //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result); @@ -115,8 +115,8 @@ } if (result.responseData.status != 0) { - //璁剧疆浼犳劅鍣ㄧ伅鍏夐厤缃け璐� - string msg = Language.StringByID(R.MyInternationalizationString.uSetPirSensorLightSettionFail); + //璁剧疆浼犳劅鍣ㄩ厤缃俊鎭け璐� + string msg = Language.StringByID(R.MyInternationalizationString.uSetPirSensorSettionFail); this.ShowErrorMsg(msg); return false; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs index d6127f8..cc5bdf5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs @@ -308,6 +308,8 @@ this.ShowErrorMsg(msg); return false; } + System.Threading.Thread.Sleep(1000); + return success; } @@ -686,6 +688,9 @@ } if (gatewatAction == true) { + //璁剧疆杩涘害鍊�:100% + ProgressFormBar.Current.SetValue(1, 1); + System.Threading.Thread.Sleep(1000); //缃戝叧鏁版嵁鎭㈠鎴愬姛! string msg = Language.StringByID(R.MyInternationalizationString.uRestoreGatewayDataSuccess); this.ShowTipMsg(msg); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index 7f97c6a..0222f38 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -2546,7 +2546,7 @@ else if (backType == GatewayBackupEnum.APir鐏厜閰嶇疆) { var recoverData = Newtonsoft.Json.JsonConvert.DeserializeObject<IASZone.ConfigureParamates>(System.Text.Encoding.UTF8.GetString(byteData)); - result = await HdlDevicePirSensorLogic.Current.SetPirSensorLightSettion((IASZone)device, recoverData); + result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion((IASZone)device, recoverData); } else if (backType == GatewayBackupEnum.A骞叉帴鐐归鑹茶皟鑺�) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs index 04af707..76b7605 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs @@ -93,6 +93,23 @@ }); return; } + else if (topic == "/ZigbeeGateWayToClient/" + Common.Config.Instance.Guid + "/Push/Deleted" + || topic == "/ZigbeeGateWayToClient/" + Common.Config.Instance.Guid + "/Push/DeletedShareData") + { + if (UserCenterResourse.UserInfo.AuthorityNo == 3) + { + HdlThreadLogic.Current.RunMain(() => + { + //鍒嗕韩鏁版嵁宸茬粡鍙樻洿,璇烽噸鏂扮櫥闄� + string msg = Language.StringByID(R.MyInternationalizationString.uShardDataIsChangedPleaseLoginAgain); + var contr = new ShowMsgControl(ShowMsgType.Tip, msg); + contr.Show(); + + UserCenterLogic.ReLoginAgain(UserCenterResourse.UserInfo.Account, false); + }); + } + return; + } try { if (HdlGatewayLogic.Current.IsGatewayExist(gatewayId) == false) @@ -238,7 +255,7 @@ return; } var tempDevice = new CommonDevice() { DeviceAddr = receiveData.Value<string>("DeviceAddr"), DeviceEpoint = receiveData.Value<int>("Epoint") }; - tempDevice.IsOnline = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(receiveData["Data"]["IsOnline"].ToString()); + tempDevice.IsOnline = Convert.ToInt32(receiveData["Data"]["IsOnline"].ToString()); this.DeviceReportPush(tempDevice, ReceiveComandDiv.A璁惧鍦ㄧ嚎涓婃姤); } @@ -401,6 +418,8 @@ #endregion + + #region 鈻� 娣诲姞璁惧浜嬩欢_______________________ /// <summary> @@ -501,19 +520,16 @@ //鏈夊彲鑳藉湪鍥炶皟鍑芥暟涓Щ闄や簡浜嬩欢锛屽鑷存姤閿欙紝鎵�浠ュ厛鏀堕泦锛屽啀璋冪敤 foreach (var action in list) { - Application.RunOnMainThread(() => + try { - try - { - action?.Invoke(common); - } - catch (Exception ex) - { - //Log鍑哄姏 - string msg = "鎺ㄩ�侀敊璇�! 褰撳墠婵�娲荤殑鐣岄潰[" + UserCenterResourse.NowActionFormID + "]"; - HdlLogLogic.Current.WriteLog(ex, msg); - } - }); + action?.Invoke(common); + } + catch (Exception ex) + { + //Log鍑哄姏 + string msg = "鎺ㄩ�侀敊璇�! 褰撳墠婵�娲荤殑鐣岄潰[" + UserCenterResourse.NowActionFormID + "]"; + HdlLogLogic.Current.WriteLog(ex, msg); + } } } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs index 337b878..d12c860 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs @@ -888,6 +888,8 @@ //寮�鍚嚜鍔ㄥ浠芥彁绀� HdlAutoBackupLogic.ShowAutoBackupPromptedForm(); } + //鏄剧ず寮曞鐣岄潰 + ShowGuideForm(result); } //APP缂撳瓨鍔犺浇瀹屾垚 UserCenterResourse.Option.AppCanSignout = true; @@ -1182,6 +1184,36 @@ #endregion + #region 鈻� 寮曞鐣岄潰___________________________ + + /// <summary> + /// 鏄剧ず寮曞鐣岄潰 + /// </summary> + /// <param name="result">鍚屾缁撴灉 -1锛氬紓甯� 0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝� 1锛氭甯稿悓姝� 2:娌℃湁鑷姩澶囦唤鏁版嵁</param> + private static void ShowGuideForm(int result) + { + var checkFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, DirNameResourse.GuideFile); + if (System.IO.File.Exists(checkFile) == true) + { + //涓嶉渶瑕佹樉绀� + return; + } + if (result == 2 && Config.Instance.Home.IsOthreShare == false) + { + HdlThreadLogic.Current.RunMain(() => + { + var form = new Guide.GuideMainForm(); + form.ShowFrom(); + }); + } + + //鍒涘缓涓�涓┖鏂囦欢(鏍囪瘑宸茬粡瀹屾垚寮曞) + var file = System.IO.File.Create(checkFile); + file.Close(); + } + + #endregion + #region 鈻� 16杩涘埗杞寲_________________________ /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs index 9ef0dc2..22c1a1d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs @@ -118,13 +118,17 @@ /// 淇濆瓨鎰忚鍙嶉娆℃暟鐨勩�愭枃浠躲�� /// </summary> public const string SuggestionFile = "f782709778b751ef2b3840f17e407ead"; + /// <summary> + /// 妫�娴嬪紩瀵肩殑銆愭枃浠躲�� + /// </summary> + public const string GuideFile = "cad1afb384fb482de753fc37ebe84f9e"; /// <summary> - /// 鏄剧ず鍔熻兘鑿滃崟鐨勩�愭爣璇嗘枃浠躲�� + /// 鏄剧ず鍔熻兘鑿滃崟鐨勩�愭爣璇嗘枃浠躲��,涓嶅姞瀵� /// </summary> public const string ShowOptionMenuFile = "ShowOptionMenuFile"; /// <summary> - /// 璇︾粏Log澶勭悊鐨勩�愭爣璇嗘枃浠躲�� + /// 璇︾粏Log澶勭悊鐨勩�愭爣璇嗘枃浠躲��,涓嶅姞瀵� /// </summary> public const string DetailedLogFile = "DetailedLogFile"; /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs index bdfa99d..6b7a615 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs @@ -253,27 +253,30 @@ var data = device.DeviceStatusReport.AttriBute[i]; if (data.AttributeId == 0) { - //瀹ゅ唴娓╁害 - if (data.AttriButeData == 0) + HdlThreadLogic.Current.RunMain(() => { - //0鈩� - rowInfo.btnValue.Text = "0.0鈩�"; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - } + //瀹ゅ唴娓╁害 + if (data.AttriButeData == 0) + { + //0鈩� + rowInfo.btnValue.Text = "0.0鈩�"; + } + else if (data.AttriButeData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (data.AttriButeData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + } + }); } else if (data.AttributeId == 28) { @@ -281,9 +284,12 @@ //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8 if (data.AttriButeData != 0) { - rowInfo.btnSwitch.IsSelected = true; - rowInfo.btnIcon.IsSelected = true; - rowInfo.btnIconBack.BackgroundColor = 0xfffef1ed; + HdlThreadLogic.Current.RunMain(() => + { + rowInfo.btnSwitch.IsSelected = true; + rowInfo.btnIcon.IsSelected = true; + rowInfo.btnIconBack.BackgroundColor = 0xfffef1ed; + }); } } else if (data.AttributeId == 4097) @@ -291,9 +297,12 @@ //42:闇�瑕佹竻娲楁护缃� if (data.AttriButeData == 42) { - rowInfo.btnWarningIcon.Visible = true; - //璇锋敞鎰忔竻娲楁护缃戝摝 - rowInfo.btnWarningMsg.TextID = R.MyInternationalizationString.uPleaseClreanACfilter; + HdlThreadLogic.Current.RunMain(() => + { + rowInfo.btnWarningIcon.Visible = true; + //璇锋敞鎰忔竻娲楁护缃戝摝 + rowInfo.btnWarningMsg.TextID = R.MyInternationalizationString.uPleaseClreanACfilter; + }); } } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitSettionForm.cs index 38478e0..02a4ad2 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitSettionForm.cs @@ -180,7 +180,7 @@ /// </summary> private void ShowTopRightMenu() { - var frame = new TopRightMenuControl(1); + var frame = new TopRightMenuControl(1, 1); //瀹氫綅 var deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition); frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs index 80a3619..f411abf 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs @@ -90,7 +90,8 @@ X = Application.GetRealWidth(15), Text = Language.StringByID(R.MyInternationalizationString.FirstFloor), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextSize = 15, + TextSize = 14, + IsBold = true, TextAlignment = TextAlignment.CenterRight, }; btnAddFrameLayout.AddChidren(btnFloorText); @@ -169,6 +170,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 16, + IsBold = true, }; bottomFrameLayout.AddChidren(btnChooseKeyMode); #endregion @@ -571,6 +573,7 @@ TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, Tag = device.CommonDevice?.DeviceEpointName, + TextSize = 15, }; rowLayout.AddChidren(btnBindName); @@ -597,7 +600,7 @@ }; rowLayout.AddChidren(line2); - if (curIndex == curRoom.DeviceUIList.Count - 1) + if (curIndex == curTypeDeviceList.Count) { line2.Visible = false; } @@ -703,7 +706,7 @@ Height = Application.GetRealHeight(58), X = Application.GetRealWidth(81), Y = Application.GetRealHeight(81), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 14, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.SelectFloor, @@ -735,7 +738,7 @@ Height = Application.GetRealHeight(81), Y = Application.GetRealHeight(55), UnSelectedImagePath = "Floor/Floor.png", - SelectedImagePath = "Floor/FloorSelected.png", + SelectedImagePath = "Floor/FloorSelected.png", }; rowFrameLayout.AddChidren(btnAllMethod); @@ -755,6 +758,7 @@ if (currentKey.currentSelectFloorId == floorId) { btnAllMethod.IsSelected = true; + btnAllMethod.IsBold = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; } @@ -783,6 +787,7 @@ oldbuttonText = btnMethodText; btnMethodText.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + oldbuttonText.IsBold = true; } //鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂� diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs index 2d29c23..194554c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs @@ -26,9 +26,10 @@ /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> - public AddScenePage(ZigBee.Device.Panel key) + public AddScenePage(ZigBee.Device.Panel key, List<ScenesListInfo> gwScenesList) { this.currentKey = key; + gwCurScenesList = gwScenesList; } #region 鈼� 鍙橀噺鐢虫槑__________________________ @@ -46,6 +47,7 @@ Button btnFloorText; Dictionary<string, string> dicFloor;//妤煎眰鍒楄〃 List<SceneUI> currentKeyAllRoomSceneList = new List<SceneUI>(); + public List<ScenesListInfo> gwCurScenesList = new List<ScenesListInfo>();//缃戝叧涓殑鍦烘櫙鍒楄〃 #endregion /// <summary> @@ -76,7 +78,8 @@ X = Application.GetRealWidth(15), Text = Language.StringByID(R.MyInternationalizationString.FirstFloor), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextSize = 15, + TextSize = 14, + IsBold =true, TextAlignment = TextAlignment.CenterRight, }; btnAddFrameLayout.AddChidren(btnFloorText); @@ -143,6 +146,7 @@ TextID = R.MyInternationalizationString.Save, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, + IsBold =true, TextSize = 16, }; bottomFrameLayout.AddChidren(btnFinifh); @@ -558,7 +562,14 @@ } Button oldScene = null; int curIndex = 0; - foreach (var scene in curRoom.SceneUIList) + var currentSceneUIList = GetMatchSceneUIList(curRoom); + if (currentSceneUIList.Count == 0) + { + btnFinifh.Enable = false; + btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + return; + } + foreach (var scene in currentSceneUIList) { #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級 var rowLayout = new FrameLayout() @@ -584,6 +595,7 @@ X = devicePic.Right + Application.GetRealWidth(20), TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, + TextSize =15, }; rowLayout.AddChidren(btnBindName); @@ -741,8 +753,9 @@ Height = Application.GetRealHeight(58), X = Application.GetRealWidth(81), Y = Application.GetRealHeight(81), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 14, + IsBold = true, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.SelectFloor, }; @@ -793,6 +806,7 @@ if (currentKey.currentSelectFloorId == floorId) { btnAllMethod.IsSelected = true; + btnAllMethod.IsBold = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; } @@ -820,6 +834,7 @@ oldbuttonText = btnMethodText; btnMethodText.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + oldbuttonText.IsBold = true; } //鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂� @@ -887,6 +902,20 @@ } return currentKeyAllRoomSceneList; } + //鑾峰彇缃戝叧涓瓨鍦ㄧ殑鏈湴鍦烘櫙鍒楄〃 + List<SceneUI> GetMatchSceneUIList(Shared.Common.Room curRoom) + { + var tempSceneUIList = new List<SceneUI>(); + foreach (var scene in curRoom.SceneUIList) + { + var gwSc = gwCurScenesList.Find(obj => (obj.ScenesId == scene.Id)); + if (gwSc != null) + { + tempSceneUIList.Add(scene); + } + } + return tempSceneUIList; + } public void DeviceInfoChange(CommonDevice common, string typeTag) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs index 3e41259..8f3c6f0 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -34,8 +34,7 @@ #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.Panel currentKey;//褰撳墠鎸夐敭瀵硅薄 - VerticalRefreshLayout midVerticalRefreshLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew - FrameLayout topFrameLayout;//鏄剧ず褰撳墠妯″紡view + VerticalFrameRefreshControl midVerticalRefreshLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew int currentClusterID = 0;//鎸夐敭褰撳墠绨嘔D Button entryStatusPic; Button btnPicTip; @@ -44,7 +43,9 @@ private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();//鏈湴璁惧鍒楄〃 private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };//鏈湴鍦烘櫙鍒楄〃 FrameLayout blankFrameLayout;//绌烘暟鎹樉绀哄竷灞� - List<int> typeModeList; + List<int> typeModeList;//鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑妯″紡澶х被鍨� + public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>();//缃戝叧涓殑鍦烘櫙鍒楄〃 + #endregion //鍒濆鍖栨寜閿暟鎹� @@ -66,7 +67,21 @@ } //鑾峰彇鏈湴鍦烘櫙鍒楄〃 scList = Shared.Common.Room.AllRoomSceneUIList; + //鑾峰彇缃戝叧鍦烘櫙琛� + var gwSceneObj = await currentKey.GetSceneInfoAsync(); + if (gwSceneObj != null && gwSceneObj.getSceneInfo != null) + { + gwScenesList = gwSceneObj.getSceneInfo.ScenesList; + } + else + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } #region 璇诲彇闈㈡澘褰撳墠妯″紡 //璇诲彇鎸夐敭褰撳墠妯″紡 var tempDeata = await currentKey.ReadPanelConfigureInfoAsync(); @@ -190,7 +205,7 @@ public void Show() { #region TopFrameLayout - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.AddBindTargets)); + this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.PanelBindTargets)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { RemoveFromParent(); @@ -224,7 +239,7 @@ { currentClusterID = 6; currentKey.panelMode = 1; - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); + var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addScenePage.Show(); @@ -303,7 +318,7 @@ /// </summary> void middleFrameLayout() { - midVerticalRefreshLayout = new VerticalRefreshLayout() + midVerticalRefreshLayout = new VerticalFrameRefreshControl(29) { }; this.midFrameLayout.AddChidren(midVerticalRefreshLayout); @@ -313,12 +328,6 @@ InitListInfo(); midVerticalRefreshLayout.EndHeaderRefreshing(); }; - topFrameLayout = new FrameLayout - { - Height = Application.GetMinRealAverage(0), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - midVerticalRefreshLayout.AddChidren(topFrameLayout); BlankPicUI(); } @@ -349,6 +358,7 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.CenterHorizontal, Visible = false, + TextSize =12, }; blankFrameLayout.AddChidren(btnPicTip); } @@ -360,13 +370,6 @@ midVerticalRefreshLayout.RemoveAll(); this.midFrameLayout.RemoveAll(); middleFrameLayout(); - var frameLayoutRow = new FrameLayout() - { - Height = Application.GetMinRealAverage(0), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - midVerticalRefreshLayout.AddChidren(frameLayoutRow); - #region 鏁版嵁澶勭悊 if (currentKey.bindList.Count == 0) { @@ -387,12 +390,10 @@ blankFrameLayout.Height = Application.GetRealHeight(0); if (currentKey.panelMode == 1) { - topFrameLayout.Height = Application.GetRealHeight(0); midVerticalRefreshLayout.Y = Application.GetRealHeight(0); } else { - topFrameLayout.Height = Application.GetRealHeight(150); BindModeDisplay(); } int curIndex = 0; @@ -403,61 +404,17 @@ SceneUI curSceneUI = null; bool isExistScene = false; - var rowLayout = new RowLayout() - { - Height = Application.GetRealHeight(150), - X = Application.GetRealWidth(58), - Y = curIndex * Application.GetRealHeight(150), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - frameLayoutRow.AddChidren(rowLayout); - - #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級 - var devicePic = new Button() - { - Y = Application.GetRealHeight(35), - Width = Application.GetMinRealAverage(81), - Height = Application.GetMinRealAverage(81), - }; - rowLayout.AddChidren(devicePic); - - var btnBindName = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(173 - 58), - Y = Application.GetRealHeight(20), - TextSize = 14, - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - }; - rowLayout.AddChidren(btnBindName); - - var btnFloorRoomName = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(49), - X = Application.GetRealWidth(173 - 58), - Y = Application.GetRealHeight(81), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 14, - TextAlignment = TextAlignment.CenterLeft, - }; - rowLayout.AddChidren(btnFloorRoomName); - - var btnDel = new Button() - { - TextColor = Shared.Common.ZigbeeColor.Current.GXCTextWhiteColor, - Width = Application.GetRealWidth(184), - TextID = R.MyInternationalizationString.DelBindDevice, - BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout, - }; - rowLayout.AddRightView(btnDel); - #endregion + var rowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); + rowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; + midVerticalRefreshLayout.AddChidrenRow(rowLayout); + rowLayout.frameTable.UseClickStatu = false; + var devicePic = rowLayout.frameTable.AddLeftIcon(); + devicePic.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; #region 缁戝畾鏁版嵁澶勭悊 int currentIndex = i; + var btnBindNameText = ""; + var btnFloorRoomNameText = ""; if (currentIndex == currentKey.bindList.Count - 1) { rowLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite; @@ -477,19 +434,19 @@ { if (string.IsNullOrEmpty(bindDevice.ESName)) { - btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString(); + btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString(); } else { - btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName; + btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName; } } else { - btnBindName.Text = curSceneUI.Name; + btnBindNameText = curSceneUI.Name; if (curSceneUI.GetZone() != null) { - btnFloorRoomName.Text = curSceneUI.GetZone(); + btnFloorRoomNameText = curSceneUI.GetZone(); } } } @@ -513,11 +470,11 @@ var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId); if (string.IsNullOrEmpty(tempDevFloorName)) { - btnFloorRoomName.Text = tempDevRoomName; + btnFloorRoomNameText = tempDevRoomName; } else { - btnFloorRoomName.Text = tempDevFloorName + "," + tempDevRoomName; + btnFloorRoomNameText = tempDevFloorName + "," + tempDevRoomName; } } var deviceUi = Common.LocalDevice.Current.GetDeviceUI(tempDev); @@ -529,16 +486,16 @@ } if (tempDev.DeviceEpointName == "") { - btnBindName.Text = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit); + btnBindNameText = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit); } else { - btnBindName.Text = tempDev.DeviceEpointName; + btnBindNameText = tempDev.DeviceEpointName; } } else { - btnBindName.Text = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint; + btnBindNameText = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint; devicePic.Width = Application.GetMinRealAverage(200); devicePic.TextAlignment = TextAlignment.CenterLeft; devicePic.TextColor = UserCenterColor.Current.Gray; @@ -547,14 +504,17 @@ } } - //鍒犻櫎浜嬩欢澶勭悊 - btnDel.MouseUpEventHandler += async (sender, e) => + var btnBindName = rowLayout.frameTable.AddTopView(btnBindNameText, 800); + var btnFloorRoomName = rowLayout.frameTable.AddBottomView(btnFloorRoomNameText, 800); + rowLayout.frameTable.AddBottomLine(); + var btnDel = rowLayout.AddDeleteControl(); + btnDel.ButtonClickEvent += async (sender, e) => { RemoveTargets(bindDevice, btnDel); }; #endregion } - frameLayoutRow.Height = currentKey.bindList.Count * Application.GetRealHeight(150); + midVerticalRefreshLayout.AdjustTableHeight(Application.GetRealHeight(23)); } #endregion } @@ -564,164 +524,153 @@ /// </summary> public void BindModeDisplay() { - #region modeRowLayout - var modeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(150), - X = Application.GetRealWidth(58), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - topFrameLayout.AddChidren(modeRowLayout); - - var btnKeyMode = new Button - { - Y = Application.GetRealHeight(63), - Width = Application.GetMinRealAverage(294), - Height = Application.GetMinRealAverage(58), - Text = Language.StringByID(R.MyInternationalizationString.keyMode), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - }; - modeRowLayout.AddChidren(btnKeyMode); - - var btnKeyModeTip = new Button - { - X = Application.GetRealWidth(374 - 58), - Y = Application.GetRealHeight(63), - Width = Application.GetMinRealAverage(615), - Height = Application.GetMinRealAverage(58), - TextAlignment = TextAlignment.CenterRight, - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - }; - modeRowLayout.AddChidren(btnKeyModeTip); - - var btnDel = new Button() - { - Width = Application.GetMinRealAverage(184), - TextColor = Shared.Common.ZigbeeColor.Current.GXCTextWhiteColor, - TextID = R.MyInternationalizationString.DelBindDevice, - BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout, - }; - modeRowLayout.AddRightView(btnDel); - #endregion - + var modeRowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); + modeRowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; + midVerticalRefreshLayout.AddChidrenRow(modeRowLayout); + modeRowLayout.frameTable.UseClickStatu = false; + modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 500); + var btnKeyModeTipText = ""; #region 褰撳墠妯″紡鏂囨湰鏄剧ず switch (currentKey.panelMode) { case 100: - btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOn; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOn); break; case 101: - btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffoFF; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffoFF); break; case 102: - btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOnOff; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOnOff); break; case 200: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode1; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode1); break; case 201: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode2; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode2); break; case 203: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode3; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode3); break; case 204: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode4; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode4); break; case 205: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode5; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode5); break; case 300: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUp; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUp); break; case 301: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDown; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDown); break; case 302: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdStop; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdStop); break; case 303: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUpStop; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUpStop); break; case 304: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDownStop; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDownStop); break; } #endregion - + modeRowLayout.frameTable.AddMostRightView(btnKeyModeTipText, 500); + modeRowLayout.frameTable.AddBottomLine(); + var btnDel = modeRowLayout.AddDeleteControl(); //涓�閿竻闄ゆ寜閿簨浠� - btnDel.MouseUpEventHandler += async (sender, e) => + btnDel.ButtonClickEvent += async (sender, e) => { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureClearKeyModeAndTargets), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - - alert.ResultEventHandler += async (s1, e1) => + var dialog2 = new Dialog { }; + var doorDialog2 = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog2, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog2.Show(); + doorDialog2.dialogMidFraFrameLayout.Width = Application.GetRealWidth(674); + doorDialog2.dialogMidFraFrameLayout.Height = Application.GetRealHeight(115); + doorDialog2.dialogMidFraFrameLayout.X = Application.GetRealWidth(60); + doorDialog2.dialogMidFraFrameLayout.Y = Application.GetRealHeight(167); + doorDialog2.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + var midText1 = new Button() { - if (e1) + Width = Application.GetRealWidth(674), + Height = Application.GetRealHeight(115 / 2), + TextSize = 14, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextAlignment = TextAlignment.Center, + TextID = R.MyInternationalizationString.ClearAllTargeta1, + }; + doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1); + var midText2 = new Button() + { + Width = Application.GetRealWidth(674), + Height = Application.GetRealHeight(115 / 2), + Y = Application.GetRealHeight(115 / 2), + TextSize = 14, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextAlignment = TextAlignment.Center, + TextID = R.MyInternationalizationString.ClearAllTargeta2, + }; + doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2); + + doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) => + { + dialog2.Close(); + }; + doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) => + { + bool isDelSuccess = false; + try { - bool isDelSuccess = false; - try + CommonPage.Loading.Start(""); + var bindResult = await currentKey.ClearBindInfoAsync(); + if (bindResult != null && bindResult.clearBindInfoResponseData != null) { - CommonPage.Loading.Start(""); - var bindResult = await currentKey.ClearBindInfoAsync(); - if (bindResult != null && bindResult.clearBindInfoResponseData != null) + if (bindResult.clearBindInfoResponseData.Result != 0) { - if (bindResult.clearBindInfoResponseData.Result != 0) + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel); + CommonPage.Loading.Hide(); + return; + } + else + { + var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); + if (temp.setWritableValueResponData?.Status != 0) { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel); - CommonPage.Loading.Hide(); - return; - } - else - { - var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); - if (temp.setWritableValueResponData?.Status != 0) + var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); + if (temp1.setWritableValueResponData?.Status != 0) { - var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); - if (temp1.setWritableValueResponData?.Status != 0) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - else - { - isDelSuccess = true; - } + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); } else { isDelSuccess = true; } } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + else + { + isDelSuccess = true; + } } } - catch { } - finally + else { - if (isDelSuccess) - { - currentKey.panelMode = 65535; - currentKey.bindList.Clear(); - RefreshList(); - //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� - currentKey.RoomId = ""; - currentKey.ReSave(); - } - CommonPage.Loading.Hide(); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); } } - else + catch { } + finally { - + if (isDelSuccess) + { + currentKey.panelMode = 65535; + currentKey.bindList.Clear(); + RefreshList(); + //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� + currentKey.RoomId = ""; + currentKey.ReSave(); + } + CommonPage.Loading.Hide(); } + dialog2.Close(); }; - }; } @@ -800,6 +749,7 @@ Y = Application.GetRealHeight(69), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, + IsBold = false, TextAlignment = TextAlignment.CenterLeft, }; rowView.AddChidren(btnMethodText); @@ -814,27 +764,37 @@ }; rowView.AddChidren(line2); + if (string.IsNullOrEmpty(currentKey.currentKeySelectModeText) && value == 1) + { + btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; + oldbuttonText = btnMethodText; + } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && value == 1) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } - #endregion + #endregion #region 鏁版嵁澶勭悊 switch (value) @@ -857,21 +817,25 @@ if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && value == 1) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } #endregion @@ -896,47 +860,54 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - - alert.ResultEventHandler += async (s1, e1) => + var dialog1 = new Dialog { }; + var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog.Show(); + doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => { - if (e1) + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + dialog1.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => + { + var result = await RemoveTargets(bindSc, line2); + if (result == 0) { - var result = await RemoveTargets(bindSc, line2); - if (result == 0) - { - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addScenePage.Show(); + var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addScenePage.Show(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addScenePage.action += action; - dialog.Close(); - } - else + Action<List<BindListResponseObj>> action = (obj) => { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addScenePage.action += action; + dialog.Close(); + dialog1.Close(); } else { currentKey.currentKeySelectModeText = oldKeySelectModeText; dialog.Close(); + dialog1.Close(); } }; + } } else { - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); + var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addScenePage.Show(); @@ -957,40 +928,46 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - - alert.ResultEventHandler += async (s1, e1) => + var dialog1 = new Dialog { }; + var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog.Show(); + doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => { - if (e1) + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + dialog1.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => + { + var result = await RemoveTargets(bindSc, line2); + if (result == 0) { - var result = await RemoveTargets(bindSc, line2); - if (result == 0) - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addDevicePage.Show(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } - else + Action<List<BindListResponseObj>> action = (obj) => { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); + dialog1.Close(); } else { currentKey.currentKeySelectModeText = oldKeySelectModeText; dialog.Close(); + dialog1.Close(); } }; } @@ -1018,41 +995,48 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain2), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - - alert.ResultEventHandler += async (s1, e1) => + var dialog1 = new Dialog { }; + var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog.Show(); + doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain2); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => { - if (e1) + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + dialog1.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => + { + var result = await RemoveTargets(bindSc, line2); + if (result == 0) { - var result = await RemoveTargets(bindSc, line2); - if (result == 0) - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addDevicePage.Show(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } - else + Action<List<BindListResponseObj>> action = (obj) => { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); + dialog1.Close(); } else { currentKey.currentKeySelectModeText = oldKeySelectModeText; dialog.Close(); + dialog1.Close(); } + }; } } @@ -1071,8 +1055,6 @@ addDevicePage.actionAddDevicePage += action; dialog.Close(); } - - } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain)) { @@ -1081,32 +1063,37 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain3), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - - alert.ResultEventHandler += async (s1, e1) => + var dialog1 = new Dialog { }; + var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog.Show(); + doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain3); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => { - if (e1) - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + dialog1.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => + { + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addDevicePage.Show(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } - else + Action<List<BindListResponseObj>> action = (obj) => { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); + dialog1.Close(); }; } } @@ -1325,3 +1312,4 @@ } } } + diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs index d5408d6..953f73e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs @@ -96,6 +96,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 16, + IsBold = true, }; bottomFrameLayout.AddChidren(btnFinifh); #endregion @@ -612,6 +613,7 @@ Y = Application.GetRealHeight(58), TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, }; rowLayout.AddChidren(btnModeText); @@ -767,6 +769,7 @@ Y = Application.GetRealHeight(58), TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, }; rowLayout.AddChidren(btnModeText); @@ -810,7 +813,7 @@ break; } - if (i == typeDetailModeList.Count - 1) + if (i == typeDetailModeListTemp.Count - 1) { line2.Visible = false; } @@ -937,6 +940,7 @@ Y = Application.GetRealHeight(58), TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, }; rowLayout.AddChidren(btnModeText); @@ -1070,11 +1074,6 @@ btnChoose.MouseUpEventHandler += hander; i++; } - } - - private void FinisfhEventHandler(object sender, MouseEventArgs e) - { - } public void DeviceInfoChange(CommonDevice common, string typeTag) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs index 4981897..725d5fa 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs @@ -177,7 +177,7 @@ var btnRinght = rowLimit.AddMostRightEmptyIcon(58, 58); rowLimit.ChangedChidrenBindMode(btnRinght, ChidrenBindMode.NotBind); btnRinght.UseClickStatu = false; - btnRinght.UnSelectedImagePath = "Item/Next.png"; + btnRinght.UnSelectedImagePath = "Item/RightNext.png"; btnRinght.SelectedImagePath = "Item/Down.png"; btnRinght.IsSelected = true; btnRinght.ButtonClickEvent += (sender, e) => @@ -266,7 +266,7 @@ { return; } - openSeekBar.Progress -= 1; + openSeekBar.Progress -= 5; openSeekBar.ProgressChangedEvent(1, openSeekBar.Progress); }; @@ -284,7 +284,7 @@ { return; } - openSeekBar.Progress += 1; + openSeekBar.Progress += 5; openSeekBar.ProgressChangedEvent(1, openSeekBar.Progress); }; @@ -443,7 +443,7 @@ { return; } - closeSeekBar.Progress -= 1; + closeSeekBar.Progress -= 5; closeSeekBar.ProgressChangedEvent(1, closeSeekBar.Progress); }; @@ -461,7 +461,7 @@ { return; } - closeSeekBar.Progress += 1; + closeSeekBar.Progress += 5; closeSeekBar.ProgressChangedEvent(1, closeSeekBar.Progress); }; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs index 155b93b..c141dc8 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs @@ -157,7 +157,7 @@ var btnRinght = rowLimit.AddMostRightEmptyIcon(58, 58); rowLimit.ChangedChidrenBindMode(btnRinght, ChidrenBindMode.NotBind); btnRinght.UseClickStatu = false; - btnRinght.UnSelectedImagePath = "Item/Next.png"; + btnRinght.UnSelectedImagePath = "Item/RightNext.png"; btnRinght.SelectedImagePath = "Item/Down.png"; btnRinght.IsSelected = true; btnRinght.ButtonClickEvent += (sender, e) => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs index 871c1ad..d6dd689 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs @@ -57,12 +57,32 @@ //鍒濆鍖栨甯� this.InitFrameTable(); + var framePic = new FrameLayout(); + framePic.Width = Application.GetRealWidth(855); + framePic.Height = Application.GetRealHeight(570); + framePic.Gravity = Gravity.CenterHorizontal; + framePic.Y = Application.GetRealHeight(58); + bodyFrameLayout.AddChidren(framePic); + + var imageFile = Common.LocalDevice.Current.GetRealDeviceIcon(listNewDevice); + string fullName = IO.FileUtils.GetImageFilePath(imageFile); + +#if Android //璁惧鍥剧墖 - var btnpictrue = new PicViewControl(855, 570); - btnpictrue.Gravity = Gravity.CenterHorizontal; - btnpictrue.Y = Application.GetRealHeight(58); - Common.LocalDevice.Current.SetRealDeviceIconToControl(btnpictrue, listNewDevice); - bodyFrameLayout.AddChidren(btnpictrue); + var bim = Android.Graphics.BitmapFactory.DecodeFile(fullName); + var btnpictrue = new PicViewControl(bim.Width, bim.Height); +#endif +#if iOS + //璁惧鍥剧墖 + var bim = UIKit.UIImage.FromFile(fullName); + var btnpictrue = new PicViewControl((int)bim.Size.Width, (int)bim.Size.Height); +#endif + bim.Dispose(); + bim = null; + + btnpictrue.Gravity = Gravity.Center; + btnpictrue.UnSelectedImagePath = imageFile; + framePic.AddChidren(btnpictrue); string nameValue = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); this.saveDefultName = nameValue; @@ -140,7 +160,7 @@ }; bodyFrameLayout.AddChidren(btnHelp); //搴曠嚎 - int lineWidth = btnHelp.GetRealWidthByText(12); + int lineWidth = btnHelp.GetRealWidthByText(); var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; btnLine.Gravity = Gravity.CenterHorizontal; @@ -193,9 +213,9 @@ }; } - #endregion +#endregion - #region 鈻� 淇敼鍚嶅瓧___________________________ +#region 鈻� 淇敼鍚嶅瓧___________________________ /// <summary> /// 璁惧閲嶅懡鍚嶇劧鍚庢墦寮�鏂扮殑鐢婚潰 @@ -249,18 +269,21 @@ if (deviceInfoType.BeloneType == Common.DeviceBeloneType.A鎸夐敭闈㈡澘 && device.Type == DeviceType.TemperatureSensor) { //闈㈡澘鐨勬渶鍚庝竴涓洖璺槸娓╁害浼犳劅鍣� - epointName = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId11); + epointName += Language.StringByID(R.MyInternationalizationString.uDeviceBelongId11); } - //XXXXX(N鍥炶矾) - epointName += "(" + device.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit) + ")"; + else + { + //XXXXX(N鍥炶矾) + epointName += "(" + device.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit) + ")"; + } } await Common.LocalDevice.Current.ReName(device, epointName, ShowErrorMode.NO); } } - #endregion +#endregion - #region 鈻� 鐢婚潰鍏抽棴___________________________ +#region 鈻� 鐢婚潰鍏抽棴___________________________ /// <summary> /// 鐢婚潰鍏抽棴 @@ -277,6 +300,6 @@ base.CloseFormBefore(); } - #endregion +#endregion } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs index 7a96447..719e4e9 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs @@ -250,7 +250,7 @@ //{ // menuCount = 2; //} - var frame = new TopRightMenuControl(menuCount); + var frame = new TopRightMenuControl(menuCount, 1); if (canTest == true) { //瀹氫綅 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs index 788e051..c07de22 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs @@ -97,7 +97,7 @@ /// </summary> private void ShowTopRightMenu() { - var frame = new TopRightMenuControl(1); + var frame = new TopRightMenuControl(1, 2); //鍘嗗彶鐗堟湰 var deviceMenu = Language.StringByID(R.MyInternationalizationString.uHistoryVersion); frame.AddRowMenu(deviceMenu, "", "", () => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs index 52b60db..8d9b197 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs @@ -249,7 +249,7 @@ //{ // menuCount = 2; //} - var frame = new TopRightMenuControl(menuCount); + var frame = new TopRightMenuControl(menuCount, 1); if (canTest == true) { //瀹氫綅 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs index 05a533d..7e77e24 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs @@ -65,7 +65,7 @@ string unSelectPic = string.Empty; string selectPic = string.Empty; - Common.LocalDevice.Current.GetDeviceBeloneIcon(listUpdateDevice, ref unSelectPic, ref selectPic); + Common.LocalDevice.Current.GetDeviceObjectIcon(listUpdateDevice, ref unSelectPic, ref selectPic); HdlThreadLogic.Current.RunThread(() => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs index 1d82707..5e47e00 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs @@ -222,7 +222,7 @@ rowInfo.MenuRow = rowMenu; //鍚戝彸鍥炬爣 var btnRight = rowMenu.frameTable.AddMostRightEmptyIcon(58, 58); - btnRight.UnSelectedImagePath = "Item/Next.png"; + btnRight.UnSelectedImagePath = "Item/RightNext.png"; btnRight.SelectedImagePath = "Item/Down.png"; rowMenu.frameTable.ChangedChidrenBindMode(btnRight, ChidrenBindMode.NotBind); @@ -626,51 +626,44 @@ /// <param name="device"></param> private void ReceiveDeviceStatu(CommonDevice device) { - lock (dicRowInfo) + DeviceObjRowInfo rowInfo = null; + if (this.dicRowInfo.ContainsKey(device.DeviceAddr) == true) { - if (this.Parent == null) + rowInfo = this.dicRowInfo[device.DeviceAddr]; + } + if (rowInfo == null || rowInfo.MenuRow == null) + { + return; + } + //鍒锋柊璁惧鐨勫湪绾跨姸鎬� + string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); + var localDevice = Common.LocalDevice.Current.GetDevice(mainkeys); + if (localDevice != null) + { + //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂� + if (localDevice.IsOnline == device.IsOnline) { return; } - DeviceObjRowInfo rowInfo = null; - if (this.dicRowInfo.ContainsKey(device.DeviceAddr) == true) - { - rowInfo = this.dicRowInfo[device.DeviceAddr]; - } - if (rowInfo == null || rowInfo.MenuRow == null) - { - return; - } - //鍒锋柊璁惧鐨勫湪绾跨姸鎬� - string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); - var localDevice = Common.LocalDevice.Current.GetDevice(mainkeys); - if (localDevice != null) - { - //鍦ㄧ嚎鐘舵�佷竴鏍风殑璇濓紝涓嶉渶瑕佸埛鏂� - if (localDevice.IsOnline == device.IsOnline) - { - return; - } - //淇濆瓨鐘舵�� - localDevice.IsOnline = device.IsOnline; - localDevice.ReSave(); - } + //淇濆瓨鐘舵�� + localDevice.IsOnline = device.IsOnline; + localDevice.ReSave(); + } - HdlThreadLogic.Current.RunMain(() => + HdlThreadLogic.Current.RunMain(() => + { + if (rowInfo != null) { - if (rowInfo != null) + rowInfo.MenuRow.isOnline = device.IsOnline == 1; + if (rowInfo.dicDetailRow != null) { - rowInfo.MenuRow.isOnline = device.IsOnline == 1; - if (rowInfo.dicDetailRow != null) + foreach (var detailRow in rowInfo.dicDetailRow.Values) { - foreach (var detailRow in rowInfo.dicDetailRow.Values) - { - detailRow.isOnline = rowInfo.MenuRow.isOnline; - } + detailRow.isOnline = rowInfo.MenuRow.isOnline; } } - }); - } + } + }); } /// <summary> @@ -704,7 +697,7 @@ { HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceListFormSensor", ReceiveComandDiv.A浼犳劅鍣ㄤ笂鎶�, (device) => { - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { if (this.dicRowInfo.ContainsKey(device.DeviceAddr) == false) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs index abe2b33..f988ccb 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs @@ -189,11 +189,10 @@ /// </summary> private void AddAllMenuRow() { - bool isHdlDevice = Common.LocalDevice.Current.IsHdlDevice(listNewDevice[0]); if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鏅鸿兘闂ㄩ攣) { //鍙湁鏄渤涓滅殑璁惧鐨勬椂鍊� - if (isHdlDevice == true) + if (deviceEnumInfo.IsHdlDevice == true) { //娣诲姞銆愮敤鎴风鐞嗐�戣 this.AddUserManageRow(); @@ -210,6 +209,8 @@ } else { + //娣诲姞銆愬伐浣滄ā寮忋�戣(pir浼犳劅鍣ㄤ笓鐢�) + this.AddPirSensorWorkModeRow(); //娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�) this.AddPirSensorBindRow(); //娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(寮�鍚堝笜,鍗峰笜涓撶敤) @@ -223,13 +224,15 @@ //娣诲姞銆愬共鎺ョ偣璁剧疆銆戣 this.AddDryContactSettionRow(); } + //娣诲姞銆愬姛鑳界被鍨嬨�戣(绌烘皵寮�鍏充笓鐢�) + this.AddAirSwitchFunctionTypeRow(); //娣诲姞銆愰�氱敤淇℃伅銆戣 this.AddGeneralInformationRow(); //娣诲姞銆愮┖璋冩ā鍧楃増鏈�(绌鸿皟涓撶敤)銆戣 this.AddAirConditionerModelVersionRow(); - if (isHdlDevice == true) + if (deviceEnumInfo.IsHdlDevice == true) { //娣诲姞銆愬浐浠跺崌绾с�戣 this.AddFirmwareUpdateRow(); @@ -503,6 +506,36 @@ #endregion + #region 鈻� 宸ヤ綔妯″紡(pir浼犳劅鍣ㄤ笓鐢�)____________ + + /// <summary> + /// 娣诲姞銆愬伐浣滄ā寮忋�戣(pir浼犳劅鍣ㄤ笓鐢�) + /// </summary> + private void AddPirSensorWorkModeRow() + { + if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir + || deviceEnumInfo.IsHdlDevice == false) + { + return; + } + //宸ヤ綔妯″紡 + string caption = Language.StringByID(R.MyInternationalizationString.uWorkMode); + var btnFunction = new FrameRowControl(listview.rowSpace / 2); + listview.AddChidren(btnFunction); + btnFunction.AddLeftCaption(caption, 600); + //鍚戝彸鍥炬爣 + btnFunction.AddRightArrow(); + //搴曠嚎 + btnFunction.AddBottomLine(); + btnFunction.ButtonClickEvent += (sender, e) => + { + var form = new DevicePirSensor.PirSensorWorkModeMenuForm(); + form.AddForm((IASZone)this.listNewDevice[0]); + }; + } + + #endregion; + #region 鈻� 缁戝畾鐩爣(pir浼犳劅鍣ㄤ笓鐢�)____________ /// <summary> @@ -670,7 +703,10 @@ //鎵嬫媺鎺у埗 if (0 < (attriBute.AttriButeData & 0x04)) { - btnSwitch.IsSelected = true; + HdlThreadLogic.Current.RunMain(() => + { + btnSwitch.IsSelected = true; + }); } } } @@ -705,6 +741,101 @@ { var form = new DeviceAirConditioner.IndoorUnitListForm(); form.AddForm(listNewDevice[0].DeviceAddr); + }; + } + + #endregion + + #region 鈻� 鍔熻兘绫诲瀷(绌烘皵寮�鍏充笓鐢�)_____________ + + /// <summary> + /// 娣诲姞銆愬姛鑳界被鍨嬨�戣(绌烘皵寮�鍏充笓鐢�) + /// </summary> + private void AddAirSwitchFunctionTypeRow() + { + if (this.deviceEnumInfo.BeloneType != DeviceBeloneType.A鏅鸿兘绌哄紑) + { + //涓嶆槸绌烘皵寮�鍏� + return; + } + + //鍔熻兘绫诲瀷 + string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType); + var DfunctionType = this.listNewDevice[0].DfunctionType; + + //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛� + int nowSelectNo = 1; + string strType = string.Empty; + if (DfunctionType == DeviceFunctionType.A鐏厜) + { + strType = Language.StringByID(R.MyInternationalizationString.uLight); + nowSelectNo = 1; + } + else if (DfunctionType == DeviceFunctionType.A寮�鍏�) + { + strType = Language.StringByID(R.MyInternationalizationString.uSwitch); + nowSelectNo = 0; + } + else if (DfunctionType == DeviceFunctionType.A鎻掑骇) + { + strType = Language.StringByID(R.MyInternationalizationString.uSocket1); + nowSelectNo = 2; + } + + var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2); + btnFunction.UseClickStatu = true; + listview.AddChidren(btnFunction); + btnFunction.InitControl(); + //搴曠嚎 + btnFunction.AddBottomLine(); + //鍙崇澶� + btnFunction.AddRightArrow(); + btnFunction.ButtonClickEvent += (sender, e) => + { + //鏄剧ず鍒楄〃 + var listText = new List<string>(); + listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//寮�鍏� + listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//鐏厜 + listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//鎻掑骇 + //鏍囬:閫夋嫨鍔熻兘绫诲瀷 + var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType); + + var form = new BottomItemSelectForm(); + form.AddForm(title, listText, nowSelectNo); + form.FinishSelectEvent += (selectNo) => + { + btnFunction.Text = listText[selectNo]; + nowSelectNo = selectNo; + //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� + if (selectNo == 0) + { + this.listNewDevice[0].DfunctionType = DeviceFunctionType.A寮�鍏�; + if (this.listNewDevice[0].IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + this.listNewDevice[0].IconPath = "Device/Switch.png"; + } + } + else if (selectNo == 1) + { + this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鐏厜; + if (this.listNewDevice[0].IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + this.listNewDevice[0].IconPath = "Device/Light.png"; + } + } + else + { + this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鎻掑骇; + if (this.listNewDevice[0].IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + this.listNewDevice[0].IconPath = "Device/Socket1.png"; + } + } + this.listNewDevice[0].ReSave(); + }; }; } @@ -924,15 +1055,21 @@ /// </summary> private void ShowTopRightMenu() { - int menuCount = 1; - string deviceMenu = string.Empty; //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘(鎷跨鐐规渶灏忕殑閭d釜鍥炶矾鍘诲畾浣�) bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]); - if (canTest == true) + if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A鏅鸿兘闂ㄩ攣) { - menuCount = 2; + canTest = false; } - var frame = new TopRightMenuControl(menuCount); + else if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A浼犳劅鍣� + && this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir) + { + //浼犳劅鍣ㄩ櫎浜哖ir閮芥病鏈夊畾浣嶅姛鑳� + canTest = false; + } + var frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1); + + string deviceMenu = string.Empty; if (canTest == true) { //瀹氫綅 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs index 8b5ba3c..582d120 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; +using ZigBee.Device; namespace Shared.Phone.UserCenter.DeviceDoorLock { @@ -15,7 +16,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalListControl listView = null; + private VerticalFrameRefreshControl listView = null; /// <summary> /// 鏃ユ湡From鎺т欢 /// </summary> @@ -29,9 +30,9 @@ /// </summary> private List<MemberInfoRes> listMenberInfo = null; /// <summary> - /// 璁惧鐨凪ac鍦板潃 + /// 璁惧瀵硅薄 /// </summary> - private string DeviceMac = string.Empty; + private CommonDevice DeviceDoor = null; /// <summary> /// 妫�绱㈠璞$殑ID(-1:鎵�鏈� 绌哄瓧绗︿覆:鍏朵粬) /// </summary> @@ -40,6 +41,10 @@ /// 妫�绱㈠紑閿佹柟寮忕殑ID(-1:鎵�鏈� 0:瀵嗙爜 15:鎸囩汗 3:IC鍗�) /// </summary> private List<int> listSearchLockId = new List<int>() { -1 }; + /// <summary> + /// 鍏朵粬娑堟伅鐨勪富閿� + /// </summary> + private List<string> listOtherId = new List<string>(); #endregion @@ -50,8 +55,8 @@ /// </summary> /// <param name="i_DeviceMac">闂ㄩ攣鐨凪ac鍦板潃</param> public void ShowForm(string i_DeviceMac) - { - this.DeviceMac = i_DeviceMac; + { + this.DeviceDoor = Common.LocalDevice.Current.GetDevicesByMac(i_DeviceMac, false)[0]; //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uHistoryLog)); @@ -63,11 +68,11 @@ btnDelete.InitControl(); btnDelete.ButtonClickEvent += (sender, e) => { - var form = new TopRightMenuControl(1, 449); + var form = new TopRightMenuControl(1, 2); //娓呯┖璁板綍 form.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uClearLog), "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () => { - if (this.listView.ChildrenCount == 0) + if (this.listView.frameTable.ChildrenCount == 0) { //鏃犳暟鎹彲鍒� return; @@ -94,15 +99,10 @@ this.ClearBodyFrame(); //鍒濆鍖栧ご閮ㄦ绱㈡帶浠� - this.InitTitleSearchControl(); - - //涓荤嚎绋嬬殑寮傛浼氶樆濉炰富绾跨▼,瀵艰嚧鐣岄潰鏈夋鏃堕棿浼氱櫧灞�,鎵�浠ヨ繖鏍峰瓙璁╃晫闈㈠厛鍑烘潵 - //鐒跺悗鍐嶅埛鏂版暟鎹� - HdlThreadLogic.Current.RunMainInThread(() => - { - //鍒濆鍖栬褰曞垪琛� - this.InitLogListInfo(); - }); + this.InitTitleSearchControl(); + + //鍒濆鍖栬褰曞垪琛� + this.InitLogListInfo(); } /// <summary> @@ -173,11 +173,16 @@ //搴曠嚎 frameTitle.AddBottomLine(); - this.listView = new VerticalListControl(29); + this.listView = new VerticalFrameRefreshControl(29); listView.Y = frameTitle.Bottom - Application.GetRealHeight(3); - listView.BackgroundColor = UserCenterColor.Current.White; listView.Height = bodyFrameLayout.Height - frameTitle.Bottom + Application.GetRealHeight(3); bodyFrameLayout.AddChidren(listView); + listView.frameTable.BackgroundColor = UserCenterColor.Current.White; + listView.BeginHeaderRefreshingAction += () => + { + //涓嬫媺鍒锋柊 + this.InitLogListInfo(); + }; } #endregion @@ -187,10 +192,10 @@ /// <summary> /// 鍒濆鍖栬褰曞垪琛� /// </summary> - private async void InitLogListInfo() + private void InitLogListInfo() { - this.listView.RemoveAll(); - listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(115 - 3); + this.listView.frameTable.RemoveAll(); + listView.frameTable.Height = bodyFrameLayout.Height - Application.GetRealHeight(115 - 3); //濡傛灉From>To鐨勬椂鍊欙紝涓嶉笩瀹� if (Convert.ToInt32(dateFromControl.dateValue) > Convert.ToInt32(dateToControl.dateValue)) @@ -199,51 +204,52 @@ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uFromTimeIsOverToTime)); return; } - //鎵撳紑杩涘害鏉� - this.ShowProgressBar(); - //鎴愬憳鍒楄〃 - var result = await this.GetMemberListInfo(); - if (result == false) + HdlThreadLogic.Current.RunThread(async () => { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + //鎴愬憳鍒楄〃 + var result = await this.GetMemberListInfo(); + if (result == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } + //鍘嗗彶璁板綍 + var historyLog = await this.GetHistoryLogInfo(); + if (historyLog == null) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } //鍏抽棴杩涘害鏉� - this.CloseProgressBar(ShowReLoadMode.YES); - return; - } - //鍘嗗彶璁板綍 - var historyLog = await this.GetHistoryLogInf(); - if (historyLog == null) - { - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(ShowReLoadMode.YES); - return; - } - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); + this.CloseProgressBar(); - var dic = new Dictionary<string, string>(); - for (int i = 0; i < listMenberInfo.Count; i++) - { - dic.Add(listMenberInfo[i].SubAccountDistributedMark, string.IsNullOrEmpty(listMenberInfo[i].UserName) == false ? listMenberInfo[i].UserName : listMenberInfo[i].Account); - } - for (int i = 0; i < historyLog.Count; i++) - { - //娣诲姞璁板綍琛� - this.AddLogInfoRow(historyLog[i], dic, i != historyLog.Count - 1); - } + var dic = new Dictionary<string, string>(); + for (int i = 0; i < listMenberInfo.Count; i++) + { + dic.Add(listMenberInfo[i].SubAccountDistributedMark, string.IsNullOrEmpty(listMenberInfo[i].UserName) == false ? listMenberInfo[i].UserName : listMenberInfo[i].Account); + } + HdlThreadLogic.Current.RunMain(() => + { + for (int i = 0; i < historyLog.Count; i++) + { + //娣诲姞璁板綍琛� + this.AddLogInfoRow(historyLog[i], dic, i != historyLog.Count - 1); + } + //闅愯棌涓嬫媺鍒锋柊鐗规晥 + listView.EndHeaderRefreshing(); - if (listView.ChildrenCount == 0) - { - return; - } - - //璋冩暣鍒楄〃鎺т欢鐨勯珮搴� - var realHeight = listView.ChildrenCount * listView.GetChildren(0).Height; - realHeight += Application.GetRealHeight(23 + 3); - if (realHeight < listView.Height) - { - //缂╁皬鎺т欢楂樺害 - listView.Height = realHeight; - } + if (listView.frameTable.ChildrenCount == 0) + { + return; + } + //璋冩暣鍒楄〃鎺т欢鐨勯珮搴� + listView.AdjustTableHeight(Application.GetRealHeight(23)); + }); + }); } /// <summary> @@ -306,10 +312,23 @@ { var frameTable = new FrameRowControl(listView.rowSpace / 2); frameTable.UseClickStatu = false; - this.listView.AddChidren(frameTable); + this.listView.AddChidrenFrame2(frameTable); //鍥炬爣 var btnIcon = frameTable.AddLeftIcon(); - if (historyInfo.UnlockIsSuccess == true) + if (historyInfo.OpenLockMode == -1) + { + //鍏朵粬娑堟伅 + var device = Common.LocalDevice.Current.GetDevice(historyInfo.DeviceMac, historyInfo.DeviceEpoint); + if (device == null) + { + btnIcon.UnSelectedImagePath = "Device/IntelligentLocks.png"; + } + else + { + Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device); + } + } + else if (historyInfo.UnlockIsSuccess == true) { btnIcon.UnSelectedImagePath = "Item/UnLockSuccess.png"; } @@ -324,7 +343,12 @@ //杩欎釜鍧愭爣鏈夌偣鐗规畩 btnMsg.Y = Application.GetRealHeight(12) + frameTable.chidrenYaxis; frameTable.AddChidren(btnMsg, ChidrenBindMode.NotBind); - if (historyInfo.UnlockIsSuccess == true) + if (historyInfo.OpenLockMode == -1) + { + //鍏朵粬娑堟伅 + btnMsg.Text = historyInfo.AlarmMsg; + } + else if (historyInfo.UnlockIsSuccess == true) { if (historyInfo.OpenLockMode == 0) { @@ -371,7 +395,7 @@ frameTable.AddChidren(btnpersion, ChidrenBindMode.NotBind); //鏃堕棿 - frameTable.AddMostRightView(historyInfo.UnlockTime, 400); + frameTable.AddMostRightView(Convert.ToDateTime(historyInfo.UnlockTime).ToString("HH:mm:ss"), 400); if (addLine == true) { //搴曠嚎 @@ -415,7 +439,7 @@ /// 鑾峰彇鍘嗗彶璁板綍 /// </summary> /// <returns></returns> - private async Task<List<HistoryInfo>> GetHistoryLogInf() + private async Task<List<HistoryInfo>> GetHistoryLogInfo() { //鑾峰彇璁块棶浜戠鎺ュ彛鐨勫惎鍔ㄥ弬鏁� var pra = this.GetDbInterfacePra(); @@ -431,6 +455,7 @@ return null; } var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetHistoryDataResult>(result); + listLog.AddRange(dataInfo.PageData); if (dataInfo.HasNextPage == false) { break; @@ -443,8 +468,45 @@ //鎺掑簭涓�涓� var dic = new Dictionary<string, List<HistoryInfo>>(); var listSort = new List<string>(); + //娓呯┖涓婁竴娆$殑鍏朵粬ID + this.listOtherId = new List<string>(); //鏄惁鍖呭惈鍏朵粬 bool flage = this.listSearchUserId.Contains("") || this.listSearchUserId.Contains("-1"); + if (flage == true) + { + //鍘昏幏鍙栧叾浠栦俊鎭� + var pra2 = new MessageInfoPra(); + pra2.Topic = "/Alarms/SendAlarmInform"; + pra2.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + var result = await UserCenterLogic.GetResponseDataByRequestHttps("MessageCenter/GetMessageCenterPagger", true, pra2); + if (result == null) + { + return null; + } + var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageCentetInfo>(result); + foreach (var myInfo in dataInfo.PageData) + { + var data = new HistoryInfo(); + if (dic.ContainsKey(myInfo.CreatedOnUtc) == false) + { + dic[myInfo.CreatedOnUtc] = new List<HistoryInfo>(); + listSort.Add(myInfo.CreatedOnUtc); + } + + //璁惧瀵硅薄 + var jobject = Newtonsoft.Json.Linq.JObject.Parse(myInfo.PayloadJson); + data.DeviceMac = jobject.Value<string>("DeviceAddr"); + data.DeviceEpoint = jobject.Value<int>("Epoint"); + //娑堟伅 + var msgInfo = HdlAlarmsLogic.Current.GetDoorLockAlarmInfo(jobject); + data.AlarmMsg = msgInfo != null ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uDoorLocksAlarmHadTriggered); + dic[myInfo.CreatedOnUtc].Add(data); + //鏃堕棿 + data.UnlockTime = myInfo.CreatedOnUtc; + + this.listOtherId.Add(myInfo.Id); + } + } foreach (var data in listLog) { if (flage == false && string.IsNullOrEmpty(data.CloudAccountId) == true) @@ -485,14 +547,37 @@ //鎵撳紑杩涘害鏉� this.ShowProgressBar(); var result = await UserCenterLogic.GetResultStatuByRequestHttps("DoorLock/ClearDoorLockHistory", true, pra); + if (result == false) + { + return; + } + + //鍒犻櫎鍏朵粬娑堟伅 + if (listOtherId.Count > 0) + { + var pra2 = new MessageReadStatuPra(); + pra2.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + for (int i = 0; i < listOtherId.Count; i++) + { + pra2.Id = listOtherId[i]; + result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/DelMessageCenterItem", true, pra); + if (result == false) + { + return; + } + } + } //鍏抽棴杩涘害鏉� this.CloseProgressBar(); if (result == false) { return; } - this.listView.RemoveAll(); - listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(115 - 3); + this.listView.frameTable.RemoveAll(); + listView.frameTable.Height = bodyFrameLayout.Height - Application.GetRealHeight(115 - 3); + + //娓呯┖ + this.listOtherId = new List<string>(); } #endregion @@ -510,7 +595,13 @@ //鍏ㄩ�夊垯涓簄ull List<string> listUser = null; - if (listSearchUserId.Contains("-1") == false) + if (listSearchUserId.Count == 1 && listSearchUserId[0] == "") + { + //濡傛灉鍗曠函鐨勫彧鏄�夋嫨鍏朵粬,鍒欒妫�绱㈡潯浠朵笉鎴愮珛鍗冲彲 + listUser = new List<string>(); + listUser.Add("鍏朵粬"); + } + else if (listSearchUserId.Contains("-1") == false) { listUser = new List<string>(); listUser.AddRange(listSearchUserId); @@ -528,11 +619,11 @@ var pra = new GetHistoryDataPra(); pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - pra.DoorLockId = this.DeviceMac; + pra.DoorLockId = this.DeviceDoor.DeviceAddr + "_" + this.DeviceDoor.DeviceEpoint; pra.CloudAccountIdArr = listUser; pra.OpenLockModeArr = listLock; - pra.UnlockTimeBegin = dateFrom; - pra.UnlockTimeEnd = dateTo; + pra.UnlockTimeBegin = dateFrom.ToString(); + pra.UnlockTimeEnd = dateTo.ToString(); return pra; } @@ -576,11 +667,11 @@ /// <summary> /// 鎼滅储寮�閿佸紑濮嬫椂闂� /// </summary> - public DateTime UnlockTimeBegin; + public string UnlockTimeBegin; /// <summary> /// 鎼滅储寮�閿佺粨鏉熸椂闂� /// </summary> - public DateTime UnlockTimeEnd; + public string UnlockTimeEnd; /// <summary> /// 椤垫暟 /// </summary> @@ -623,6 +714,18 @@ /// 璐﹀彿鐨処D /// </summary> public string CloudAccountId = string.Empty; + /// <summary> + /// 褰撳紑閿佹柟寮忎负-1鏃朵娇鐢�,瀹冨睘浜庡叾浠栫被 + /// </summary> + public string AlarmMsg = string.Empty; + /// <summary> + /// 褰撳紑閿佹柟寮忎负-1鏃朵娇鐢�,璁惧Mac + /// </summary> + public string DeviceMac = string.Empty; + /// <summary> + /// 褰撳紑閿佹柟寮忎负-1鏃朵娇鐢�,璁惧绔偣 + /// </summary> + public int DeviceEpoint = 0; } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs index 411e2f3..1058c0e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs @@ -303,7 +303,7 @@ seekBar1.ProgressBarColor = backColor; var btnRight = new NormalViewControl(Application.GetMinRealAverage(58), Application.GetMinRealAverage(58), false); - btnRight.UnSelectedImagePath = "Item/Next.png"; + btnRight.UnSelectedImagePath = "Item/RightNext.png"; btnRight.Y = Application.GetRealHeight(5); btnRight.X = frameColor.Width - Application.GetMinRealAverage(58); frameColor.AddChidren(btnRight, ChidrenBindMode.BindEventOnly); @@ -440,7 +440,7 @@ seekBar1.ProgressBarColor = backColor; var btnRight = new NormalViewControl(Application.GetMinRealAverage(58), Application.GetMinRealAverage(58), false); - btnRight.UnSelectedImagePath = "Item/Next.png"; + btnRight.UnSelectedImagePath = "Item/RightNext.png"; btnRight.Y = Application.GetRealHeight(5); btnRight.X = frameColor.Width - Application.GetMinRealAverage(58); frameColor.AddChidren(btnRight, ChidrenBindMode.BindEventOnly); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs index b67b23e..a948e82 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs @@ -213,7 +213,7 @@ //{ // menuCount = 2; //} - var frame = new TopRightMenuControl(menuCount); + var frame = new TopRightMenuControl(menuCount, 1); if (canTest == true) { //瀹氫綅 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs index 6ae3938..cbbce46 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs @@ -243,7 +243,7 @@ //{ // menuCount = 2; //} - var frame = new TopRightMenuControl(menuCount); + var frame = new TopRightMenuControl(menuCount, 1); if (canTest == true) { //瀹氫綅 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs index f7bffe6..97d0d56 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs @@ -107,7 +107,7 @@ var btnIfRinght = frameIfRow.AddMostRightEmptyIcon(58, 58); frameIfRow.ChangedChidrenBindMode(btnIfRinght, ChidrenBindMode.NotBind); btnIfRinght.UseClickStatu = false; - btnIfRinght.UnSelectedImagePath = "Item/Next.png"; + btnIfRinght.UnSelectedImagePath = "Item/RightNext.png"; btnIfRinght.SelectedImagePath = "Item/Down.png"; btnIfRinght.IsSelected = true; btnIfRinght.ButtonClickEvent += (sender, e) => @@ -180,7 +180,7 @@ var btnResultRight = frameDo.AddMostRightEmptyIcon(58, 58); frameDo.ChangedChidrenBindMode(btnResultRight, ChidrenBindMode.NotBind); btnResultRight.UseClickStatu = false; - btnResultRight.UnSelectedImagePath = "Item/Next.png"; + btnResultRight.UnSelectedImagePath = "Item/RightNext.png"; btnResultRight.SelectedImagePath = "Item/Down.png"; btnResultRight.IsSelected = true; btnResultRight.ButtonClickEvent += (sender, e) => @@ -440,7 +440,7 @@ if (listOldData[0] != Lightconfigure.levelSize || listOldData[1] != Lightconfigure.transitionTime) { //淇濆瓨鐏厜閰嶇疆 - var result = await HdlDevicePirSensorLogic.Current.SetPirSensorLightSettion(this.deviceIASZone, this.Lightconfigure); + var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.Lightconfigure); if (result == false) { //鍏抽棴杩涘害鏉� diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorDimmingModeForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorDimmingModeForm.cs new file mode 100755 index 0000000..ec653ee --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorDimmingModeForm.cs @@ -0,0 +1,180 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.DevicePirSensor +{ + /// <summary> + /// pir浼犳劅鍣ㄧ殑璋冨厜妯″紡鐨勯厤缃晫闈� + /// </summary> + public class PirSensorDimmingModeForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDimmingMode)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + var frameBack = new FrameLayout(); + frameBack.Height = Application.GetRealHeight(11); + frameBack.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(frameBack); + + var listView = new VerticalListControl(12); + listView.Height = Application.GetRealHeight(700); + listView.Y = frameBack.Bottom; + listView.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(listView); + + //娣诲姞寮�鐏寒搴﹁ + this.AddTurnOnBrightnessRow(listView); + + //娣诲姞鎱㈠惎鍔ㄨ + this.AddSlowStartupRow(listView); + + //娣诲姞鎱㈠叧闂 + this.AddSlowCloseRow(listView); + + //璋冩暣楂樺害 + listView.AdjustRealHeight(Application.GetRealHeight(23)); + + //淇濆瓨 + var btnSave = new BottomClickButton(); + btnSave.TextID = R.MyInternationalizationString.uSave; + bodyFrameLayout.AddChidren(btnSave); + btnSave.ButtonClickEvent += (sender, e) => + { + }; + } + + #endregion + + #region 鈻� 寮�鐏寒搴__________________________ + + /// <summary> + /// 娣诲姞寮�鐏寒搴﹁ + /// </summary> + /// <param name="listView"></param> + private void AddTurnOnBrightnessRow(VerticalListControl listView) + { + var listSelect = new List<string>(); + for (int i = 10; i <= 100; i += 10) + { + listSelect.Add(i + "%"); + } + + //寮�鐏寒搴� + var row1 = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(row1); + var btnCaption1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTurnOnBrightness), 400); + btnCaption1.TextSize = 15; + row1.AddRightArrow(); + var btnStatu = row1.AddMostRightView("", 400); + row1.AddBottomLine(); + row1.ButtonClickEvent += (sender, e) => + { + PickerView.Show(listSelect, (value) => + { + btnStatu.Text = listSelect[value]; + + }, 0, Language.StringByID(R.MyInternationalizationString.uBrightness), + Language.StringByID(R.MyInternationalizationString.uFinish), + Language.StringByID(R.MyInternationalizationString.uCancel)); + }; + } + + #endregion + + #region 鈻� 鎱㈠惎鍔╛____________________________ + + /// <summary> + /// 娣诲姞鎱㈠惎鍔ㄨ + /// </summary> + /// <param name="listView"></param> + private void AddSlowStartupRow(VerticalListControl listView) + { + var listTime = new List<string>(); + var miao = Language.StringByID(R.MyInternationalizationString.uSecond); + for (int i = 0; i <= 10; i++) + { + listTime.Add(i + miao); + } + + //鎱㈠惎鍔� + var row2 = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(row2); + var btnCaption2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowStartup), 400); + btnCaption2.TextSize = 15; + row2.AddRightArrow(); + var btnStatu2 = row2.AddMostRightView("", 400); + row2.AddBottomLine(); + row2.ButtonClickEvent += (sender, e) => + { + PickerView.Show(listTime, (value) => + { + btnStatu2.Text = listTime[value]; + + }, 0, btnCaption2.Text, + Language.StringByID(R.MyInternationalizationString.uFinish), + Language.StringByID(R.MyInternationalizationString.uCancel)); + }; + } + + #endregion + + #region 鈻� 鎱㈠叧闂璤____________________________ + + /// <summary> + /// 娣诲姞鎱㈠叧闂 + /// </summary> + /// <param name="listView"></param> + private void AddSlowCloseRow(VerticalListControl listView) + { + var listTime = new List<string>(); + var miao = Language.StringByID(R.MyInternationalizationString.uSecond); + for (int i = 0; i <= 10; i++) + { + listTime.Add(i + miao); + } + //鎱㈠叧闂� + var row3 = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(row3); + var btnCaption3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowClose), 400); + btnCaption3.TextSize = 15; + row3.AddRightArrow(); + var btnStatu3 = row3.AddMostRightView("", 400); + row3.ButtonClickEvent += (sender, e) => + { + PickerView.Show(listTime, (value) => + { + btnStatu3.Text = listTime[value]; + + }, 0, btnCaption3.Text, + Language.StringByID(R.MyInternationalizationString.uFinish), + Language.StringByID(R.MyInternationalizationString.uCancel)); + }; + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs index 27c3faf..53f7d21 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs @@ -200,7 +200,7 @@ btnIconContr.ButtonClickEvent += (sender, e) => { //妤煎眰鑿滃崟 - var contr = new TopRightMenuControl(dicFloor.Count, 449, Language.StringByID(R.MyInternationalizationString.SelectFloor)); + var contr = new TopRightMenuControl(dicFloor.Count, 2, Language.StringByID(R.MyInternationalizationString.SelectFloor)); foreach (var floorId in dicFloor.Keys) { contr.AddRowMenu(dicFloor[floorId], "Floor/Floor.png", "Floor/FloorSelected.png", () => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs new file mode 100755 index 0000000..b097cc1 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs @@ -0,0 +1,287 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter.DevicePirSensor +{ + /// <summary> + /// pir浼犳劅鍣ㄧ殑宸ヤ綔妯″紡鐨勮彍鍗曠晫闈� + /// </summary> + public class PirSensorWorkModeMenuForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// pir浼犳劅鍣ㄥ璞� + /// </summary> + private IASZone iASZone = null; + /// <summary> + /// 浼犳劅鍣ㄧ殑閰嶇疆淇℃伅 + /// </summary> + private IASZone.ConfigureParamates pirConfigure = null; + /// <summary> + /// 鏁版嵁鏄惁鏇存敼 + /// </summary> + private bool isDataChanged = false; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_iASZone">pir浼犳劅鍣�</param> + public void ShowForm(IASZone i_iASZone) + { + this.iASZone = i_iASZone; + + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uWorkMode)); + + HdlThreadLogic.Current.RunThread(async () => + { + //鑾峰彇鍒濆鏁版嵁 + var result = await this.GetDeviceAllDefultData(); + if (result == false) + { + return; + } + HdlThreadLogic.Current.RunMain(() => + { + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + }); + }); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + var frameBack = new FrameLayout(); + frameBack.Height = Application.GetRealHeight(11); + frameBack.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(frameBack); + + var listView = new VerticalListControl(12); + listView.Height = Application.GetRealHeight(700); + listView.Y = frameBack.Bottom; + listView.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(listView); + + //娣诲姞鎺у埗妯″紡琛� + this.AddControlModeRow(listView); + + //娣诲姞瑙﹀彂妯″紡琛� + this.AddTriggerModeRow(listView); + + //娣诲姞涓婃姤闂撮殧琛� + this.AddReportTimeSpaceRow(listView); + + //璋冩暣楂樺害 + listView.AdjustRealHeight(Application.GetRealHeight(23)); + + //淇濆瓨 + var btnSave = new BottomClickButton(); + btnSave.TextID = R.MyInternationalizationString.uSave; + bodyFrameLayout.AddChidren(btnSave); + btnSave.ButtonClickEvent += (sender, e) => + { + if (this.isDataChanged == false) + { + //鏁版嵁娌℃湁鍙樻洿杩�,鍏抽棴鐣岄潰 + this.CloseForm(); + return; + } + HdlThreadLogic.Current.RunThread(() => + { + //淇濆瓨Pir浼犳劅鍣ㄦ暟鎹� + this.SavePirSensorData(); + }); + }; + } + + #endregion + + #region 鈻� 鎺у埗妯″紡___________________________ + + /// <summary> + /// 娣诲姞鎺у埗妯″紡琛� + /// </summary> + /// <param name="listView"></param> + private void AddControlModeRow(VerticalListControl listView) + { + var listSelect = new List<string>(); + //鍏ㄨ嚜鍔ㄦā寮� + listSelect.Add(Language.StringByID(R.MyInternationalizationString.uFullAutoMode)); + //鍗婅嚜鍔ㄦā寮� + listSelect.Add(Language.StringByID(R.MyInternationalizationString.uHafeAutoMode)); + + //鎺у埗妯″紡 + var row1 = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(row1); + var btnCaption1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uControlMode), 400); + btnCaption1.TextSize = 15; + row1.AddRightArrow(); + var btnStatu = row1.AddMostRightView(this.pirConfigure.mode == 0 ? listSelect[1] : listSelect[0], 400); + row1.AddBottomLine(); + row1.ButtonClickEvent += (sender, e) => + { + var form = new BottomItemSelectForm(); + form.AddForm(btnCaption1.Text, listSelect, this.pirConfigure.mode == 0 ? 1 : 0); + form.FinishSelectEvent += (value) => + { + this.isDataChanged = true; + + btnStatu.Text = listSelect[value]; + this.pirConfigure.mode = value == 0 ? 1 : 0; + }; + }; + } + + #endregion + + #region 鈻� 瑙﹀彂妯″紡___________________________ + + /// <summary> + /// 娣诲姞瑙﹀彂妯″紡琛� + /// </summary> + /// <param name="listView"></param> + private void AddTriggerModeRow(VerticalListControl listView) + { + var listSelect = new List<string>(); + //璋冨厜妯″紡 + listSelect.Add(Language.StringByID(R.MyInternationalizationString.uDimmingMode)); + //寮�鍏虫ā寮� + listSelect.Add(Language.StringByID(R.MyInternationalizationString.uSwitchMode)); + + //瑙﹀彂妯″紡 + var row2 = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(row2); + var btnCaption2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTriggerMode), 400); + btnCaption2.TextSize = 15; + row2.AddRightArrow(); + var btnStatu2 = row2.AddMostRightView(this.pirConfigure.type == 0 ? listSelect[0] : listSelect[1], 400); + row2.AddBottomLine(); + row2.ButtonClickEvent += (sender, e) => + { + var form = new BottomItemSelectForm(); + form.AddForm(btnCaption2.Text, listSelect, this.pirConfigure.type); + form.FinishSelectEvent += (value) => + { + this.isDataChanged = true; + btnStatu2.Text = listSelect[value]; + + this.pirConfigure.type = value; + //濡傛灉鏄皟鍏夋ā寮�,鍒欒繘鍏ヤ笅涓�涓晫闈� + if (value == 0) + { + var form2 = new PirSensorDimmingModeForm(); + form2.AddForm(pirConfigure); + } + }; + }; + } + + #endregion + + #region 鈻� 涓婃姤闂撮殧___________________________ + + /// <summary> + /// 娣诲姞涓婃姤闂撮殧琛� + /// </summary> + /// <param name="listView"></param> + private void AddReportTimeSpaceRow(VerticalListControl listView) + { + var listTime = new List<string>(); + var miao = Language.StringByID(R.MyInternationalizationString.uSecond); + for (int i = 10; i <= 300; i += 5) + { + listTime.Add(i + miao); + } + //璁╁畠澶勪簬5鐨勬暣鍊嶆暟 + this.pirConfigure.iasReportPeriod = (this.pirConfigure.iasReportPeriod / 5) * 5; + + //涓婃姤闂撮殧 + var row3 = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(row3); + var btnCaption3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uReportTimeSpace), 400); + btnCaption3.TextSize = 15; + row3.AddRightArrow(); + var btnStatu3 = row3.AddMostRightView(this.pirConfigure.iasReportPeriod + miao, 400); + row3.ButtonClickEvent += (sender, e) => + { + PickerView.Show(listTime, (value) => + { + this.isDataChanged = true; + + btnStatu3.Text = listTime[value]; + this.pirConfigure.iasReportPeriod = Convert.ToInt32(listTime[value].Replace(miao, string.Empty)); + + }, 0, btnCaption3.Text, + Language.StringByID(R.MyInternationalizationString.uFinish), + Language.StringByID(R.MyInternationalizationString.uCancel)); + }; + } + + #endregion + + #region 鈻� 鑾峰彇鍒濆鏁版嵁_______________________ + + /// <summary> + /// 鑾峰彇鍒濆鏁版嵁 + /// </summary> + /// <returns></returns> + private async Task<bool> GetDeviceAllDefultData() + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + + //鑾峰彇鐏厜鐨勯厤缃俊鎭� + this.pirConfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(this.iASZone); + if (pirConfigure == null) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return false; + } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + + return true; + } + + #endregion + + #region 鈻� 鏁版嵁淇濆瓨___________________________ + + /// <summary> + /// 淇濆瓨Pir浼犳劅鍣ㄦ暟鎹� + /// </summary> + private async void SavePirSensorData() + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + //淇濆瓨閰嶇疆淇℃伅 + var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.iASZone, this.pirConfigure); + + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + + if (result == true) + { + HdlThreadLogic.Current.RunMain(() => + { + //鐣岄潰鍏抽棴 + this.CloseForm(); + }); + } + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs index 69ed5cb..26284d3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs @@ -62,6 +62,7 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, Gravity = Gravity.CenterVertical, + TextSize=14, }; RowView.AddChidren(btnText); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs index 5a82b3d..d9adbb7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs @@ -85,9 +85,9 @@ { X = Application.GetRealWidth(446), Y = Application.GetRealHeight(330), - Height = Application.GetRealHeight(81 / 2), + Height = Application.GetRealHeight(76 / 2), Width = Application.GetRealWidth(407), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, TextSize = 10, TextAlignment = TextAlignment.CenterLeft, }; @@ -97,9 +97,9 @@ { X = Application.GetRealWidth(446), Y = btnPicTip1.Bottom, - Height = Application.GetRealHeight(81 / 2), + Height = Application.GetRealHeight(76 / 2), Width = Application.GetRealWidth(207), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, TextSize = 10, TextAlignment = TextAlignment.CenterLeft, }; @@ -109,9 +109,9 @@ { X = Application.GetRealWidth(294), Y = Application.GetRealHeight(1089), - Height = Application.GetRealHeight(173 / 2), + Height = Application.GetRealHeight(100 / 2), Width = Application.GetRealWidth(488), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, Gravity = Gravity.CenterHorizontal, TextSize = 14, }; @@ -120,10 +120,10 @@ var btnPicTip4 = new Button { X = Application.GetRealWidth(397), - Y = btnPicTip3.Bottom, + Y = btnPicTip3.Y + Application.GetRealHeight(50), Width = Application.GetRealWidth(288), - Height = Application.GetRealHeight(173 / 2), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + Height = Application.GetRealHeight(100 / 2), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, Gravity = Gravity.CenterHorizontal, TextSize = 14, }; @@ -135,7 +135,7 @@ Y = Application.GetRealHeight(1388), Height = Application.GetRealHeight(49), Width = Application.GetRealWidth(685), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.CenterHorizontal, TextSize = 12, }; @@ -151,7 +151,8 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, Gravity = Gravity.CenterHorizontal, Radius = (uint)Application.GetRealHeight(127 / 2), - TextSize = 20, + TextSize = 16, + IsBold =true, Enable = false, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, }; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs index 12f0ba6..cdc7424 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs @@ -242,7 +242,6 @@ deleteDoorLockData.PrimaryId = curDoorLockUser.Id; deleteDoorLockData.DelDoorLockDelType = 2; var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - int i = 0; } } } @@ -331,7 +330,6 @@ deleteDoorLockData.PrimaryId = curDoorLockUser.Id; deleteDoorLockData.DelDoorLockDelType = 2; var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - int i = 0; } } } @@ -379,7 +377,10 @@ { for (int j = 1; j < getDoorLockInfoList.TotalPages; j++) { - var getDoorLockInfoListTemp = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAccountInfolist(doorLock, j + 1); + var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; + pageSetting.Page = j + 1; + localDoorLockObj.pageSetting = pageSetting; + var getDoorLockInfoListTemp = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); if (getDoorLockInfoListTemp != null) { if (getDoorLockInfoListTemp.PageData.Count != 0) @@ -460,7 +461,7 @@ return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<List<ZigBee.Device.DoorLock.GetDoorLockDataRes>>>)(async () => { var getDoorLockInfoAllList = new List<ZigBee.Device.DoorLock.GetDoorLockDataRes> { }; - int curPage = 1; + // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; @@ -488,7 +489,10 @@ { for (int j = 1; j < getDoorLockInfoList.TotalPages; j++) { - var getDoorLockInfoListTemp = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAccountInfolist(doorLock, j + 1); + var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; + pageSetting.Page = j + 1; + localDoorLockObj.pageSetting = pageSetting; + var getDoorLockInfoListTemp = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); if (getDoorLockInfoListTemp != null) { getDoorLockInfoAllList.Add(getDoorLockInfoListTemp); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs index 1608b0c..3e676f5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs @@ -16,23 +16,12 @@ public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1921 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout }; #region 鈼� 搴曢儴鏈夊渾瑙掑竷灞�__________________________ public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 }; - public FrameLayout bottomRadiusFrameLayout1 = new FrameLayout() - { - Height = Application.GetRealHeight(100), - Y = Application.GetRealHeight(930), - Radius = 17, - BackgroundColor = ZigbeeColor.Current.XMWhite, - }; - public FrameLayout bottomRadiusFrameLayout2 = new FrameLayout() - { - Height = Application.GetRealHeight(806 - 50), - Y = Application.GetRealHeight(930 + 48), - BackgroundColor = ZigbeeColor.Current.XMWhite, - }; + public FrameLayout bottomRadiusFrameLayout = new FrameLayout() { - Height = Application.GetRealHeight(806), + Height = Application.GetRealHeight(906), Y = Application.GetRealHeight(930), + BackgroundColor = ZigbeeColor.Current.XMWhite, }; public Button btnCancel = new Button @@ -186,10 +175,9 @@ /// </summary> /// <param name="frameLayout"></param> public void BottomRadiusFrameLayout(FrameLayout frameLayout) - { - this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout1); - this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout2); + { this.shadowRadiusFrameLayout.AddChidren(this.bottomRadiusFrameLayout); + this.bottomRadiusFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); this.bottomRadiusFrameLayout.AddChidren(btnCancel); this.bottomRadiusFrameLayout.AddChidren(btnBottomTitle); this.bottomRadiusFrameLayout.AddChidren(btnFinish); @@ -341,14 +329,14 @@ ZigBee.Device.DoorLock.RemoteUnlockCount--; string tipText = Language.StringByID(R.MyInternationalizationString.OperrateFailed) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity); CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); + new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); return; } } else { CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); return; } }; @@ -536,7 +524,7 @@ doorDialog3.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock); doorDialog3.dialogMidText.TextAlignment = TextAlignment.Center; doorDialog3.dialogMidFraFrameLayout.AddChidren(doorDialog3.dialogMidText); - doorDialog3.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.Confrim); + doorDialog3.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); doorDialog3.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => { dialog3.Close(); @@ -547,7 +535,7 @@ { System.Threading.Tasks.Task.Run(async () => { - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); try { Application.RunOnMainThread(() => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs index 5361754..3719595 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs @@ -66,6 +66,7 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, Gravity = Gravity.CenterHorizontal, TextSize = 20, + IsBold =true, }; this.midFrameLayout.AddChidren(btnPicTip); @@ -193,6 +194,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, Radius = (uint)Application.GetRealHeight(127 / 2), TextSize = 16, + IsBold =true, }; bottomFrameLayout.AddChidren(completeBtn); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs index 0d18c15..2fdcbd5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs @@ -73,36 +73,50 @@ BackgroundImagePath = "DoorLock/DoorlockPicture.png", }; this.midFrameLayout.AddChidren(MidTopFrameLayout); + + var btnDeviceText = new Button() + { + Y = Application.GetRealHeight(288), + Height = Application.GetRealHeight(60), + Gravity = Gravity.CenterHorizontal, + TextColor = ZigbeeColor.Current.XMBlack, + TextSize = 15, + Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock), + }; + this.midFrameLayout.AddChidren(btnDeviceText); + BottomFrameLayout(); } public void BottomFrameLayout() { #region UI + //var bottomFrameLayout = new FrameLayout() + //{ + // Height = Application.GetRealHeight(100), + // Y = Application.GetRealHeight(418), + // Radius = 17, + // BackgroundColor = ZigbeeColor.Current.XMWhite, + //}; + //this.midFrameLayout.AddChidren(bottomFrameLayout); + + //var bottomFrameLayout1 = new FrameLayout() + //{ + // Height = Application.GetRealHeight(1319 - 50), + // Y = Application.GetRealHeight(418 + 48), + // BackgroundColor = ZigbeeColor.Current.XMWhite, + //}; + //this.midFrameLayout.AddChidren(bottomFrameLayout1); + var bottomFrameLayout = new FrameLayout() { - Height = Application.GetRealHeight(100), + Height = Application.GetRealHeight(1319), Y = Application.GetRealHeight(418), - Radius = 17, BackgroundColor = ZigbeeColor.Current.XMWhite, - }; + }; this.midFrameLayout.AddChidren(bottomFrameLayout); - - var bottomFrameLayout1 = new FrameLayout() - { - Height = Application.GetRealHeight(1319 - 50), - Y = Application.GetRealHeight(418 + 48), - BackgroundColor = ZigbeeColor.Current.XMWhite, - }; - this.midFrameLayout.AddChidren(bottomFrameLayout1); - - var bottomFrameLayout2 = new FrameLayout() - { - Height = Application.GetRealHeight(1000), - Y = Application.GetRealHeight(418), - }; - this.midFrameLayout.AddChidren(bottomFrameLayout2); - + bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + var informationEdit = new Button() { Height = Application.GetRealHeight(60), @@ -113,7 +127,7 @@ TextAlignment = TextAlignment.CenterLeft, TextSize = 15, }; - bottomFrameLayout2.AddChidren(informationEdit); + bottomFrameLayout.AddChidren(informationEdit); for (int i = 0; i < 6; i++) { @@ -121,7 +135,7 @@ { Height = Application.GetRealHeight(58), }; - bottomFrameLayout2.AddChidren(bottomRowLayout); + bottomFrameLayout.AddChidren(bottomRowLayout); var btnName = new Button() { @@ -158,7 +172,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, Visible = false, }; - bottomFrameLayout2.AddChidren(btnLine); + bottomFrameLayout.AddChidren(btnLine); if (i == 0) { @@ -172,6 +186,7 @@ Width = Application.GetRealWidth(731), Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.XMGray3, + TextSize = 14, PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor2, TextAlignment = TextAlignment.CenterLeft, Text = string.IsNullOrEmpty(doorLock.DeviceName) ? Language.StringByID(R.MyInternationalizationString.UNKnown) : doorLock.DeviceName, @@ -244,7 +259,7 @@ btnNext.Height = Application.GetRealHeight(58); btnNext.Text = doorLock.DeviceName; btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; - + btnNext.TextSize = 14; btnLine.Visible = true; btnLine.Y = Application.GetRealHeight(575); } @@ -370,10 +385,13 @@ } } }; - bottomRowLayout.MouseDownEventHandler += eHandler; btnNext.MouseDownEventHandler += eHandler; - btnName.MouseDownEventHandler += eHandler; - btnNextFrameLayout.MouseDownEventHandler += eHandler; + if (i != 4) + { + bottomRowLayout.MouseDownEventHandler += eHandler; + btnName.MouseDownEventHandler += eHandler; + btnNextFrameLayout.MouseDownEventHandler += eHandler; + } #endregion } @@ -389,6 +407,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 16, + IsBold =true, }; this.midFrameLayout.AddChidren(btnFinifh); btnFinifh.MouseUpEventHandler += (sender, e) => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs index 10be4e8..62b22d3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs @@ -55,35 +55,50 @@ BackgroundImagePath = "DoorLock/DoorlockPicture.png", }; this.midFrameLayout.AddChidren(MidTopFrameLayout); + + var btnDeviceText = new Button() + { + Y = Application.GetRealHeight(288), + Height = Application.GetRealHeight(60), + Gravity = Gravity.CenterHorizontal, + TextColor = ZigbeeColor.Current.XMBlack, + TextSize = 15, + Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock), + }; + this.midFrameLayout.AddChidren(btnDeviceText); + BottomFrameLayout(); } public void BottomFrameLayout() { #region UI + //var bottomFrameLayout = new FrameLayout() + //{ + // Height = Application.GetRealHeight(100), + // Y = Application.GetRealHeight(418), + // Radius = 17, + // BackgroundColor = ZigbeeColor.Current.XMWhite, + //}; + //this.midFrameLayout.AddChidren(bottomFrameLayout); + + //var bottomFrameLayout1 = new FrameLayout() + //{ + // Height = Application.GetRealHeight(1319 - 50), + // Y = Application.GetRealHeight(418 + 48), + // BackgroundColor = ZigbeeColor.Current.XMWhite, + //}; + //this.midFrameLayout.AddChidren(bottomFrameLayout1); + var bottomFrameLayout = new FrameLayout() - { - Height = Application.GetRealHeight(100), - Y = Application.GetRealHeight(418), - Radius = 17, - BackgroundColor = ZigbeeColor.Current.XMWhite, - }; - this.midFrameLayout.AddChidren(bottomFrameLayout); - - var bottomFrameLayout1 = new FrameLayout() - { - Height = Application.GetRealHeight(1319 - 50), - Y = Application.GetRealHeight(418 + 48), - BackgroundColor = ZigbeeColor.Current.XMWhite, - }; - this.midFrameLayout.AddChidren(bottomFrameLayout1); - - var bottomFrameLayout2 = new FrameLayout() { Height = Application.GetRealHeight(1319), Y = Application.GetRealHeight(418), + BackgroundColor = ZigbeeColor.Current.XMWhite, }; - this.midFrameLayout.AddChidren(bottomFrameLayout2); + this.midFrameLayout.AddChidren(bottomFrameLayout); + bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + var informationEdit = new Button() { @@ -95,7 +110,7 @@ TextAlignment = TextAlignment.CenterLeft, TextSize = 15, }; - bottomFrameLayout2.AddChidren(informationEdit); + bottomFrameLayout.AddChidren(informationEdit); for (int i = 0; i < 4; i++) { @@ -103,7 +118,7 @@ { Height = Application.GetRealHeight(58), }; - bottomFrameLayout2.AddChidren(bottomRowLayout); + bottomFrameLayout.AddChidren(bottomRowLayout); var btnName = new Button() { @@ -140,7 +155,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, Visible = false, }; - bottomFrameLayout2.AddChidren(btnLine); + bottomFrameLayout.AddChidren(btnLine); if (i == 0) { @@ -154,6 +169,7 @@ Width = Application.GetRealWidth(731), Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.XMGray3, + TextSize = 14, PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor2, TextAlignment = TextAlignment.CenterLeft, Text = string.IsNullOrEmpty(doorLock.DeviceName) ? Language.StringByID(R.MyInternationalizationString.UNKnown) : doorLock.DeviceName, @@ -225,7 +241,7 @@ btnNext.Height = Application.GetRealHeight(58); btnNext.Text = doorLock.DeviceName; btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; - + btnNext.TextSize = 14; btnLine.Visible = true; btnLine.Y = Application.GetRealHeight(575); } @@ -285,10 +301,13 @@ } } }; - bottomRowLayout.MouseDownEventHandler += eHandler; btnNext.MouseDownEventHandler += eHandler; - btnName.MouseDownEventHandler += eHandler; - btnNextFrameLayout.MouseDownEventHandler += eHandler; + if (i != 3) + { + bottomRowLayout.MouseDownEventHandler += eHandler; + btnName.MouseDownEventHandler += eHandler; + btnNextFrameLayout.MouseDownEventHandler += eHandler; + } #endregion } @@ -304,6 +323,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 16, + IsBold =true, }; this.midFrameLayout.AddChidren(btnFinifh); btnFinifh.MouseUpEventHandler += (sender, e) => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs index 1d333f0..b1e0ddb 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs @@ -87,7 +87,7 @@ Y = Application.GetRealHeight(58), Height = Application.GetRealHeight(58), Width = Application.GetRealWidth(58), - UnSelectedImagePath = "Item/Next.png", + UnSelectedImagePath = "Item/RightNext.png", SelectedImagePath = "Item/Down.png", }; RowView.AddChidren(btnRight); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs index 0386a10..15a960b 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs @@ -33,6 +33,24 @@ var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, curAccountObj.SubAccountDistributedMark); var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, curAccountObj.SubAccountDistributedMark); + var result2 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, curAccountObj?.SubAccountDistributedMark); + if (result2 == true) + { + doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true; + } + else + { + doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false; + } + var result3 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, curAccountObj.SubAccountDistributedMark); + if (result3 == true) + { + doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true; + } + else + { + doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false; + } } catch { } finally @@ -148,8 +166,7 @@ btnRight.Width = Application.GetRealWidth(104); btnRight.UnSelectedImagePath = "DoorLock/Switch.png"; btnRight.SelectedImagePath = "DoorLock/SwitchOn.png"; - - var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, curAccountObj.SubAccountDistributedMark); + var result = doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark]; if (result == true) { btnRight.IsSelected = true; @@ -172,7 +189,7 @@ btnRight.SelectedImagePath = "DoorLock/SwitchOn.png"; line2.Visible = false; - var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, curAccountObj.SubAccountDistributedMark); + var result1 = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; if (result1 == true) { btnRight.IsSelected = true; @@ -247,585 +264,521 @@ } } - //鍐荤粨璐︽埛 void FreezeUser(bool isFreeze) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureToFreezeAccount), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += (sender1, e1) => - { - if (e1) - { - System.Threading.Tasks.Task.Run(async () => - { - int successConunt = 0; - int operateConunt = -1; - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - try - { - var doorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); - if (curAccountDoorLockUserList.Count != 0) - { - //淇敼浜戠瀛樺偍淇℃伅 - operateConunt = curAccountDoorLockUserList.Count; - var tempGroupId = new List<List<int>>(); - var tempUserIdList = new List<int> { }; - var tempUserObjList = new List<ZigBee.Device.DoorLock.CloudDoorLockObj> { }; - foreach (var curDoorLockUser in curAccountDoorLockUserList) - { - // 璐︽埛涓病鏈夐棬閿佺敤鎴� - if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "") - { - if (isFreeze) - { - var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - refreshDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - refreshDoorLockData.PrimaryId = curDoorLockUser.Id; - refreshDoorLockData.IsFreezeUser = true; - refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; - //鍐荤粨浜戠 - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - else - { - var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - refreshDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - refreshDoorLockData.PrimaryId = curDoorLockUser.Id; - refreshDoorLockData.IsFreezeUser = false; - refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; - //瑙e喕浜戠 - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - } - else - { - if (tempUserIdList.Count == 9) - { - tempGroupId.Add(tempUserIdList); - tempUserIdList = new List<int>(); - } - tempUserIdList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId)); - tempUserObjList.Add(curDoorLockUser); - } - } - tempGroupId.Add(tempUserIdList); - //鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛 - ZigBee.Device.DoorLock.AccessType accessType; - if (isFreeze) - { - accessType = ZigBee.Device.DoorLock.AccessType.DisEnableMoreUsers; - } - else - { - accessType = ZigBee.Device.DoorLock.AccessType.EnableMoreUsers; - } - //鍐荤粨/瑙e喕鐢ㄦ埛 - int count1 = tempGroupId.Count; - int count2 = 0; - - for (int i = 0; i < tempGroupId.Count; i++) - { - var tempUserIdList1 = tempGroupId[i]; - if (tempUserIdList1.Count == 0) - { - return; - } - var passData = doorLock.FreezeAccountData(tempUserIdList1, accessType); - var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null) - { - if (resultData.defaultControlResponseData.status == 32) - { - count2++; - } - else if (resultData.defaultControlResponseData.status == 33) - { - count2++; - } - - System.Threading.Thread.Sleep(3000); - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); - }); - return; - } - } - - // 鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛鍚庯紝鍑嗗鍐荤粨浜戠璐︽埛 - if (count2 == count1) - { - foreach (var curDoorLockUser in tempUserObjList) - { - if (isFreeze) - { - var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - refreshDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - - refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode; - refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; - refreshDoorLockData.PrimaryId = curDoorLockUser.Id; - refreshDoorLockData.IsFreezeUser = true; - refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; - //鍐荤粨浜戠 - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); - }); - } - } - else - { - var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - refreshDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - - refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode; - refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; - refreshDoorLockData.PrimaryId = curDoorLockUser.Id; - refreshDoorLockData.IsFreezeUser = false; - refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; - //瑙e喕浜戠 - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); - }); - } - } - } - } - else - { - Application.RunOnMainThread(() => - { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); - } - return; - }); - } - } - else - { - //娣诲姞浜戠瀛樺偍淇℃伅 - //鍐荤粨/瑙e喕浜戠 - var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - addLockInfo.IsOtherAccountCtrl = true; - } - addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark; - if (doorLock.DeviceAddr != null) - { - addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - addLockInfo.EntryTime = System.DateTime.Now; - if (isFreeze) - { - addLockInfo.IsFreezeUser = true; - } - else - { - addLockInfo.IsFreezeUser = false; - } - addLockInfo.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); - if (result != null) - { - if (result.StateCode == "Success") - { - operateConunt = 0; - } - else - { - Application.RunOnMainThread(() => - { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - - }); - } - } - } - catch { } - finally - { - if (operateConunt == successConunt) - { - if (isFreeze) - { - doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true; - } - else - { - doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false; - } - doorLock.ReSave(); - } - Application.RunOnMainThread(() => - { - MidRefresh(); - CommonPage.Loading.Hide(); - }); - } - }); - } - else - { - MidRefresh(); - } - }; - } - - //鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢 - void HasRemoteUnlockAccessMethod(bool hasAccess) - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += (sender1, e1) => + var dialog = new Dialog { }; + string textFreeze = ""; + if (isFreeze) { - if (e1) - { - System.Threading.Tasks.Task.Run(async () => - { - int successConunt = 0; - int operateConunt = -1; - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); - try - { - var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); - var uList = new List<string> { }; - if (resultList != null) - { - foreach (var a in resultList) - { - uList.Add(a.CloudAccountId); + textFreeze = Language.StringByID(R.MyInternationalizationString.SureToFreezeAccount); + } + else + { + textFreeze = Language.StringByID(R.MyInternationalizationString.SureToUnFreeze); + } + var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog.Show(); + doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogMidText.Text = textFreeze; + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => + { + MidRefresh(); + dialog.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) => + { + System.Threading.Tasks.Task.Run(async () => + { + int successConunt = 0; + int operateConunt = -1; + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + try + { + var doorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); + if (curAccountDoorLockUserList.Count != 0) + { + //淇敼浜戠瀛樺偍淇℃伅 + operateConunt = curAccountDoorLockUserList.Count; + var tempGroupId = new List<List<int>>(); + var tempUserIdList = new List<int> { }; + foreach (var curDoorLockUser in curAccountDoorLockUserList) + { + // 璐︽埛涓病鏈夐棬閿佺敤鎴� + if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "") + { + // + } + else + { + if (tempUserIdList.Count == 9) + { + tempGroupId.Add(tempUserIdList); + tempUserIdList = new List<int>(); + } + tempUserIdList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId)); } } - var d = uList.Find((value) => { return value == curAccountObj.SubAccountDistributedMark; }); - if (d != null) - { - //淇敼浜戠瀛樺偍淇℃伅 - var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); + tempGroupId.Add(tempUserIdList); + //鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛 + ZigBee.Device.DoorLock.AccessType accessType; + if (isFreeze) + { + accessType = ZigBee.Device.DoorLock.AccessType.DisEnableMoreUsers; + } + else + { + accessType = ZigBee.Device.DoorLock.AccessType.EnableMoreUsers; + } + //鍐荤粨/瑙e喕鐢ㄦ埛 + int count1 = tempGroupId.Count; + int count2 = 0; - foreach (var curDoorLockUser in curAccountDoorLockUserList) - { - operateConunt = curAccountDoorLockUserList.Count; - if (hasAccess) - { - var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - refreshDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - refreshDoorLockData.PrimaryId = curDoorLockUser.Id; - refreshDoorLockData.IsFreezeUser = false; - refreshDoorLockData.IsTempUnlockAuthority = true; - // 鎺堟潈 - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - else - { - var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - refreshDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - refreshDoorLockData.PrimaryId = curDoorLockUser.Id; - refreshDoorLockData.IsFreezeUser = false; - refreshDoorLockData.IsTempUnlockAuthority = false; - //鍙栨秷鏉冮檺 - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } - } - } - } - else + int tempCount = 0; + for (int i = 0; i < tempGroupId.Count; i++) { - //鏂板锛屼笖涓嶅喕缁� - var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + var tempUserIdList1 = tempGroupId[i]; + if (tempUserIdList1.Count == 0) { - addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - addLockInfo.IsOtherAccountCtrl = true; + return; } - addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark; - if (doorLock.DeviceAddr != null) - { - addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - addLockInfo.EntryTime = System.DateTime.Now; - addLockInfo.IsFreezeUser = false; - if (hasAccess) - { - addLockInfo.IsTempUnlockAuthority = true; - } - else - { - addLockInfo.IsTempUnlockAuthority = false; - } - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); - if (result != null) - { - if (result.StateCode == "Success") + var passData = doorLock.FreezeAccountData(tempUserIdList1, accessType); + var resultData = await doorLock.DefaultControlAsync(passData); + if (resultData != null && resultData.defaultControlResponseData != null) + { + if (resultData.defaultControlResponseData.status == 32) { - operateConunt = 0; + count2++; } - else + else if (resultData.defaultControlResponseData.status == 33) { - Application.RunOnMainThread(() => - { - if (hasAccess) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - return; - }); + count2++; } + //if (tempCount == tempGroupId.Count - 1) + //{ + System.Threading.Thread.Sleep(1000); + //} } else { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); + }); + return; + } + tempCount++; + } + + // 鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛鍚庯紝鍑嗗鍐荤粨浜戠璐︽埛 + if (count2 == count1) + { + foreach (var curDoorLockUser in curAccountDoorLockUserList) + { + if (isFreeze) + { + var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + refreshDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + + refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode; + refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; + refreshDoorLockData.PrimaryId = curDoorLockUser.Id; + refreshDoorLockData.IsFreezeUser = true; + refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; + //鍐荤粨浜戠 + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + successConunt++; + } + else + { + Application.RunOnMainThread(() => + { + if (isFreeze) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + return; + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); + }); + } + } + else + { + var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + refreshDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + + refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode; + refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; + refreshDoorLockData.PrimaryId = curDoorLockUser.Id; + refreshDoorLockData.IsFreezeUser = false; + refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; + //瑙e喕浜戠 + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + successConunt++; + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); + }); + } + } + } + } + else + { + Application.RunOnMainThread(() => + { + if (isFreeze) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance); + } + }); + } + } + else + { + //娣诲姞浜戠瀛樺偍淇℃伅 + //鍐荤粨/瑙e喕浜戠 + var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + addLockInfo.IsOtherAccountCtrl = true; + } + addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark; + if (doorLock.DeviceAddr != null) + { + addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + addLockInfo.EntryTime = System.DateTime.Now; + if (isFreeze) + { + addLockInfo.IsFreezeUser = true; + } + else + { + addLockInfo.IsFreezeUser = false; + } + addLockInfo.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark]; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); + if (result != null) + { + if (result.StateCode == "Success") + { + operateConunt = 0; + } + else + { + Application.RunOnMainThread(() => + { + if (isFreeze) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + return; }); } } - - } - catch { } - finally - { - if (operateConunt == successConunt) + else { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + + }); + } + } + } + catch { } + finally + { + if (operateConunt == successConunt) + { + if (isFreeze) + { + doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true; + } + else + { + doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false; + } + doorLock.ReSave(); + } + Application.RunOnMainThread(() => + { + MidRefresh(); + CommonPage.Loading.Hide(); + }); + } + }); + dialog.Close(); + }; + } + + //鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢 + void HasRemoteUnlockAccessMethod(bool hasAccess) + { + var dialog = new Dialog { }; + var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog.Show(); + doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => + { + MidRefresh(); + dialog.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) => + { + System.Threading.Tasks.Task.Run(async () => + { + int successConunt = 0; + int operateConunt = -1; + Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); + try + { + var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); + var uList = new List<string> { }; + if (resultList != null) + { + foreach (var a in resultList) + { + uList.Add(a.CloudAccountId); + } + } + var d = uList.Find((value) => { return value == curAccountObj.SubAccountDistributedMark; }); + if (d != null) + { + //淇敼浜戠瀛樺偍淇℃伅 + var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); + + foreach (var curDoorLockUser in curAccountDoorLockUserList) + { + operateConunt = curAccountDoorLockUserList.Count; if (hasAccess) { - doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true; + var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + refreshDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + refreshDoorLockData.PrimaryId = curDoorLockUser.Id; + refreshDoorLockData.IsFreezeUser = false; + refreshDoorLockData.IsTempUnlockAuthority = true; + // 鎺堟潈 + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + successConunt++; + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } } else { - doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false; + var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + refreshDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + refreshDoorLockData.PrimaryId = curDoorLockUser.Id; + refreshDoorLockData.IsFreezeUser = false; + refreshDoorLockData.IsTempUnlockAuthority = false; + //鍙栨秷鏉冮檺 + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + successConunt++; + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } } - doorLock.ReSave(); } - Application.RunOnMainThread(() => - { - MidRefresh(); - CommonPage.Loading.Hide(); - }); } - }); - } - else - { - MidRefresh(); - } + else + { + //鏂板锛屼笖涓嶅喕缁� + var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + addLockInfo.IsOtherAccountCtrl = true; + } + addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark; + if (doorLock.DeviceAddr != null) + { + addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + addLockInfo.EntryTime = System.DateTime.Now; + addLockInfo.IsFreezeUser = false; + if (hasAccess) + { + addLockInfo.IsTempUnlockAuthority = true; + } + else + { + addLockInfo.IsTempUnlockAuthority = false; + } + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); + if (result != null) + { + if (result.StateCode == "Success") + { + operateConunt = 0; + } + else + { + Application.RunOnMainThread(() => + { + if (hasAccess) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + return; + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } + } + + } + catch { } + finally + { + if (operateConunt == successConunt) + { + if (hasAccess) + { + doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true; + } + else + { + doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false; + } + doorLock.ReSave(); + } + Application.RunOnMainThread(() => + { + MidRefresh(); + CommonPage.Loading.Hide(); + }); + } + }); + dialog.Close(); }; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs index 66cccba..7016ce3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs @@ -90,7 +90,7 @@ Y = Application.GetRealHeight(58), Height = Application.GetRealHeight(58), Width = Application.GetRealWidth(58), - UnSelectedImagePath = "Item/Next.png", + UnSelectedImagePath = "Item/RightNext.png", SelectedImagePath = "Item/Down.png", }; RowView.AddChidren(btnRight); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs index 0987e21..81aaa5f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs @@ -107,7 +107,8 @@ TextAlignment = TextAlignment.CenterLeft, Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword), TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, - TextSize = 12, + TextSize = 14, + IsBold =true, }; delBackgroundFrameLayout.AddChidren(btnDelText); @@ -181,7 +182,7 @@ Y = Application.GetRealHeight(48), TextAlignment = TextAlignment.Center, Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate), - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 12, Visible = true, Enable = true, @@ -226,7 +227,7 @@ Height = Application.GetRealHeight(49), Width = Application.GetRealWidth(84 + 135), Y = Application.GetRealHeight(441), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 12, TextAlignment = TextAlignment.CenterRight, }; @@ -250,7 +251,7 @@ Width = Application.GetRealWidth(717 - 508), X = Application.GetRealWidth(508), Y = Application.GetRealHeight(444), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.CenterLeft, TextSize = 12, }; @@ -341,7 +342,8 @@ BackgroundColor = ZigbeeColor.Current.XMWhite, }; this.midFrameLayout.AddChidren(bottomFrameLayout); - + bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + var informationEdit = new Button() { Height = Application.GetRealHeight(60), @@ -393,7 +395,7 @@ { Width = Application.GetRealWidth(58), Height = Application.GetRealHeight(58), - UnSelectedImagePath = "Item/Next.png", + UnSelectedImagePath = "Item/RightNext.png", SelectedImagePath = "Item/Down.png", }; btnNextFrameLayout.AddChidren(btnNext); @@ -508,6 +510,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 16, + IsBold =true, Enable = false, }; bottomFrameLayout.AddChidren(btnFinifh); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs index bd30cea..38ceff3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs @@ -163,7 +163,7 @@ X = Application.GetRealWidth(58), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, + TextSize = 14, }; rowLayout.AddChidren(btnDateTime); @@ -187,7 +187,7 @@ { Width = Application.GetRealWidth(58), Height = Application.GetRealHeight(58), - UnSelectedImagePath = "Item/Next.png", + UnSelectedImagePath = "Item/RightNext.png", SelectedImagePath = "Item/Down.png", }; btnNextFrameLayout.AddChidren(btnNext); @@ -210,7 +210,7 @@ { TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.CenterRight, - TextSize = 12, + TextSize = 14, Text = "_" + Language.StringByID(R.MyInternationalizationString.Year) + "_" + Language.StringByID(R.MyInternationalizationString.Month) + "_" + Language.StringByID(R.MyInternationalizationString.Day), }; textDisplayDateFrameLayout.AddChidren(textDisplayDate); @@ -241,7 +241,7 @@ { TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.CenterRight, - TextSize = 12, + TextSize = 14, Text = "00:00", }; textDisplayDateFrameLayout.AddChidren(textDisplayTime); @@ -282,13 +282,72 @@ EventHandler<MouseEventArgs> hander = (sender, e) => { this.midFrameLayout.AddChidren(this.shadowRadiusFrameLayout); + this.bottomRadiusFrameLayout.RemoveAll(); this.BottomRadiusFrameLayout(this); - var mUIPickerView = new UIPickerView() { X = Application.GetRealWidth(0), }; this.bottomRadiusFrameLayout.AddChidren(mUIPickerView); + + var btnTextM = new Button() + { + Width = Application.GetRealWidth(0), + Height = Application.GetRealHeight(58), + Y = Application.GetRealHeight(372), + Text= "鏈�", + TextSize=14, + TextColor=ZigbeeColor.Current.XMBlack, + }; + this.bottomRadiusFrameLayout.AddChidren(btnTextM); + var btnTextD = new Button() + { + Width = Application.GetRealWidth(0), + Height = Application.GetRealHeight(58), + Y = Application.GetRealHeight(372), + Text = "鏃�", + TextColor = ZigbeeColor.Current.XMBlack, + TextSize = 14, + }; + this.bottomRadiusFrameLayout.AddChidren(btnTextD); + + var btnLine1 = new FrameLayout() + { + Width = Application.GetRealWidth(0), + Height = 2, + Y = Application.GetRealHeight(161 + 177), + BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine, + }; + this.bottomRadiusFrameLayout.AddChidren(btnLine1); + + var btnLine2 = new FrameLayout() + { + Width = Application.GetRealWidth(0), + Height = btnLine1.Height, + X = Application.GetRealWidth(246+588), + Y = btnLine1.Y, + BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine, + }; + this.bottomRadiusFrameLayout.AddChidren(btnLine2); + + var btnLine3 = new FrameLayout() + { + Width = Application.GetRealWidth(0), + Height = 2, + Y = Application.GetRealHeight(161 + 269), + BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine, + }; + this.bottomRadiusFrameLayout.AddChidren(btnLine3); + + var btnLine4 = new FrameLayout() + { + Width = Application.GetRealWidth(0), + Height = btnLine3.Height, + X = btnLine2.X, + Y = btnLine3.Y, + BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine, + }; + this.bottomRadiusFrameLayout.AddChidren(btnLine4); if (curIndex == 0) { @@ -318,15 +377,56 @@ for (int m = 1; m < 13; m++) { mList2.Add(m.ToString()); + if (Language.CurrentLanguage == "Chinese") + { + btnTextM.Width = Application.GetRealWidth(100); + if (setTimeType != "DoorLockTime") + { + btnTextM.X = Application.GetRealWidth(418); + } + else + { + btnTextM.X = Application.GetRealWidth(566); + } + + } + else + { + btnTextM.Width = Application.GetRealWidth(0); + } + } for (int d = 1; d < days + 1; d++) { mList3.Add(d.ToString()); + if (Language.CurrentLanguage == "Chinese") + { + btnTextD.Width = Application.GetRealWidth(100); + if (setTimeType != "DoorLockTime") + { + btnTextD.X = Application.GetRealWidth(710); + } + else + { + btnTextD.X = Application.GetRealWidth(922); + } + } + else + { + btnTextD.Width = Application.GetRealWidth(0); + } } if (setTimeType != "DoorLockTime") { mUIPickerView.setNPicker(mList2, mList3, null); + mUIPickerView.Width = Application.GetRealWidth(588); + mUIPickerView.X = Application.GetRealWidth(246); + btnLine1.Width=btnLine2.Width= btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250); + btnLine1.Y = Application.GetRealHeight(161 + 177+15); + btnLine2.Y = Application.GetRealHeight(161 + 177 + 15); + btnLine3.Y = Application.GetRealHeight(161 + 269+15); + btnLine4.Y = Application.GetRealHeight(161 + 269 + 15); mUIPickerView.setCurrentItems(dtNow.Month - 1, dtNow.Day - 1, 0); curMonth = dtNow.Month; curDay = dtNow.Day; @@ -373,12 +473,16 @@ timeSetAction(); } this.shadowRadiusFrameLayout.RemoveFromParent(); + this.bottomRadiusFrameLayout.RemoveFromParent(); MidFrameLayoutContent(); }; } else { mUIPickerView.setNPicker(mList1, mList2, mList3); + mUIPickerView.Width = Application.GetRealWidth(1080); + mUIPickerView.X = Application.GetRealWidth(0); + btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(0); mUIPickerView.setCurrentItems(dtNow.Year, dtNow.Month - 1, dtNow.Day - 1); curYear = dtNow.Year; curMonth = dtNow.Month; @@ -394,7 +498,7 @@ curHour = dtNow.Hour; curMin = dtNow.Minute; curSec = dtNow.Second; - } + } } Action dAction = () => @@ -408,16 +512,37 @@ for (int d = 1; d < days + 1; d++) { mList3.Add(d.ToString()); + if (Language.CurrentLanguage == "Chinese") + { + btnTextD.Width = Application.GetRealWidth(100); + if (setTimeType != "DoorLockTime") + { + btnTextD.X = Application.GetRealWidth(710); + } + else + { + btnTextD.X = Application.GetRealWidth(922); + } + } + else + { + btnTextD.Width = Application.GetRealWidth(0); + } } - if (setTimeType != "DoorLockTime") { mUIPickerView.setNPicker(mList2, mList3, null); + mUIPickerView.Width = Application.GetRealWidth(588); + mUIPickerView.X = Application.GetRealWidth(246); + btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250); mUIPickerView.setCurrentItems(curMonth - 1, curDay - 1, 0); } else { mUIPickerView.setNPicker(mList1, mList2, mList3); + mUIPickerView.Width = Application.GetRealWidth(1080); + mUIPickerView.X = Application.GetRealWidth(0); + btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(0); mUIPickerView.setCurrentItems(curYear, curMonth - 1, curDay - 1); } } @@ -477,6 +602,9 @@ } } mUIPickerView.setNPicker(mList1, mList2, null); + mUIPickerView.Width = Application.GetRealWidth(588); + mUIPickerView.X = Application.GetRealWidth(246); + btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250); mUIPickerView.setCurrentItems(dtNow.Hour, dtNow.Minute, 0); if (CurentDoorLockTime != null) { @@ -545,6 +673,7 @@ timeSetAction(); } this.shadowRadiusFrameLayout.RemoveFromParent(); + this.bottomRadiusFrameLayout.RemoveFromParent(); MidFrameLayoutContent(); }; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs index 87a5bc5..3c14341 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs @@ -46,7 +46,7 @@ #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.DoorLock doorLock;//褰撳墠闂ㄩ攣 - VerticalRefreshLayout bodyView;//鍒锋柊View + VerticalListRefreshControl bodyView;//鍒锋柊View Button currentMethod;// 褰撳墠閫夋嫨鐨勬柟寮� Shared.Phone.UserCenter.MemberInfoRes curAccountObj;//褰撳墠璐︽埛 Button entryStatusPic; @@ -176,8 +176,9 @@ Y = Application.GetRealHeight(35), X = Application.GetRealWidth(812 - 100), TextAlignment = TextAlignment.CenterRight, - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 12, + IsBold =true, }; midTopFrameLayout.AddChidren(btnAllMethod); // 绫诲瀷鍖哄垎 @@ -226,10 +227,10 @@ this.midFrameLayout.AddChidren(btnLine); #endregion - bodyView = new VerticalRefreshLayout() + bodyView = new VerticalListRefreshControl(29) { Y = btnLine.Bottom, - Height = Application.GetRealHeight(1921 - 184 - 116), + Height = Application.GetRealHeight(1921 - 184 - 116), }; this.midFrameLayout.AddChidren(bodyView); bodyView.BeginHeaderRefreshingAction += () => @@ -237,7 +238,7 @@ bodyView.BeginHeaderRefreshing(); ReadDoorLockUserInfo(); }; - BlankPicUI(); + BlankPicUI(); } /// <summary> @@ -269,18 +270,19 @@ Gravity = Gravity.CenterHorizontal, Visible = false, Y = Application.GetRealHeight(844), + TextSize = 12, }; blankFrameLayout.AddChidren(btnPicTip); btnPicTip1 = new Button { - X = Application.GetRealWidth(397), - Y = btnPicTip.Bottom, + X = Application.GetRealWidth(397), + Y = Application.GetRealHeight(844+49), Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation1), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.CenterHorizontal, - Visible = false, - BackgroundColor = 0xff00ff00, + Visible = true, + TextSize =12, }; blankFrameLayout.AddChidren(btnPicTip1); } @@ -332,13 +334,7 @@ entryStatusPic.Width = Application.GetRealHeight(0); btnPicTip.Height = Application.GetRealHeight(0); btnPicTip1.Height = Application.GetRealHeight(0); - blankFrameLayout.Height = Application.GetRealHeight(0); - var frameLayoutRow = new FrameLayout() - { - Height = Application.GetMinRealAverage(0), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - bodyView.AddChidren(frameLayoutRow); + blankFrameLayout.Height = Application.GetRealHeight(0); int i = 0; foreach (var curUserId in curAccountDoorLockUserList.Keys) @@ -369,69 +365,177 @@ } #region UI - var rowFrameLayout = new RowLayout() - { - Height = Application.GetRealHeight(127 + 23), - X = Application.GetRealWidth(58), - Y = i * Application.GetRealHeight(150), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - frameLayoutRow.AddChidren(rowFrameLayout); - var btnPicFrameLayout = new FrameLayout() + var rowFrameLayout = new RowLayoutControl(bodyView.rowSpace / 2); + rowFrameLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; + bodyView.AddChidren(rowFrameLayout); + rowFrameLayout.frameTable.UseClickStatu = false; + var btnicon = rowFrameLayout.frameTable.AddLeftIcon(); + btnicon.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; + //涓婇潰闂ㄩ攣鐢ㄦ埛鍚嶇О涓�琛� + //rowFrameLayout.frameTable.AddTopView("", 800); + var memberText = ""; + if (curAccountObj.UserName == "" || curAccountObj.UserName == null) { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), - X = Application.GetRealWidth(40), - Y = Application.GetRealHeight(49), - }; - rowFrameLayout.AddChidren(btnPicFrameLayout); - - var btnPic = new Button() + memberText = curAccountObj.Account; + } + else { - Width = Application.GetRealWidth(84), - Height = Application.GetRealHeight(84), - UnSelectedImagePath = "DoorLock/DoorLockUserPic.png", - }; - btnPicFrameLayout.AddChidren(btnPic); - + memberText = curAccountObj.UserName; + } + //鎴愬憳涓�琛� + var btnaa = rowFrameLayout.frameTable.AddBottomView(memberText, 800); var btnDoorlockUser = new EditText() { - Width = Application.GetRealWidth(1080 - 173), + Width = Application.GetRealWidth(800), Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(35), + X = btnaa.X, + Y = rowFrameLayout.chidrenYaxis + Application.GetRealHeight(12), TextSize = 14, PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.CenterLeft, }; - rowFrameLayout.AddChidren(btnDoorlockUser); - - var btnMember = new Button() + rowFrameLayout.frameTable.AddChidren(btnDoorlockUser, ChidrenBindMode.NotBind); + rowFrameLayout.frameTable.AddBottomLine(); + var btndelete = rowFrameLayout.AddDeleteControl(); + btndelete.ButtonClickEvent += (sender, e) => { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(49), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(95), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 14, - TextAlignment = TextAlignment.CenterLeft, - }; - rowFrameLayout.AddChidren(btnMember); - - var btnDel = new Button() - { - Width = Application.GetRealWidth(184), - Text = Language.StringByID(R.MyInternationalizationString.DelBindDevice), - TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, - TextSize = 12, - TextAlignment = TextAlignment.Center, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMDel, - }; - rowFrameLayout.AddRightView(btnDel); + var dialog = new Dialog { }; + var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip)); + doorDialog.Show(); + doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod); + doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => + { + dialog.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => + { + try + { + CommonPage.Loading.Start(""); + var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); + var resultData = await doorLock.DefaultControlAsync(passData); + if (resultData != null && resultData.defaultControlResponseData != null) + { + if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) + { + var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + deleteDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); + deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + deleteDoorLockData.DelDoorLockDelType = 2; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + isSecondDel = false; + if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + { + doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); + var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + localDoorLockObj.UserID = curDoorLockUser.UserID; + doorLock.localDoorLockUserList.Remove(curUserId); + doorLock.ReSave(); + TypeRefresh(); + } + } + else + { + //寮�鍏冲浘鏍� + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + isSecondDel = true; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + if (isSecondDel) + { + var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + deleteDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); + deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + deleteDoorLockData.DelDoorLockDelType = 2; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + isSecondDel = false; + if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + { + doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); + var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + localDoorLockObj.UserID = curDoorLockUser.UserID; + doorLock.localDoorLockUserList.Remove(curUserId); + TypeRefresh(); + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + isSecondDel = true; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + if (curDoorLockUser.UserID < 10) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); + } + dialog.Close(); + } + catch { } + finally + { + CommonPage.Loading.Hide(); + } + }; + }; #endregion #region 鏁版嵁澶勭悊 @@ -475,14 +579,6 @@ break; } - if (curAccountObj.UserName == "" || curAccountObj.UserName == null) - { - btnMember.Text = curAccountObj.Account; - } - else - { - btnMember.Text = curAccountObj.UserName; - } Action<Shared.View> action = async (obj) => { @@ -530,152 +626,147 @@ }; btnDoorlockUser.EditorEnterAction += action; - btnDel.MouseUpEventHandler += (sender, e) => - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += async (sender1, e1) => - { - if (e1) - { - try - { - CommonPage.Loading.Start(""); - var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); - var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null) - { - if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) - { - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - isSecondDel = false; - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - doorLock.localDoorLockUserList.Remove(curUserId); - doorLock.ReSave(); - TypeRefresh(); - } - } - else - { - //寮�鍏冲浘鏍� - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - isSecondDel = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - if (isSecondDel) - { - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - isSecondDel = false; - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - doorLock.localDoorLockUserList.Remove(curUserId); - TypeRefresh(); - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - isSecondDel = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - if (curDoorLockUser.UserID < 10) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - } - catch { } - finally - { - CommonPage.Loading.Hide(); - } - } - }; - }; + //btnDel.MouseUpEventHandler += (sender, e) => + //{ + //var dialog = new Dialog { }; + //var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip)); + //doorDialog.Show(); + //doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); + //doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); + //doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); + //doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + //doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod); + //doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); + //doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); + //doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => + //{ + // dialog.Close(); + //}; + //doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => + //{ + // try + // { + // CommonPage.Loading.Start(""); + // var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); + // var resultData = await doorLock.DefaultControlAsync(passData); + // if (resultData != null && resultData.defaultControlResponseData != null) + // { + // if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) + // { + // var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); + // if (UserCenterResourse.UserInfo.AuthorityNo != 1) + // { + // deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + // deleteDoorLockData.IsOtherAccountCtrl = true; + // } + // if (doorLock.DeviceAddr != null) + // { + // deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + // } + // deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); + // deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + // deleteDoorLockData.DelDoorLockDelType = 2; + // var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + // if (result != null) + // { + // if (result.StateCode == "Success") + // { + // isSecondDel = false; + // if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + // { + // doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); + // var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + // localDoorLockObj.UserID = curDoorLockUser.UserID; + // doorLock.localDoorLockUserList.Remove(curUserId); + // doorLock.ReSave(); + // TypeRefresh(); + // } + // } + // else + // { + // //寮�鍏冲浘鏍� + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + // } + // } + // else + // { + // isSecondDel = true; + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + // } + // } + // else + // { + // if (isSecondDel) + // { + // var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); + // if (UserCenterResourse.UserInfo.AuthorityNo != 1) + // { + // deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + // deleteDoorLockData.IsOtherAccountCtrl = true; + // } + // if (doorLock.DeviceAddr != null) + // { + // deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + // } + // deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); + // deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + // deleteDoorLockData.DelDoorLockDelType = 2; + // var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + // if (result != null) + // { + // if (result.StateCode == "Success") + // { + // isSecondDel = false; + // if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + // { + // doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); + // var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + // localDoorLockObj.UserID = curDoorLockUser.UserID; + // doorLock.localDoorLockUserList.Remove(curUserId); + // TypeRefresh(); + // } + // } + // else + // { + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + // } + // } + // else + // { + // isSecondDel = true; + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + // } + // } + // else + // { + // if (curDoorLockUser.UserID < 10) + // { + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + // } + // else + // { + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + // } + // } + // } + // } + // else + // { + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + // } + // dialog.Close(); + // } + // catch { } + // finally + // { + // CommonPage.Loading.Hide(); + // } + //}; + //}; #endregion i++; } - - //閬尅RowLayout澶氫綑鐨勭嚎鏉� - for (int j = 0; j < curAccountDoorLockUserList.Keys.Count; j++) - { - var frameLayoutRowLineHide = new FrameLayout() - { - Height = 10, - Width = Application.GetRealWidth(173), - X = Application.GetRealWidth(58), - Y = (j + 1) * Application.GetRealHeight(150)-5, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - frameLayoutRow.AddChidren(frameLayoutRowLineHide); - } - frameLayoutRow.Height = i * Application.GetRealHeight(150); + //bodyView.AdjustRealHeight(Application.GetRealHeight(23)); } } @@ -726,7 +817,7 @@ { Width = Application.GetRealWidth(81), Height = Application.GetRealHeight(81), - Y = Application.GetRealHeight(55), + Y = Application.GetRealHeight(35), }; rowFrameLayout.AddChidren(btnAllMethod); @@ -735,7 +826,7 @@ Width = Application.GetRealWidth(311), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(92), - Y = Application.GetRealHeight(69), + Y = Application.GetRealHeight(49), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, TextAlignment = TextAlignment.CenterLeft, @@ -760,6 +851,7 @@ doorLock.ReSave(); btnAllMethod.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + oldbuttonText.IsBold = true; TypeRefresh(); } dialog.Close(); @@ -796,6 +888,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -803,6 +896,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -810,6 +904,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -817,6 +912,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -824,6 +920,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs index 4f3edaa..2858bfa 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs @@ -100,8 +100,9 @@ Y = Application.GetRealHeight(35), X = Application.GetRealWidth(812 - 100), TextAlignment = TextAlignment.CenterRight, - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 12, + IsBold =true, }; midTopFrameLayout.AddChidren(btnAllMethod); // 绫诲瀷鍖哄垎 @@ -243,6 +244,7 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, Gravity = Gravity.CenterVertical, + TextSize =15, }; rowFrameLayout.AddChidren(btnText); @@ -314,7 +316,7 @@ { #region UI FrameLayout flMain = new FrameLayout { BackgroundColor = 0x0f000000 }; - this.midFrameLayout.AddChidren(flMain); + this.AddChidren(flMain); flMain.MouseUpEventHandler += (sender11, e11) => { flMain.RemoveFromParent(); @@ -323,24 +325,24 @@ bottomFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(100), - Y = Application.GetRealHeight(930), - Radius = 17, + Y = Application.GetRealHeight(1253), + Radius =(uint) Application.GetRealHeight(100/2), BackgroundColor = ZigbeeColor.Current.XMWhite, }; flMain.AddChidren(bottomFrameLayout); var bottomFrameLayout1 = new FrameLayout() { - Height = Application.GetRealHeight(806 - 50), - Y = Application.GetRealHeight(930 + 48), + Height = Application.GetRealHeight(668 - 60), + Y = Application.GetRealHeight(1253+58), BackgroundColor = ZigbeeColor.Current.XMWhite, }; flMain.AddChidren(bottomFrameLayout1); var bottomFrameLayout2 = new FrameLayout() { - Height = Application.GetRealHeight(806), - Y = Application.GetRealHeight(930), + Height = Application.GetRealHeight(668), + Y = Application.GetRealHeight(1253), }; flMain.AddChidren(bottomFrameLayout2); @@ -519,12 +521,12 @@ CommonPage.Loading.Start(""); }); if (curAccountId == "") - { + { Application.RunOnMainThread(() => { flMain.RemoveFromParent(); bottomFrameLayout.RemoveAll(); - CommonPage.Loading.Hide (); + CommonPage.Loading.Hide(); }); } else @@ -596,11 +598,12 @@ { Application.RunOnMainThread(() => { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DistributeSuccess), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); TypeRefresh(); CommonPage.Loading.Hide(); flMain.RemoveFromParent(); bottomFrameLayout.RemoveAll(); - }); + }); } else { @@ -684,7 +687,7 @@ { Width = Application.GetRealWidth(81), Height = Application.GetRealHeight(81), - Y = Application.GetRealHeight(55), + Y = Application.GetRealHeight(35), }; rowFrameLayout.AddChidren(btnAllMethod); @@ -693,7 +696,7 @@ Width = Application.GetRealWidth(311), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(92), - Y = Application.GetRealHeight(69), + Y = Application.GetRealHeight(49), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, TextAlignment = TextAlignment.CenterLeft, @@ -717,6 +720,7 @@ doorLock.currentUserDisplayMethod = btnMethodText.Text; btnAllMethod.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + oldbuttonText.IsBold = true; TypeRefresh(); } dialog.Close(); @@ -753,6 +757,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -760,6 +765,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -767,6 +773,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -774,6 +781,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } @@ -781,6 +789,7 @@ { btnAllMethod.IsSelected = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbutton = btnAllMethod; oldbuttonText = btnMethodText; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index 028d6f1..3031802 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -127,12 +127,14 @@ Height = Application.GetRealHeight(60), X = Application.GetRealWidth(372), Y = Application.GetRealHeight(46), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - Text = string.IsNullOrEmpty(doorLock.DeviceName) ? Language.StringByID(R.MyInternationalizationString.UNKnown) : doorLock.DeviceName, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack , TextSize = 15, TextAlignment = TextAlignment.Center, + IsBold =true, }; midTopFrameLayout.AddChidren(btnDoorLockTitle); + //鑾峰彇Mac鍚嶅瓧 + btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); var btnRecord = new Button() { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs index 194f8d7..381fa8d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs @@ -125,12 +125,14 @@ var btnUndistributeText = new Button { Height = Application.GetRealHeight(72), - Width = Application.GetRealWidth(121), + Width = Application.GetRealWidth(150), TextID = R.MyInternationalizationString.Undistributed, TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, X = btnUndistributeIcon.Right, - TextAlignment = TextAlignment.CenterLeft, - }; + IsBold =true, + TextSize =13, + TextAlignment = TextAlignment.CenterLeft, + }; btnAddFrameLayout.AddChidren(btnUndistributeText); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { @@ -183,7 +185,7 @@ X = Application.GetRealWidth(58), Width = Application.GetRealWidth(300), TextAlignment = TextAlignment.CenterLeft, - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, Gravity = Gravity.CenterVertical, TextSize = 14, }; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayDirectionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayDirectionForm.cs index 30dc974..1d753b5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayDirectionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayDirectionForm.cs @@ -65,7 +65,7 @@ }; bodyFrameLayout.AddChidren(btnHelp); //搴曠嚎 - int lineWidth = btnHelp.GetRealWidthByText(12); + int lineWidth = btnHelp.GetRealWidthByText(); var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; btnLine.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs index f61552e..dee86aa 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs @@ -97,7 +97,7 @@ }; bodyFrameLayout.AddChidren(btnSettion); //搴曠嚎 - int lineWidth = btnSettion.GetRealWidthByText(12); + int lineWidth = btnSettion.GetRealWidthByText(); var btnLine1 = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine1.BackgroundColor = 0xff0075ff; btnLine1.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs index 1919e16..aa16a54 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs @@ -98,7 +98,7 @@ }; bodyFrameLayout.AddChidren(btnSettion); //搴曠嚎 - int lineWidth = btnSettion.GetRealWidthByText(12); + int lineWidth = btnSettion.GetRealWidthByText(); var btnLine1 = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine1.BackgroundColor = 0xff0075ff; btnLine1.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs index f6735f4..013dee5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs @@ -67,7 +67,7 @@ }; bodyFrameLayout.AddChidren(btnSettion); //搴曠嚎 - int lineWidth = btnSettion.GetRealWidthByText(12); + int lineWidth = btnSettion.GetRealWidthByText(); var btnLine1 = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine1.BackgroundColor = 0xff0075ff; btnLine1.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs index af7eff0..7989f1a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs @@ -204,7 +204,7 @@ private void ShowTopRightMenu() { bool flage = UserCenterResourse.DicActionForm.ContainsKey("NewGateWayMenuSelectForm"); - var frame = new TopRightMenuControl(flage == true ? 1 : 3); + var frame = new TopRightMenuControl(flage == true ? 1 : 3, 1); //瀹氫綅 string MenuName = Language.StringByID(R.MyInternationalizationString.uFixedPosition); frame.AddRowMenu(MenuName, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs index 15f6ba8..ffbdd5d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs @@ -218,14 +218,14 @@ } //褰撳墠缃戝叧鐨勮鏍� - //if (strWayId == GatewayResourse.AppOldSelectGatewayId) - //{ - // var btnNow = new IconViewControl(52); - // btnNow.Y = Application.GetMinReal(23) + gatewayRow.frameTable.chidrenYaxis; - // btnNow.UnSelectedImagePath = "Item/NowAcctionTip.png"; - // btnNow.X = gatewayRow.btnName.X + gatewayRow.btnName.GetRealWidthByText(15); - // gatewayRow.frameTable.AddChidren(btnNow, ChidrenBindMode.BindEventOnly); - //} + if (strWayId == GatewayResourse.AppOldSelectGatewayId) + { + var btnNow = new IconViewControl(52); + btnNow.Y = Application.GetMinReal(23) + gatewayRow.frameTable.chidrenYaxis; + btnNow.UnSelectedImagePath = "Item/NowAcctionTip.png"; + btnNow.X = gatewayRow.btnName.X + gatewayRow.btnName.GetRealWidthByText(); + gatewayRow.frameTable.AddChidren(btnNow, ChidrenBindMode.BindEventOnly); + } } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs index d0de6d5..b885afb 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs @@ -46,12 +46,17 @@ bool gateWayExist = HdlGatewayLogic.Current.IsGatewayExist(zbGateway); + var framePic = new FrameLayout(); + framePic.Width = Application.GetRealWidth(855); + framePic.Height = Application.GetRealHeight(570); + framePic.Gravity = Gravity.CenterHorizontal; + framePic.Y = Application.GetRealHeight(58); + bodyFrameLayout.AddChidren(framePic); //鍥剧墖 - var btnImage = new PicViewControl(855, 570, true); - btnImage.Y = Application.GetRealHeight(58); - btnImage.Gravity = Gravity.CenterHorizontal; - HdlGatewayLogic.Current.SetRealGatewayPictrue(btnImage, zbGateway); - bodyFrameLayout.AddChidren(btnImage); + var btnImage = new PicViewControl(380, 328, true); + btnImage.Gravity = Gravity.Center; + btnImage.UnSelectedImagePath = "Gateway/RealGateway.png"; + framePic.AddChidren(btnImage); //鍒濆鍖栨甯� var tableContr = new InformationEditorControl(); @@ -130,7 +135,7 @@ }; bodyFrameLayout.AddChidren(btnHelp); //搴曠嚎 - int lineWidth = btnHelp.GetRealWidthByText(12); + int lineWidth = btnHelp.GetRealWidthByText(); var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; btnLine.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareUpdateForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareUpdateForm.cs index 20457c4..2742a12 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareUpdateForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareUpdateForm.cs @@ -277,7 +277,7 @@ /// </summary> private void ShowTopRightMenu() { - var frame = new TopRightMenuControl(1); + var frame = new TopRightMenuControl(1, 2); //鍘嗗彶鐗堟湰 var deviceMenu = Language.StringByID(R.MyInternationalizationString.uHistoryVersion); frame.AddRowMenu(deviceMenu, "", "", () => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs index 69d5d06..ec3cf80 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs @@ -63,7 +63,7 @@ rowMenu.AddBottomLine(); var btnRight = rowMenu.AddMostRightEmptyIcon(58, 58); - btnRight.UnSelectedImagePath = "Item/Next.png"; + btnRight.UnSelectedImagePath = "Item/RightNext.png"; btnRight.SelectedImagePath = "Item/Down.png"; rowMenu.ButtonClickEvent += (sender, e) => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideCommonForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideCommonForm.cs new file mode 100755 index 0000000..fa5e841 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideCommonForm.cs @@ -0,0 +1,230 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.Guide +{ + /// <summary> + /// 寮曞鐣岄潰鐨勫叡閫氱晫闈� + /// </summary> + public class GuideCommonForm : FrameLayout + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鍦烘櫙鍜屽姛鑳界殑鎺т欢 + /// </summary> + public FrameLayout contrSwitch = null; + /// <summary> + /// 鍦烘櫙鎺т欢 + /// </summary> + public NormalViewControl btnScene = null; + /// <summary> + /// 鍔熻兘 + /// </summary> + public NormalViewControl btnFunction = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> + public virtual void ShowFrom() + { + UserView.UserPage.Instance.AddChidren(this); + this.BackgroundColor = Common.ZigbeeColor.Current.GXCGrayBackgroundColor; + + //浣忓畢鍒楄〃鍥炬爣 + var btnHouseIcon = new IconViewControl(69); + btnHouseIcon.UnSelectedImagePath = "Item/Floor.png"; + btnHouseIcon.Y = Application.GetRealHeight(86); + btnHouseIcon.X = ControlCommonResourse.XXLeft; + this.AddChidren(btnHouseIcon); + //娑堟伅鍥炬爣 + var btnMsg = new IconViewControl(69); + btnMsg.Y = Application.GetRealHeight(86); + btnMsg.X = Application.GetRealWidth(953); + btnMsg.UnSelectedImagePath = "Item/Message.png"; + this.AddChidren(btnMsg); + //浣忓畢鍚嶅瓧 + var btnHouse = new NormalViewControl(300, 95, true); + btnHouse.TextSize = 24; + btnHouse.X = ControlCommonResourse.XXLeft; + btnHouse.Y = Application.GetRealHeight(161); + btnHouse.TextID = R.MyInternationalizationString.uMyResidence; + this.AddChidren(btnHouse); + + //宸﹀彸婊戝姩鐨勬埧闂� + var roomPageView = new HorizontalPages(); + roomPageView.Y = Application.GetRealHeight(302); + roomPageView.Height = Application.GetRealHeight(478); + this.AddChidren(roomPageView); + //绐佸嚭杈硅窛 + roomPageView.TCBJ = Application.GetRealWidth(181); + //涓や釜page涔嬮棿鐨勯棿璺� + roomPageView.JMBJ = Application.GetRealWidth(0); + + //瀹㈠巺 + var room1 = new Common.Room(); + room1.BackgroundImage = "RoomIcon/0.JPG"; + room1.Name = Language.StringByID(R.MyInternationalizationString.uLivingRoom); + var roomView1 = new Phone.Device.CommonForm.RoomView(0, 0); + roomPageView.AddChidren(roomView1); + roomView1.Init(room1); + //闃冲彴 + var room2 = new Common.Room(); + room2.BackgroundImage = "RoomIcon/1.JPG"; + room2.Name = Language.StringByID(R.MyInternationalizationString.uBalcony); + var roomView2 = new Phone.Device.CommonForm.RoomView(0, 0); + roomPageView.AddChidren(roomView2); + roomView2.Init(room2); + //鍗у + var room3 = new Common.Room(); + room3.BackgroundImage = "RoomIcon/2.JPG"; + room3.Name = Language.StringByID(R.MyInternationalizationString.uBedroom); + var roomView3 = new Phone.Device.CommonForm.RoomView(0, 0); + roomPageView.AddChidren(roomView3); + roomView3.Init(room3); + + //鍦烘櫙鍜屽姛鑳界殑鎺т欢 + this.contrSwitch = new FrameLayout(); + contrSwitch.Y = roomPageView.Bottom + Application.GetRealHeight(52); + contrSwitch.Gravity = Gravity.CenterHorizontal; + contrSwitch.Width = Application.GetRealWidth(804); + contrSwitch.Height = Application.GetRealHeight(124); + contrSwitch.Radius = (uint)Application.GetRealHeight(124) / 2; + contrSwitch.BackgroundColor = 0xff232323; + this.AddChidren(contrSwitch); + //鍦烘櫙 + this.btnScene = new NormalViewControl(contrSwitch.Width / 2 - Application.GetRealHeight(124) / 2, contrSwitch.Height, false); + btnScene.X = Application.GetRealHeight(124) / 2; + btnScene.IsBold = true; + btnScene.TextAlignment = TextAlignment.Center; + btnScene.TextColor = 0xffffffff; + btnScene.TextSize = 16; + btnScene.TextID = R.MyInternationalizationString.uScence; + contrSwitch.AddChidren(btnScene); + + //鍔熻兘 + this.btnFunction = new NormalViewControl(btnScene.Width, contrSwitch.Height, false); + btnFunction.X = btnScene.Right; + btnFunction.TextAlignment = TextAlignment.Center; + btnFunction.TextColor = 0xFFCBCACA; + btnFunction.TextSize = 15; + btnFunction.TextID = R.MyInternationalizationString.uFunction; + contrSwitch.AddChidren(btnFunction); + + //鑷畾涔夊満鏅�1 + var sceneView1 = new Phone.Device.CommonForm.SceneMainView(0, 0); + sceneView1.X = Application.GetRealWidth(46); + sceneView1.Y = roomPageView.Bottom + Application.GetRealHeight(233); + this.AddChidren(sceneView1); + sceneView1.Init(new Common.SceneUI() { Name = "Getup", IconPath = "SceneIcon/0.jpg" }); + //鑷畾涔夊満鏅�2 + var sceneView2 = new Phone.Device.CommonForm.SceneMainView(0, 0); + sceneView2.X = Application.GetRealWidth(553); + sceneView2.Y = sceneView1.Y; + this.AddChidren(sceneView2); + sceneView2.Init(new Common.SceneUI() { Name = "Relax", IconPath = "SceneIcon/1.jpg" }); + //鑷畾涔夊満鏅�3 + var sceneView3 = new Phone.Device.CommonForm.SceneMainView(0, 0); + sceneView3.X = sceneView1.X; + sceneView3.Y = sceneView1.Bottom + Application.GetRealHeight(14); + this.AddChidren(sceneView3); + sceneView3.Init(new Common.SceneUI() { Name = "Dinner", IconPath = "SceneIcon/2.jpg" }); + //鑷畾涔夊満鏅�4 + var sceneView4 = new Phone.Device.CommonForm.SceneMainView(0, 0); + sceneView4.X = sceneView2.X; + sceneView4.Y = sceneView3.Y; + this.AddChidren(sceneView4); + sceneView4.Init(new Common.SceneUI() { Name = "Goodnight", IconPath = "SceneIcon/3.jpg" }); + + //搴曢儴鑿滃崟 + var frameMenu = new FrameLayout(); + frameMenu.Height = ControlCommonResourse.BottomFrameHeight; + frameMenu.Gravity = Gravity.BottomCenter; + this.AddChidren(frameMenu); + //绾� + var btnLine = new NormalViewControl(frameMenu.Width, 1, false); + btnLine.BackgroundColor = Common.ZigbeeColor.Current.GXCBottomLineColor; + frameMenu.AddChidren(btnLine); + //涓婚〉 + var btnMenuHome = new IconViewControl(10, false); + btnMenuHome.X = Application.GetRealWidth(109); + btnMenuHome.Width = Application.GetMinRealAverage(138); + btnMenuHome.Height = Application.GetMinRealAverage(98); + btnMenuHome.UnSelectedImagePath = "Navigation/HomeSelected.png"; + frameMenu.AddChidren(btnMenuHome); + var btnMenuHomeName = new NormalViewControl(btnMenuHome.Width, Application.GetRealHeight(40), false); + btnMenuHomeName.X = btnMenuHome.X; + btnMenuHomeName.Y = btnMenuHome.Bottom; + btnMenuHomeName.TextAlignment = TextAlignment.Center; + btnMenuHomeName.TextColor = 0xFF232323; + btnMenuHomeName.TextSize = 10; + btnMenuHomeName.TextID = R.MyInternationalizationString.HomePage; + frameMenu.AddChidren(btnMenuHomeName); + + //鍒嗙被 + var btnFenlei = new IconViewControl(10, false); + btnFenlei.X = Application.GetRealWidth(469); + btnFenlei.Width = Application.GetMinRealAverage(138); + btnFenlei.Height = Application.GetMinRealAverage(98); + btnFenlei.UnSelectedImagePath = "Navigation/Category.png"; + frameMenu.AddChidren(btnFenlei); + var btnFenleiName = new NormalViewControl(btnFenlei.Width, Application.GetRealHeight(40), false); + btnFenleiName.X = btnFenlei.X; + btnFenleiName.Y = btnFenlei.Bottom; + btnFenleiName.TextAlignment = TextAlignment.Center; + btnFenleiName.TextColor = 0xFF232323; + btnFenleiName.TextSize = 10; + btnFenleiName.TextID = R.MyInternationalizationString.Category; + frameMenu.AddChidren(btnFenleiName); + + //鎴戠殑 + var btnMy = new IconViewControl(10, false); + btnMy.X = Application.GetRealWidth(832); + btnMy.Width = Application.GetMinRealAverage(138); + btnMy.Height = Application.GetMinRealAverage(98); + btnMy.UnSelectedImagePath = "Navigation/Setting.png"; + frameMenu.AddChidren(btnMy); + var btnMyName = new NormalViewControl(btnMy.Width, Application.GetRealHeight(40), false); + btnMyName.X = btnMy.X; + btnMyName.Y = btnMy.Bottom; + btnMyName.TextAlignment = TextAlignment.Center; + btnMyName.TextColor = 0xFF232323; + btnMyName.TextSize = 10; + btnMyName.TextID = R.MyInternationalizationString.Me; + frameMenu.AddChidren(btnMyName); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 娣诲姞銆愭垜鐭ラ亾浜嗐�戠殑鎸夐挳 + /// </summary> + /// <returns></returns> + public NormalViewControl AddIKnwonButton() + { + var btnContr = new NormalViewControl(397, 86, true); + btnContr.BorderWidth = 1; + btnContr.BorderColor = UserCenterColor.Current.White; + btnContr.Radius = (uint)Application.GetRealHeight(86) / 2; + btnContr.BackgroundColor = 0x26FFFFFF; + btnContr.Gravity = Gravity.CenterHorizontal; + btnContr.Y = Application.GetRealHeight(1650); + btnContr.TextAlignment = TextAlignment.Center; + btnContr.TextColor = UserCenterColor.Current.White; + btnContr.TextSize = 16; + btnContr.TextID = R.MyInternationalizationString.uIKnwon; + this.AddChidren(btnContr); + + return btnContr; + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm1.cs b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm1.cs new file mode 100755 index 0000000..61c6c2b --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm1.cs @@ -0,0 +1,92 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.Guide +{ + /// <summary> + /// 寮曞鐣岄潰1 + /// </summary> + public class GuideForm1 : GuideCommonForm + { + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> + public override void ShowFrom() + { + base.ShowFrom(); + + //钂欎笂闃村奖 + var frameBack = new FrameLayout(); + frameBack.BackgroundColor = 0xad000000; + this.AddChidren(frameBack); + + var frameleft = new FrameLayout(); + frameleft.Width = Application.GetRealWidth(115); + frameleft.BackgroundColor = 0xff747474; + frameBack.AddChidren(frameleft); + + //鍙虫粦杩涘叆鎴块棿鍒楄〃 + var btnMsg = new NormalViewControl(300, 75, true); + btnMsg.TextID = R.MyInternationalizationString.uSlideRightToRoomList; + btnMsg.TextSize = 18; + btnMsg.IsBold = true; + btnMsg.TextColor = UserCenterColor.Current.White; + btnMsg.X = Application.GetRealWidth(132); + btnMsg.Y = Application.GetRealHeight(961); + btnMsg.Width = btnMsg.GetRealWidthByText(); + frameBack.AddChidren(btnMsg); + + //鍥炬爣 + var btnIcon = new IconViewControl(69); + btnIcon.X = btnMsg.Right + Application.GetRealWidth(52); + btnIcon.Y = btnMsg.Y + Application.GetRealHeight(3); + btnIcon.UnSelectedImagePath = "Guide/RightIcon.png"; + frameBack.AddChidren(btnIcon); + + //鎵嬫寚鍥炬爣 + var btnFinger = new PicViewControl(102, 93); + btnFinger.UnSelectedImagePath = "Guide/Finger.png"; + btnFinger.X = Application.GetRealWidth(130); + btnFinger.Y = btnMsg.Bottom + Application.GetRealWidth(32); + frameBack.AddChidren(btnFinger); + + //鎴戠煡閬撲簡 + var btnKnwon = this.AddIKnwonButton(); + btnKnwon.ButtonClickEvent += (sender, e) => + { + this.RemoveFromParent(); + var form = new GuideForm2(); + form.ShowFrom(); + }; + + HdlThreadLogic.Current.RunThread(() => + { + int index = 0; + int oldValue = Application.GetRealWidth(130); + int moveValue = Application.GetRealWidth(50); + while (this.Parent != null) + { + index++; + Application.RunOnMainThread(() => + { + if (index >= 10) + { + btnFinger.X = oldValue; + index = 0; + } + else + { + btnFinger.X += moveValue; + } + }); + System.Threading.Thread.Sleep(300); + } + }); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm2.cs b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm2.cs new file mode 100755 index 0000000..5b4b6d0 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideForm2.cs @@ -0,0 +1,64 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.Guide +{ + /// <summary> + /// 寮曞鐣岄潰2 + /// </summary> + public class GuideForm2 : GuideCommonForm + { + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> + public override void ShowFrom() + { + base.ShowFrom(); + + //钂欎笂闃村奖 + var frameBack = new FrameLayout(); + frameBack.BackgroundColor = 0xad000000; + this.AddChidren(frameBack); + + //涓�涓櫧鑹茬殑妗嗘 + this.contrSwitch.BringToFront(); + contrSwitch.Height += Application.GetRealWidth(23 * 2); + contrSwitch.Width += Application.GetRealWidth(23 * 2); + contrSwitch.Gravity = Gravity.CenterHorizontal; + contrSwitch.BorderWidth = (uint)Application.GetRealWidth(23); + contrSwitch.BorderColor = UserCenterColor.Current.White; + contrSwitch.Radius = (uint)contrSwitch.Height / 2; + this.btnScene.Gravity = Gravity.CenterVertical; + this.btnFunction.Gravity = Gravity.CenterVertical; + + //铏氱嚎绠ご + var btnArrows = new PicViewControl(51, 171); + btnArrows.UnSelectedImagePath = "Guide/Arrows1.png"; + btnArrows.X = Application.GetRealWidth(625); + btnArrows.Y = contrSwitch.Bottom + Application.GetRealHeight(35); + frameBack.AddChidren(btnArrows); + + //鎴块棿鐨勫唴瀹瑰湪姝ゅ鏄剧ず + var btnMsg = new NormalViewControl(frameBack.Width, Application.GetRealHeight(75), false); + btnMsg.TextAlignment = TextAlignment.Center; + btnMsg.TextColor = UserCenterColor.Current.White; + btnMsg.TextSize = 18; + btnMsg.TextID = R.MyInternationalizationString.uTheContentsOfTheRoomAreShownHere; + btnMsg.Y = btnArrows.Bottom; + frameBack.AddChidren(btnMsg); + + //鎴戠煡閬撲簡 + var btnKnwon = this.AddIKnwonButton(); + btnKnwon.ButtonClickEvent += (sender, e) => + { + Phone.Device.Room.RoomManagement.Instance.CanClick = true; + this.RemoveFromParent(); + }; + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideMainForm.cs new file mode 100755 index 0000000..797bbf9 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Guide/GuideMainForm.cs @@ -0,0 +1,79 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.Guide +{ + /// <summary> + /// 寮曞鐣岄潰鐨勪富鐣岄潰 + /// </summary> + public class GuideMainForm : GuideCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鏄剧ず鐣岄潰 + /// </summary> + public override void ShowFrom() + { + base.ShowFrom(); + + Phone.Device.Room.RoomManagement.Instance.CanClick = false; + + var frameTop = new FrameLayout(); + frameTop.Height = Application.GetRealHeight(279); + frameTop.BackgroundColor = 0xad000000; + this.AddChidren(frameTop); + + //钂欎笂闃村奖 + var frameBottom = new FrameLayout(); + frameBottom.Y = Application.GetRealHeight(803); + frameBottom.Height = Application.GetRealHeight(1317);//灏辨槸瑕侀暱杩囧畠 + frameBottom.BackgroundColor = 0xad000000; + this.AddChidren(frameBottom); + //宸︾澶� + var btnLeftIcon = new IconViewControl(72); + btnLeftIcon.UnSelectedImagePath = "Guide/LeftIcon.png"; + btnLeftIcon.X = Application.GetRealWidth(17); + btnLeftIcon.Y = Application.GetRealHeight(176); + frameBottom.AddChidren(btnLeftIcon); + //鍙崇澶� + var btnRightIcon = new IconViewControl(72); + btnRightIcon.UnSelectedImagePath = "Guide/RightIcon.png"; + btnRightIcon.X = Application.GetRealWidth(994); + btnRightIcon.Y = Application.GetRealHeight(176); + frameBottom.AddChidren(btnRightIcon); + + //宸﹀彸婊戝姩锛屽垏鎹㈡埧闂村崱鐗� + var btnCard = new NormalViewControl(650, 75, true); + btnCard.Y = Application.GetRealHeight(175); + btnCard.TextID = R.MyInternationalizationString.uSlideLeftAndRightToSwitchRoomCards; + btnCard.TextColor = UserCenterColor.Current.White; + btnCard.TextAlignment = TextAlignment.Center; + btnCard.TextSize = 18; + btnCard.IsBold = true; + btnCard.Gravity = Gravity.CenterHorizontal; + frameBottom.AddChidren(btnCard); + //铏氱嚎绠ご + var btnArrows = new PicViewControl(51, 171); + btnArrows.UnSelectedImagePath = "Guide/Arrows1.png"; + btnArrows.X = Application.GetRealWidth(625); + frameBottom.AddChidren(btnArrows); + + //鎴戠煡閬撲簡 + var btnKnwon = this.AddIKnwonButton(); + btnKnwon.ButtonClickEvent += (sender, e) => + { + this.RemoveFromParent(); + var form = new GuideForm1(); + form.ShowFrom(); + }; + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionGatewayListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionGatewayListForm.cs index 721cc9c..5380257 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionGatewayListForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionGatewayListForm.cs @@ -107,6 +107,13 @@ gatewayRow.frameTable.AddBottomLine(); } + var btnLink = new NormalViewControl(Application.GetRealWidth(700), gatewayRow.btnIp.Height, false); + btnLink.TextSize = 12; + btnLink.X = gatewayRow.btnIp.Right; + btnLink.Y = gatewayRow.btnIp.Y; + btnLink.Text = "鏈湴杩炴帴:" + i_gateway.localIsConnected.ToString(); + gatewayRow.frameTable.AddChidren(btnLink); + //瀹氫綅 var btnPosition = new NormalViewControl(Application.GetRealWidth(184), gatewayRow.Height, false); btnPosition.BackgroundColor = 0xff4a4a4a; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionMainForm.cs index 9c9cc3c..66242e7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionMainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionMainForm.cs @@ -64,6 +64,8 @@ this.AddNormalRowControl("鎷ユ湁杩滅▼鏉冮檺", 400, ZigBee.Device.ZbGateway.AllowRemoteCtrl == true ? "鏄�" : "鍚�", 400); + this.AddNormalRowControl("WIFI鍙橀噺", 400, Shared.Application.IsWifi == true ? "true" : "false", 400); + int count = HdlGatewayLogic.Current.GetAllLocalGateway().Count; var row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs index df958cf..bf52d7e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs @@ -42,7 +42,7 @@ titleIcon.InitControl(); titleIcon.ButtonClickEvent += (sender, e) => { - var menuContr = new TopRightMenuControl(2, 449); + var menuContr = new TopRightMenuControl(2, 2); //鎵弿浜岀淮鐮� string msg1 = Language.StringByID(R.MyInternationalizationString.uScanQRcode); menuContr.AddRowMenu(msg1, "Item/ScanQRcodeIcon.png", "Item/ScanQRcodeIconSelected.png", () => @@ -55,7 +55,10 @@ } //鎼滅储ID this.SearchMemberInfo(qrCode); - }); + }, + Language.StringByID(R.MyInternationalizationString.uCancel), + Language.StringByID(R.MyInternationalizationString.uFlashlamp), + msg1); }); //杈撳叆璐﹀彿 string msg2 = Language.StringByID(R.MyInternationalizationString.uInputAccount); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs index 0973115..cd409ea 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs @@ -191,9 +191,9 @@ this.AddShardContentRow(rowShard); //涓�鏃︾Щ闄よ瀹跺涵鎴愬憳锛屼粬/濂瑰皢鏃犳硶浣跨敤璇ョ綉鍏充笅鎵�缁戝畾鐨勮澶� - var btnNote1 = new NormalViewControl(613, 98, true); - btnNote1.X = Application.GetRealWidth(246); - btnNote1.Y = Application.GetRealHeight(1328); + var btnNote1 = new NormalViewControl(613, 100, true); + btnNote1.X = Application.GetRealWidth(248); + btnNote1.Y = Application.GetRealHeight(1327); btnNote1.TextSize = 12; btnNote1.TextID = R.MyInternationalizationString.RemoveMenberAndDonotUserBindGatewayDevice; btnNote1.IsMoreLines = true; @@ -203,7 +203,7 @@ var btnIcon = new IconViewControl(58); btnIcon.X = Application.GetRealWidth(167); - btnIcon.Y = Application.GetRealHeight(1328); + btnIcon.Y = btnNote1.Y; btnIcon.UnSelectedImagePath = "Item/Tips.png"; bodyFrameLayout.AddChidren(btnIcon); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs index 9e7d205..e13264c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs @@ -103,7 +103,7 @@ form.AddForm(); }; //搴曠嚎 - int lineWidth = btnForgotPsw.GetRealWidthByText(12); + int lineWidth = btnForgotPsw.GetRealWidthByText(); var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; btnLine.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs index 1083b47..dad60e6 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs @@ -102,7 +102,7 @@ form.AddForm(); }; //搴曠嚎 - int lineWidth = btnForgotPsw.GetRealWidthByText(12); + int lineWidth = btnForgotPsw.GetRealWidthByText(); var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; btnLine.Gravity = Gravity.CenterHorizontal; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs index db1f012..aa75165 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs @@ -282,7 +282,7 @@ btnTemper.Text = Language.StringByID(R.MyInternationalizationString.uGetting); HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (Action<ZigBee.Device.CommonDevice>)((report) => + HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, ((report) => { string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); if (newRoom.TemperatrueDevice != mainKeys || btnTemper == null) @@ -296,26 +296,29 @@ { if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) { - if (data.AttriButeData == 0) + HdlThreadLogic.Current.RunMain(() => { - //0鈩� - btnTemper.Text = "0.0鈩�"; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - } + if (data.AttriButeData == 0) + { + //0鈩� + btnTemper.Text = "0.0鈩�"; + } + else if (data.AttriButeData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (data.AttriButeData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + } + }); } } })); @@ -388,18 +391,21 @@ { if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) { - if (data.AttriButeData == 0) + HdlThreadLogic.Current.RunMain(() => { - //0 - btnHumi.Text = "0.0%"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - btnHumi.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; - } + if (data.AttriButeData == 0) + { + //0 + btnHumi.Text = "0.0%"; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + btnHumi.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; + } + }); } } }); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs index fe32bb6..0efff34 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs @@ -312,7 +312,7 @@ btnTemper.Text = Language.StringByID(R.MyInternationalizationString.uGetting); HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); - HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (Action<ZigBee.Device.CommonDevice>)((report) => + HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, ((report) => { string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); if (cloneRoom.TemperatrueDevice != mainKeys || btnTemper == null) @@ -326,26 +326,29 @@ { if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) { - if (data.AttriButeData == 0) + HdlThreadLogic.Current.RunMain(() => { - //0鈩� - btnTemper.Text = "0.0鈩�"; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; - } + if (data.AttriButeData == 0) + { + //0鈩� + btnTemper.Text = "0.0鈩�"; + } + else if (data.AttriButeData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (data.AttriButeData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + btnTemper.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + } + }); } } })); @@ -418,18 +421,21 @@ { if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) { - if (data.AttriButeData == 0) + HdlThreadLogic.Current.RunMain(() => { - //0 - btnHumi.Text = "0.0%"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - btnHumi.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; - } + if (data.AttriButeData == 0) + { + //0 + btnHumi.Text = "0.0%"; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + btnHumi.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; + } + }); } } }); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs index 7cf9971..92ec0a2 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs @@ -122,6 +122,7 @@ frameContr.AddChidren(btnPic); var btnName = new NormalViewControl(251, 282, true); + btnName.IsMoreLines = true; btnName.X = ControlCommonResourse.XXLeft; btnName.Y = Application.GetRealHeight(58); btnName.BackgroundColor = 0xff333333; @@ -247,7 +248,7 @@ var dic = new Dictionary<int, DeviceRowInfo>(); foreach (var device in listDevice) { - var typeInfo = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); + var typeInfo = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device); //鎸夋墍灞濱D鍒嗙粍 if (dic.ContainsKey(typeInfo.BeloneTextId) == false) { @@ -255,7 +256,7 @@ string path1 = string.Empty; string path2 = string.Empty; //鑾峰彇鍥剧墖 - Common.LocalDevice.Current.GetDeviceBeloneIcon(typeInfo.ConcreteType, ref path1, ref path2); + Common.LocalDevice.Current.GetDeviceObjectIcon(typeInfo.ConcreteType, ref path1, ref path2); dic[typeInfo.BeloneTextId].IconPath = path1; } dic[typeInfo.BeloneTextId].listDeviceKeys.Add(Common.LocalDevice.Current.GetDeviceMainKeys(device)); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs index 517fe26..a58dc54 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs @@ -189,7 +189,7 @@ //娌℃湁璁剧疆杩囨ā寮� if (AppResidenceMode == 0) { - var frame = new TopRightMenuControl(2); + var frame = new TopRightMenuControl(2, 2); //鍒涘缓妤煎眰 frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatFloor), "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs index 5b2ab68..626e387 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs @@ -156,7 +156,7 @@ btnIconContr.ButtonClickEvent += (sender, e) => { //妤煎眰鑿滃崟 - var contr = new TopRightMenuControl(dicFloor.Count, 449, Language.StringByID(R.MyInternationalizationString.SelectFloor)); + var contr = new TopRightMenuControl(dicFloor.Count, 2, Language.StringByID(R.MyInternationalizationString.SelectFloor)); foreach (var floorId in dicFloor.Keys) { contr.AddRowMenu(dicFloor[floorId], "Floor/Floor.png", "Floor/FloorSelected.png", () => @@ -288,9 +288,9 @@ string unSelectPath = string.Empty; string selectPath = string.Empty; - var typeInfo = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice>() { device }); + var typeInfo = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device); //鑾峰彇鍥剧墖 - Common.LocalDevice.Current.GetDeviceBeloneIcon(typeInfo.ConcreteType, ref unSelectPath, ref selectPath); + Common.LocalDevice.Current.GetDeviceObjectIcon(typeInfo.ConcreteType, ref unSelectPath, ref selectPath); if (dicRoomData.ContainsKey(typeInfo.BeloneTextId) == false) { dicRoomData[typeInfo.BeloneTextId] = new uRowInformation(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs index 9e3a6c2..ffeae6e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs @@ -44,6 +44,10 @@ { Contacts.ContactAction = (phoneName, phoneNum) => { + if (string.IsNullOrEmpty(phoneName) == true) + { + return; + } //鎵嬫満鍙锋娴� if (this.CheckPhoneNumber("86", phoneNum, phoneName) == false) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaSettionMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaSettionMenuForm.cs index 1e6a2f3..bf7c54f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaSettionMenuForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaSettionMenuForm.cs @@ -149,51 +149,65 @@ btnIcon.UnSelectedImagePath = "Item/Tips.png"; bodyFrameLayout.AddChidren(btnIcon); + int XX = 0; + int contrWidth = 0; + string msg = string.Empty; //24灏忔椂闃插尯 if (zoonID == 1) { //24灏忔椂闃插尯涓嶅彈甯冮槻銆佹挙闃插奖鍝峽0}闃插尯琚Е鍙戠珛鍗虫姤璀0}涓�鑸缃儫闆俱�佺噧姘斻�佹按娴哥瓑浼犳劅鍣� msg = Language.StringByID(R.MyInternationalizationString.u24HourSectorsTipMsg); - btnIcon.X = Application.GetRealWidth(223); + btnIcon.X = Application.GetRealWidth(233); + XX = Application.GetRealWidth(282); + contrWidth = Application.GetRealWidth(580); } //闈欓煶闃插尯 else if (zoonID == 2) { //闈欓煶闃插尯涓嶅彈甯冮槻銆佹挙闃插奖鍝嶏紝闃插尯琚珄0}瑙﹀彂绔嬪嵆鎶ヨ锛岄�氬父涓嶄骇鐢熷0闊虫垨{0}鍏朵粬鎻愮ず锛屽彧鍙戦�佷俊鎭埌鐗瑰畾鐨勬帴鏀惰�� msg = Language.StringByID(R.MyInternationalizationString.uMuteSectorsTipMsg); - btnIcon.X = Application.GetRealWidth(175); + btnIcon.X = Application.GetRealWidth(202); + XX = Application.GetRealWidth(279); + contrWidth = Application.GetRealWidth(614); } //鍐呴儴闃插尯 else if (zoonID == 4) { //鍦ㄧ瀹跺竷闃叉ā寮忎笅锛屽唴閮ㄩ槻鍖轰紶鎰熷櫒瑙﹀彂{0}绔嬪嵆鎶ヨ銆傚湪鍦ㄥ甯冮槻妯″紡涓媨0}鍐呴儴闃插尯鎵�鏈変紶鎰熷櫒涓嶅弬涓庢姤璀� msg = Language.StringByID(R.MyInternationalizationString.uInteriorSectorsTipMsg); - btnIcon.X = Application.GetRealWidth(159); + btnIcon.X = Application.GetRealWidth(179); + XX = Application.GetRealWidth(256); + contrWidth = Application.GetRealWidth(651); } //鍛ㄧ晫闃插尯 else if (zoonID == 5) { //绂诲甯冮槻妯″紡鎴栧湪瀹跺竷闃叉ā寮忎笅{0}鍛ㄧ晫闃插尯浼犳劅鍣ㄨЕ鍙戠珛鍗虫姤璀� msg = Language.StringByID(R.MyInternationalizationString.uPerimeterSectorsTipMsg); - btnIcon.X = Application.GetRealWidth(229); + btnIcon.X = Application.GetRealWidth(239); + XX = Application.GetRealWidth(317); + contrWidth = Application.GetRealWidth(510); } //鍑哄叆闃插尯 else { //鍦ㄥ竷闃插悗绯荤粺鎻愪緵涓�瀹氱殑寤惰繜鏃堕棿銆傚嚭闂ㄦ椂{0}澶栧嚭寤舵椂缁撴潫鍚庯紝绯荤粺瑙﹀彂鐩爣鎶ヨ{0}鍥炲鏃讹紝杩涘叆寤舵椂缁撴潫鍚庯紝绯荤粺瑙﹀彂鐩爣鎶ヨ msg = Language.StringByID(R.MyInternationalizationString.uInAndOutSectorsTipMsg); - btnIcon.X = Application.GetRealWidth(141); + btnIcon.X = Application.GetRealWidth(156); + XX = Application.GetRealWidth(216); + contrWidth = Application.GetRealWidth(721); } var ArryMsg = msg.Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); int yy = Application.GetRealHeight(1428); for (int i = 0; i < ArryMsg.Length; i++) { - var btnTip = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(50), false); + var btnTip = new NormalViewControl(contrWidth, Application.GetRealHeight(50), false); btnTip.TextAlignment = TextAlignment.Center; btnTip.TextColor = UserCenterColor.Current.TextGrayColor1; btnTip.TextSize = 12; + btnTip.X = XX; btnTip.Y = yy; btnTip.Text = ArryMsg[i]; bodyFrameLayout.AddChidren(btnTip); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs index 0e73874..b9a5c0f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs @@ -190,7 +190,7 @@ btnIcon.ButtonClickEvent += (sender, e) => { //鑿滃崟鎺т欢 - var frameMenu = new TopRightMenuControl(2); + var frameMenu = new TopRightMenuControl(2, 2); //闃插尯鍒楄〃 string menu1 = Language.StringByID(R.MyInternationalizationString.uGarrisonAreaList); frameMenu.AddRowMenu(menu1, "Item/GarrisonList.png", "Item/GarrisonListSelected.png", () => @@ -490,7 +490,7 @@ var control = this.dicSensorStatuView[mainkey]; //鑾峰彇浼犳劅鍣ㄦ姤璀︿俊鎭殑缈昏瘧鏂囨湰 var msgInfo = HdlAlarmsLogic.Current.GetSensorAlarmInfo(device); - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { control?.SetSensoReportInfo(msgInfo); }); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs index 816556e..cef5888 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs @@ -211,6 +211,7 @@ frameContr.AddChidren(btnPic, ChidrenBindMode.BindEventOnly); var btnName = new NormalViewControl(251, 282, true); + btnName.IsMoreLines = true; btnName.X = ControlCommonResourse.XXLeft; btnName.Y = Application.GetRealHeight(58); btnName.BackgroundColor = 0xff333333; @@ -409,7 +410,7 @@ //濡傛灉宸茬粡鍒嗕韩浜�,鍒欎笉鏄剧ず continue; } - var typeInfo = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); + var typeInfo = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device); if (dic.ContainsKey(typeInfo.BeloneTextId) == false) { dic[typeInfo.BeloneTextId] = new List<CommonDevice>(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs index 5e39b80..7cf0cff 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs @@ -144,7 +144,7 @@ btnIconContr.ButtonClickEvent += (sender, e) => { //妤煎眰鑿滃崟 - var contr = new TopRightMenuControl(dicFloor.Count, 449, Language.StringByID(R.MyInternationalizationString.SelectFloor)); + var contr = new TopRightMenuControl(dicFloor.Count, 2, Language.StringByID(R.MyInternationalizationString.SelectFloor)); foreach (var floorId in dicFloor.Keys) { contr.AddRowMenu(dicFloor[floorId], "Floor/Floor.png", "Floor/FloorSelected.png", () => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs index df51a9c..870173f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs @@ -194,6 +194,7 @@ frameContr.AddChidren(btnPic); var btnName = new NormalViewControl(251, 282, true); + btnName.IsMoreLines = true; btnName.X = ControlCommonResourse.XXLeft; btnName.Y = Application.GetRealHeight(58); btnName.BackgroundColor = 0xff333333; @@ -388,7 +389,7 @@ var dic = new Dictionary<int, List<CommonDevice>>(); foreach (var device in listDevice) { - var typeInfo = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); + var typeInfo = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device); if (dic.ContainsKey(typeInfo.BeloneTextId) == false) { dic[typeInfo.BeloneTextId] = new List<CommonDevice>(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs index 7197147..cf149a7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs @@ -1,6 +1,9 @@ -锘縰sing System; +锘縰sing Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; +using ZigBee.Device; namespace Shared.Phone.UserCenter.UserMain { @@ -29,6 +32,8 @@ /// </summary> public void ShowForm() { + Common.CommonPage.Instance.IsDrawerLockMode = true; + //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uMessageCenter)); @@ -64,70 +69,106 @@ { //鑾峰彇鏁版嵁 var dicData = await this.GetMessageData(); - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(dicData == null && showReload == true ? ShowReLoadMode.YES : ShowReLoadMode.NO); - - HdlThreadLogic.Current.RunMain(() => - { - //鍏抽棴鍒锋柊鐗规晥 - listView?.EndHeaderRefreshing(); - }); if (dicData == null) { + if (showReload == true) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + } + else + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + } + HdlThreadLogic.Current.RunMain(() => + { + //鍏抽棴鍒锋柊鐗规晥 + listView?.EndHeaderRefreshing(); + //娓呯┖ + listView.RemoveAll(); + }); //鏁版嵁寮傚父 return; } - HdlThreadLogic.Current.RunMain(() => - { - //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(dicData); - }); + + //鍒濆鍖栦腑閮ㄦ帶浠� + this.InitMiddleFrame(dicData); } /// <summary> - /// 鍒濆鍖栦腑閮ㄦ帶浠� + /// 鍒濆鍖栦腑閮ㄦ帶浠�(瑕佷娇鐢ㄧ嚎绋嬭皟鐢�) /// </summary> /// <param name="dicData"></param> - private void InitMiddleFrame(Dictionary<string, List<MessageRecordInfo>> dicData) + private void InitMiddleFrame(Dictionary<string, List<List<MessageRecordInfo>>> dicData) { - //娓呯┖ - listView.RemoveAll(); + int dateIndex = 0; + FrameListControl framBack = null; + string oldKeys = string.Empty; - int index = 0; + int maxCount = 0; + int countIndex = 0; + foreach (var data in dicData.Values) + { + //鑾峰彇寰幆鐨勬�绘鏁� + maxCount += data.Count; + } + + int waiTime = 1000; foreach (var keys in dicData.Keys) { - var listData = dicData[keys]; - index++; - //瀹瑰櫒 - var framBack = new FrameListControl(23); - framBack.Name = index.ToString(); - framBack.Height = Application.GetRealHeight(100); - framBack.BackgroundColor = UserCenterColor.Current.White; - listView.AddChidrenFrame(framBack); - - //鏃ユ湡 - string strMonth = Language.StringByID(R.MyInternationalizationString.Month); - string strDate = Language.StringByID(R.MyInternationalizationString.Day); - var frameDate = new FrameLayout(); - frameDate.Height = Application.GetRealHeight(118); - framBack.AddChidren(frameDate); - var btnDate = new NormalViewControl(500, 60, true); - btnDate.TextSize = 15; - btnDate.X = ControlCommonResourse.XXLeft; - btnDate.Y = Application.GetRealHeight(35); - btnDate.Text = Convert.ToDateTime(listData[0].MsgTime).ToString("MM" + strMonth + "dd" + strDate); - frameDate.AddChidren(btnDate); - - for (int i = 0; i < listData.Count; i++) + var listGroup = dicData[keys]; + foreach (var listData in listGroup) { - //娣诲姞淇℃伅琛� - this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1); - } - //璋冩暣楂樺害 - listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23)); - if (index == dicData.Count) - { - listView.AdjustTableHeight(); + HdlThreadLogic.Current.RunMain(() => + { + countIndex++; + //褰撴棩鏈熶笉涓�鏍锋椂,閲嶆柊寤虹珛妗屽竷 + if (oldKeys != keys) + { + oldKeys = keys; + dateIndex++; + //瀹瑰櫒 + framBack = new FrameListControl(23); + framBack.Name = dateIndex.ToString(); + framBack.Height = Application.GetRealHeight(100); + framBack.BackgroundColor = UserCenterColor.Current.White; + listView.AddChidrenFrame(framBack); + + //鏃ユ湡 + string strMonth = Language.StringByID(R.MyInternationalizationString.Month); + string strDate = Language.StringByID(R.MyInternationalizationString.Day); + var frameDate = new FrameLayout(); + frameDate.Height = Application.GetRealHeight(118); + framBack.AddChidren(frameDate); + var btnDate = new NormalViewControl(500, 60, true); + btnDate.TextSize = 15; + btnDate.X = ControlCommonResourse.XXLeft; + btnDate.Y = Application.GetRealHeight(35); + btnDate.Text = Convert.ToDateTime(listGroup[0][0].CreatedOnUtc).ToString("MM" + strMonth + "dd" + strDate); + frameDate.AddChidren(btnDate); + } + + for (int i = 0; i < listData.Count; i++) + { + //娣诲姞淇℃伅琛� + this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1); + } + //璋冩暣楂樺害 + listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23)); + if (countIndex == maxCount) + { + //璋冩暣妗屽竷 + listView.AdjustTableHeight(); + //鍏抽棴鍒锋柊鐗规晥 + listView.EndHeaderRefreshing(); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + } + }); + //绗竴娆$殑鏃跺�欙紝绛夊緟鐨勬椂鍊欎箙涓�鐐� + System.Threading.Thread.Sleep(waiTime); + waiTime = 500; } } } @@ -157,20 +198,25 @@ /// </summary> private void ShowBottomMenu() { + bool authority = UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2; + var menuContr = new BottomMenuSelectForm(); - menuContr.AddForm(2); + menuContr.AddForm(authority == true ? 2 : 1); //鍏ㄩ儴宸茶 menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uAllRead), () => { //璁剧疆鍏ㄩ儴涓哄凡璇� this.SetAllTickIsRead(); }); - //鍏ㄩ儴鍒犻櫎 - menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uAllDelete), () => + if (authority == true) { - //鍒犻櫎鍏ㄩ儴鐨勬秷鎭� - this.DeleteAllMsg(); - }); + //鍏ㄩ儴鍒犻櫎 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uAllDelete), () => + { + //鍒犻櫎鍏ㄩ儴鐨勬秷鎭� + this.DeleteAllMsg(); + }); + } } #endregion @@ -191,32 +237,22 @@ rowControl.MainKeys = recordInfo.Id; this.dicAllRow[frameList.Name + "-" + rowControl.Name] = rowControl; - //鍥炬爣(鐜板湪娴嬭瘯) + //鍥炬爣 var btnIcon = rowControl.frameTable.AddLeftIcon(81); - btnIcon.UnSelectedImagePath = "Item/Safety.png"; - + btnIcon.UnSelectedImagePath = recordInfo.IconPath; //娑堟伅绫诲瀷 - var btnMsgObject = rowControl.frameTable.AddLeftCaption("鎶ヨ娑堟伅", 600); - PicViewControl btnNewTip = null; - if (recordInfo.IsRead == 0) - { - btnNewTip = new PicViewControl(78, 55); - btnNewTip.UnSelectedImagePath = "Item/NewVersion.png"; - btnNewTip.Y = Application.GetRealHeight(9) + rowControl.frameTable.chidrenYaxis; - btnNewTip.X = btnMsgObject.X + btnMsgObject.GetRealWidthByText(14); - rowControl.frameTable.AddChidren(btnNewTip, ChidrenBindMode.BindEventOnly); - } + var btnMsgObject = rowControl.frameTable.AddLeftCaption(recordInfo.MsgObjectText, 600); //娑堟伅 - var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.MsgContent, 600, 60); + var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.MsgText, 600, 60); btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; btnMsg.Y = Application.GetRealHeight(5) + rowControl.frameTable.chidrenYaxis; rowControl.frameTable.AddChidren(btnMsg, ChidrenBindMode.BindEventOnly); //鏃堕棿 - var btnTime = rowControl.frameTable.AddMostRightView(recordInfo.MsgContent, 200, 50); + var btnTime = rowControl.frameTable.AddMostRightView("", 200, 50); btnTime.TextColor = UserCenterColor.Current.TextGrayColor1; btnTime.Y = btnMsg.Bottom + Application.GetRealHeight(12); - btnTime.Text = Convert.ToDateTime(recordInfo.MsgTime).ToString("HH锛歮m"); + btnTime.Text = Convert.ToDateTime(recordInfo.CreatedOnUtc).ToString("HH锛歮m"); rowControl.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly); //搴曠嚎 if (addLine == true) @@ -224,7 +260,7 @@ rowControl.frameTable.AddBottomLine(); } //宸茶 - if (recordInfo.IsRead == 1) + if (recordInfo.IsReading == true) { rowControl.frameTable.UseClickStatu = false; //娑堟伅绫诲瀷 @@ -232,26 +268,44 @@ //娑堟伅 btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1; } - //鍒犻櫎 - var btnDelete = rowControl.AddDeleteControl(); - btnDelete.ButtonClickEvent += (sender, e) => + //璋冩暣瀹藉害 + btnMsgObject.Width = btnMsgObject.GetRealWidthByText(); + + //鏂版秷鎭� + PicViewControl btnNewTip = null; + if (recordInfo.IsReading == false) { - //纭鍒犻櫎娑堟伅? - string msg = Language.StringByID(R.MyInternationalizationString.uDeleteMessageMsg); - this.ShowMassage(ShowMsgType.Confirm, msg, async () => + btnNewTip = new PicViewControl(78, 55); + btnNewTip.UnSelectedImagePath = "Item/NewVersion.png"; + btnNewTip.Y = Application.GetRealHeight(9) + rowControl.frameTable.chidrenYaxis; + btnNewTip.X = btnMsgObject.Right + Application.GetRealWidth(10); + rowControl.frameTable.AddChidren(btnNewTip, ChidrenBindMode.BindEventOnly); + } + + //涓昏涓讳汉鍜岀鐞嗗憳鑳藉鍒犻櫎 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鍒犻櫎 + var btnDelete = rowControl.AddDeleteControl(); + btnDelete.ButtonClickEvent += (sender, e) => { - await this.DeleteMsg(recordInfo.Id, frameList, rowControl); - }); - }; + //纭鍒犻櫎娑堟伅? + string msg = Language.StringByID(R.MyInternationalizationString.uDeleteMessageMsg); + this.ShowMassage(ShowMsgType.Confirm, msg, async () => + { + await this.DeleteMsg(recordInfo.Id, frameList, rowControl); + }); + }; + } //鐐瑰嚮 rowControl.frameTable.ButtonClickEvent += async (sender, e) => { - if (recordInfo.IsRead == 1) + if (recordInfo.IsReading == true) { return; } - recordInfo.IsRead = 1; + recordInfo.IsReading = true; rowControl.frameTable.UseClickStatu = false; //娑堟伅绫诲瀷 btnMsgObject.TextColor = UserCenterColor.Current.TextGrayColor1; @@ -276,15 +330,11 @@ /// <param name="strId"></param> private async System.Threading.Tasks.Task<bool> SetTickIsRead(string strId) { - string strUrl = "ZigbeeUsers/TickIsRead?Id=" + strId; - - var result = await Common.CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(strUrl, null, "GET"); - if (result == null) - { - return UserCenterLogic.CheckNotEorrorMsg(null, "ZigbeeUsers/TickIsRead", null, null); - } - //浜戠鏄笉浼氳繑鍥炰笢瑗跨殑 - return true; + var pra = new MessageReadStatuPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + pra.Id = strId; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagMessageMessageCenterItem", true, pra); + return result; } /// <summary> @@ -341,13 +391,15 @@ /// <param name="rowContr"></param> private async System.Threading.Tasks.Task<bool> DeleteMsg(string strId, FrameListControl frameList, RowLayoutControl rowContr) { - string strUrl = "ZigbeeUsers/DeletePushMessage?Id=" + strId; - - var result = await Common.CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(strUrl, null, "GET"); - if (result == null) + var pra = new MessageReadStatuPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + pra.Id = strId; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/DelMessageCenterItem", true, pra); + if (result == false) { - return UserCenterLogic.CheckNotEorrorMsg(null, "ZigbeeUsers/DeletePushMessage", null, null); + return false; } + //浜戠鏄笉浼氳繑鍥炰笢瑗跨殑 if (frameList != null) { @@ -469,62 +521,416 @@ /// 鑾峰彇娑堟伅璁板綍 /// </summary> /// <returns></returns> - private async System.Threading.Tasks.Task<Dictionary<string, List<MessageRecordInfo>>> GetMessageData() + private async Task<Dictionary<string, List<List<MessageRecordInfo>>>> GetMessageData() { this.dicAllRow = new Dictionary<string, RowLayoutControl>(); + var allListData = new List<MessageRecordInfo>(); - var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetPushMessageRecord", false, ""); + var pra = new MessageInfoPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + + //浼犳劅鍣ㄤ笂鎶� + pra.Topic = "/IASInfoReport"; + var dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //闂ㄩ攣涓婃姤 + pra.Topic = "/Alarms/SendAlarmInform"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //鎾ら槻 + pra.Topic = "/Security/WithdrawMode_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //甯冮槻 + pra.Topic = "/Security/EnableMode_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //閫昏緫瑙﹀彂涓婃姤 + pra.Topic = "/Logic/Execute_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //鍦烘櫙瑙﹀彂涓婃姤 + pra.Topic = "/Scene/Exec_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //鍚堝苟鏁版嵁 + return this.MergeMessageRecordData(allListData); + } + + /// <summary> + /// 浠庝簯绔幏鍙栨暟鎹� + /// </summary> + /// <param name="pra"></param> + /// <returns></returns> + private async Task<List<MessageRecordInfo>> GetMessageDataFromDb(MessageInfoPra pra) + { + var result = await UserCenterLogic.GetResponseDataByRequestHttps("MessageCenter/GetMessageCenterPagger", true, pra); if (result == null) { return null; } - var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MessageRecordInfo>>(result); - //鍚堝苟鏁版嵁 - return this.MergeMessageRecordData(dataInfo); + var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageCentetInfo>(result); + + var listData = new List<MessageRecordInfo>(); + for (int i = 0; i < dataInfo.PageData.Count; i++) + { + try + { + var data = dataInfo.PageData[i]; + //澶勭悊娑堟伅绫诲瀷 + this.AdjustMsgContent(ref data); + + listData.Add(data); + } + catch { continue; } + } + + return listData; } /// <summary> - /// 鍚堝苟鏁版嵁 + /// 鍚堝苟鏁版嵁(鍚屼竴澶╀箣鍐�,浼氬垎缁�) /// </summary> /// <param name="dataInfo"></param> /// <returns></returns> - private Dictionary<string, List<MessageRecordInfo>> MergeMessageRecordData(List<MessageRecordInfo> dataInfo) + private Dictionary<string, List<List<MessageRecordInfo>>> MergeMessageRecordData(List<MessageRecordInfo> dataInfo) { - var dicData = new Dictionary<string, List<MessageRecordInfo>>(); + var dicData = new Dictionary<string, List<List<MessageRecordInfo>>>(); //棣栧厛鍏堟帓搴忎竴涓�,鏃堕棿澶х殑鏀惧湪鍓嶉潰 var dicTemp = new Dictionary<string, List<MessageRecordInfo>>(); var listSortKeys = new List<string>(); foreach (var data in dataInfo) { - if (dicTemp.ContainsKey(data.MsgTime) == false) + if (dicTemp.ContainsKey(data.CreatedOnUtc) == false) { - dicTemp[data.MsgTime] = new List<MessageRecordInfo>(); - listSortKeys.Add(data.MsgTime); + dicTemp[data.CreatedOnUtc] = new List<MessageRecordInfo>(); + listSortKeys.Add(data.CreatedOnUtc); } - dicTemp[data.MsgTime].Add(data); + dicTemp[data.CreatedOnUtc].Add(data); } listSortKeys.Sort(); + + var listGroup = new List<MessageRecordInfo>(); for (int i = listSortKeys.Count - 1; i >= 0; i--) { var listData = dicTemp[listSortKeys[i]]; foreach (var data2 in listData) { - string[] myArry = data2.MsgTime.Split(new string[] { "T" }, StringSplitOptions.RemoveEmptyEntries); + if (data2.Topic == "/DoorLock/DoorLockOperatingEventNotificationCommand") + { + //鏆傛椂涓嶅鐞嗚繖涓富棰� + continue; + } + string[] myArry = data2.CreatedOnUtc.Split(new string[] { "T" }, StringSplitOptions.RemoveEmptyEntries); if (myArry.Length != 2) { continue; } - if (dicData.ContainsKey(myArry[0]) == false) + string dicKeys = myArry[0];//鏃ユ湡 + if (dicData.ContainsKey(dicKeys) == false) { - dicData[myArry[0]] = new List<MessageRecordInfo>(); + listGroup = new List<MessageRecordInfo>(); + dicData[dicKeys] = new List<List<MessageRecordInfo>>(); + dicData[dicKeys].Add(listGroup); } - dicData[myArry[0]].Add(data2); + if (listGroup.Count > 20) + { + //姣�20涓竴缁� + listGroup = new List<MessageRecordInfo>(); + dicData[dicKeys].Add(listGroup); + } + listGroup.Add(data2); } } return dicData; } #endregion + + #region 鈻� 澶勭悊娑堟伅绫诲瀷_______________________ + + /// <summary> + /// 澶勭悊娑堟伅绫诲瀷 + /// </summary> + /// <param name="recordInfo">娑堟伅鏁版嵁</param> + private void AdjustMsgContent(ref MessageRecordInfo recordInfo) + { + var jobject = JObject.Parse(recordInfo.PayloadJson); + //浼犳劅鍣ㄤ笂鎶� + if (recordInfo.Topic == "/IASInfoReport") + { + this.SensorDeviceReportPush(jobject, ref recordInfo); + } + //闂ㄩ攣涓婃姤 + else if (recordInfo.Topic == "/Alarms/SendAlarmInform") + { + this.DoorLockDeviceReportPush(jobject, ref recordInfo); + } + //鎾ら槻 + else if (recordInfo.Topic == "/Security/WithdrawMode_Respon") + { + this.RemoveSafetyGarrisonPush(jobject, ref recordInfo); + } + //甯冮槻 + else if (recordInfo.Topic == "/Security/EnableMode_Respon") + { + this.SetSafetyGarrisonPush(jobject, ref recordInfo); + } + //閫昏緫瑙﹀彂涓婃姤 + else if (recordInfo.Topic == "/Logic/Execute_Respon") + { + this.LogicExecutePush(jobject, ref recordInfo); + } + //鍦烘櫙瑙﹀彂涓婃姤 + else if (recordInfo.Topic == "/Scene/Exec_Respon") + { + this.SceneExecPush(jobject, ref recordInfo); + } + } + + #endregion + + #region 鈻� 浼犳劅鍣ㄤ笂鎶________________________ + + /// <summary> + /// 浼犳劅鍣ㄨ澶囦笂鎶� + /// </summary> + /// <param name="receiveData"></param> + private bool SensorDeviceReportPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + var ias = new IASZone() { DeviceAddr = receiveData.Value<string>("DeviceAddr"), DeviceEpoint = receiveData.Value<int>("Epoint") }; + ias.iASInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<IASZone.IASInfoData>(receiveData["Data"].ToString()); + //鍥炬爣 + var localDevice = Common.LocalDevice.Current.GetDevice(ias.DeviceAddr, ias.DeviceEpoint); + if (localDevice == null) + { + recordInfo.IconPath = "Device/Sensor.png"; + //娑堟伅绫诲瀷:浼犳劅鍣� + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId1200); + } + else + { + string selectPath = string.Empty; + string unselecPath = string.Empty; + Common.LocalDevice.Current.GetDeviceIcon(localDevice, ref unselecPath, ref selectPath); + recordInfo.IconPath = unselecPath; + //娑堟伅绫诲瀷 + recordInfo.MsgObjectText = Common.LocalDevice.Current.GetDeviceEpointName(localDevice); + } + + //娑堟伅 + var info = HdlAlarmsLogic.Current.GetSensorAlarmInfo(ias); + if (info == null) + { + //闈炲湪鍐岀殑娑堟伅璁板綍 + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered); + } + else if (info.BatteryMsg != null) + { + recordInfo.MsgText = info.BatteryMsg; + } + else if (info.DemolishmenMsg != null) + { + recordInfo.MsgText = info.DemolishmenMsg; + } + else + { + recordInfo.MsgText = string.IsNullOrEmpty(info.AlarmMsg) == false ? info.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered); + } + return true; + } + + #endregion + + #region 鈻� 闂ㄩ攣涓婃姤___________________________ + + /// <summary> + /// 闂ㄩ攣涓婃姤 + /// </summary> + /// <param name="receiveData"></param> + private void DoorLockDeviceReportPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint")); + if (device == null) + { + recordInfo.IconPath = "Device/IntelligentLocks.png"; + //娑堟伅绫诲瀷:鏅鸿兘闂ㄩ攣 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId2800); + } + else + { + string selectPath = string.Empty; + string unselecPath = string.Empty; + Common.LocalDevice.Current.GetDeviceIcon(device, ref unselecPath, ref selectPath); + recordInfo.IconPath = unselecPath; + //娑堟伅绫诲瀷 + recordInfo.MsgObjectText = Common.LocalDevice.Current.GetDeviceEpointName(device); + } + //娑堟伅 + var msgInfo = HdlAlarmsLogic.Current.GetDoorLockAlarmInfo(receiveData); + recordInfo.MsgText = msgInfo != null ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uDoorLocksAlarmHadTriggered); + } + + #endregion + + #region 鈻� 甯冮槻_______________________________ + + /// <summary> + /// 甯冮槻鎺ㄩ�� + /// </summary> + /// <param name="receiveData"></param> + private void SetSafetyGarrisonPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/Safety.png"; + + var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Safeguard.EnableModeResponseData>(receiveData["Data"].ToString()); + if (data.Result == 0) + { + //绂诲甯冮槻 + if (data.ModeId == 2) + { + //绂诲甯冮槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uRemoveHomeGarrison); + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + } + else + { + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + //娌℃湁鍐呴儴闃插尯 + if (HdlSafeguardLogic.Current.IsHadInternalDefenseArea() == false) + { + //甯冮槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uGarrison); + } + else + { + //鍦ㄥ甯冮槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uAtHomeGarrison); + } + } + } + else + { + //甯冮槻璁剧疆澶辫触 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail); + } + } + + #endregion + + #region 鈻� 鎾ら槻_______________________________ + + /// <summary> + /// 鎾ら槻鎺ㄩ�� + /// </summary> + /// <param name="receiveData"></param> + private void RemoveSafetyGarrisonPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/Safety.png"; + + var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Safeguard.WithdrawModeResponseData>(receiveData["Data"].ToString()); + if (data.Result == 0) + { + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + //鎾ら槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison); + } + else + { + //鎾ら槻澶辫触 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonFail); + } + } + + #endregion + + #region 鈻� 閫昏緫瑙﹀彂涓婃姤_______________________ + + /// <summary> + /// 閫昏緫瑙﹀彂涓婃姤 + /// </summary> + /// <param name="receiveData"></param> + private void LogicExecutePush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/LogicMsgIcon.png"; + //绫诲瀷:閫昏緫鍚嶅瓧 + recordInfo.MsgObjectText = receiveData["Data"]["LogicName"].ToString(); + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + } + + #endregion + + #region 鈻� 鍦烘櫙瑙﹀彂涓婃姤_______________________ + + /// <summary> + /// 鍦烘櫙瑙﹀彂涓婃姤 + /// </summary> + /// <param name="receiveData"></param> + private void SceneExecPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/SceneMsgIcon.png"; + //绫诲瀷:鍦烘櫙鍚嶅瓧 + recordInfo.MsgObjectText = receiveData["Data"]["ScenesName"].ToString(); + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseFormBefore() + { + if (UserCenterResourse.DicActionForm.ContainsKey("UserMainForm") == false) + { + Common.CommonPage.Instance.IsDrawerLockMode = false; + } + base.CloseFormBefore(); + } + + #endregion } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs index 5395cca..8998b82 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs @@ -184,7 +184,17 @@ } else { - btnPhone.Text = "+" + UserCenterResourse.UserInfo.AreaCode + " " + UserCenterResourse.UserInfo.Phone; + string phoneNum = UserCenterResourse.UserInfo.Phone; + if (phoneNum.Length >= 11) + { + phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 7, '*') + phoneNum.Substring(phoneNum.Length - 4, 4); + } + else if (phoneNum.Length >= 5) + { + //鎴栬杩欐槸鍥藉鐨勬墜鏈哄惂 + phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 5, '*') + phoneNum.Substring(phoneNum.Length - 2, 2); + } + btnPhone.Text = "+" + UserCenterResourse.UserInfo.AreaCode + " " + phoneNum; } rowPhone.ButtonClickEvent += (sender, e) => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs index 591c299..4ce6701 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs @@ -75,12 +75,6 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); - //淇℃伅鎻愮ず鎺т欢 - this.msgControl = new MessageManagementControl(); - msgControl.Y = Application.GetRealHeight(127); - msgControl.X = Application.GetRealWidth(953); - bodyFrameLayout.AddChidren(this.msgControl); - //涓汉涓績 var btnTitle = new NormalViewControl(350, 100, true); btnTitle.X = ControlCommonResourse.XXLeft; @@ -90,6 +84,21 @@ btnTitle.IsBold = true; btnTitle.TextID = R.MyInternationalizationString.UserCenter; bodyFrameLayout.AddChidren(btnTitle); + + var btnBack1 = new PicViewControl(1031, 942); + btnBack1.Y = btnTitle.Bottom - Application.GetRealHeight(10); + btnBack1.UnSelectedImagePath = "Center/MainBack1.png"; + bodyFrameLayout.AddChidren(btnBack1); + var btnBack2 = new PicViewControl(392, 172); + btnBack2.X = Application.GetRealWidth(688); + btnBack2.UnSelectedImagePath = "Center/MainBack2.png"; + bodyFrameLayout.AddChidren(btnBack2); + + //淇℃伅鎻愮ず鎺т欢 + this.msgControl = new MessageManagementControl(); + msgControl.Y = Application.GetRealHeight(127); + msgControl.X = Application.GetRealWidth(953); + bodyFrameLayout.AddChidren(this.msgControl); //鐧芥 var frameBack = new FrameLayout(); @@ -136,14 +145,15 @@ form.AddForm(); }; - if (UserCenterResourse.UserInfo.AuthorityNo == 1) + //鐨囧啝 + this.btnImperialCrown = new IconViewControl(60); + btnImperialCrown.X = Application.GetRealWidth(346); + btnImperialCrown.Y = Application.GetRealHeight(475); + btnImperialCrown.UnSelectedImagePath = "Center/ImperialCrown.png"; + bodyFrameLayout.AddChidren(btnImperialCrown); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) { - //鐨囧啝 - this.btnImperialCrown = new IconViewControl(60); - btnImperialCrown.X = Application.GetRealWidth(346); - btnImperialCrown.Y = Application.GetRealHeight(475); - btnImperialCrown.UnSelectedImagePath = "Center/ImperialCrown.png"; - bodyFrameLayout.AddChidren(btnImperialCrown); + btnImperialCrown.Visible = false; } //鐢ㄦ埛鏄电О @@ -475,17 +485,14 @@ //鐢ㄦ埛韬唤 btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText; } - if (this.btnImperialCrown != null) + //鐨囧啝 + if (UserCenterResourse.UserInfo.AuthorityNo != 1) { - //鐨囧啝 - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - this.btnImperialCrown.Visible = false; - } - else - { - this.btnImperialCrown.Visible = true; - } + this.btnImperialCrown.Visible = false; + } + else + { + this.btnImperialCrown.Visible = true; } //鍒锋柊淇℃伅鎻愮ず鎺т欢 diff --git a/ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs b/ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs new file mode 100755 index 0000000..b34e77b --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs @@ -0,0 +1,264 @@ +锘縰sing System; +using Shared.Common; +using Shared.Phone.UserCenter; + +namespace Shared.Phone.UserView +{ + public class SafetyShortcutControl:Button + { + /// <summary> + /// dialog + /// </summary> + private Dialog dialog; + /// <summary> + /// SafetyShortcut + /// </summary> + public SafetyShortcutControl() + { + this.Height = Application.GetMinRealAverage(69); + this.Width = Application.GetMinRealAverage(69); + this.UnSelectedImagePath = "Item/SafetyShortcut.png"; + this.MouseUpEventHandler += (sender, e) => + { + Show(); + }; + } + + /// <summary> + /// Show + /// </summary> + private void Show() + { + Common.CommonPage.Instance.IsDrawerLockMode = true; + + dialog = new Dialog(); + dialog.BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor; + dialog.Show(); + var closeBGview = new FrameLayout(); + dialog.AddChidren(closeBGview); + closeBGview.MouseUpEventHandler += (send1, e1) => + { + dialog.Close(); + }; + + var bg = new Button + { + X = Application.GetRealWidth(485), + Y = Application.GetRealHeight(161), + Width = Application.GetRealWidth(449), + Height = Application.GetRealHeight(495), + UnSelectedImagePath = "Item/SafetyShortcut_background.png" + }; + closeBGview.AddChidren(bg); + + var bg1 = new FrameLayout + { + X = Application.GetRealWidth(485), + Y = Application.GetRealHeight(161), + Width = Application.GetRealWidth(449), + Height = Application.GetRealHeight(495), + }; + closeBGview.AddChidren(bg1); + + new System.Threading.Thread(async () => + { + //鍒锋柊 + var result = await HdlSafeguardLogic.Current.ReFreshByGateway(); + if (result == false) + { + return; + } + //鏄惁璁剧疆鏈夊唴閮ㄩ槻鍖� + Application.RunOnMainThread(() => + { + RefreshSafeZone(bg1, HdlSafeguardLogic.Current.IsHadInternalDefenseArea()); + }); + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// 鏄剧ず闃插尯 + /// </summary> + /// <param name="statu">true 3涓槻鍖� false 2涓槻鍖�</param> + private void RefreshSafeZone(FrameLayout layout, bool statu) + { + if(statu) + { + ShowThreeSafeType(layout); + } + else + { + ShowTwoSafeType(layout); + } + } + + /// <summary> + /// 甯冮槻鎾ら槻 + /// </summary> + /// <param name="layout"></param> + private void ShowTwoSafeType(FrameLayout layout) + { + Device.CommonForm.LeftIconButtonRow tempRow; + var atHome = new Device.CommonForm.LeftIconButtonRow(449, 150); + atHome.Y = Application.GetRealHeight(32); + atHome.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uGarrison)); + layout.AddChidren(atHome); + atHome.Tag = GarrisonMode.AtHome; + if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.AtHome) + { + atHome.IsSelected = true; + tempRow = atHome; + } + atHome.ClickBtn.MouseUpEventHandler += (sender, e) => + { + if((sender as Button).IsSelected) + { + dialog.Close(); + return; + } + CommonPage.Loading.Start(); + new System.Threading.Thread(async () => + { + var result=await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome); + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + dialog.Close(); + if(result == GarrisonMode.AtHome) + { + + } + }); + + }) + { IsBackground = true }.Start(); + }; + + + var withdrawGarriso = new Device.CommonForm.LeftIconButtonRow(449, 150); + withdrawGarriso.Y = atHome.Bottom + Application.GetRealHeight(3); + withdrawGarriso.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison)); + layout.AddChidren(withdrawGarriso); + withdrawGarriso.Tag = GarrisonMode.RemoveGarrison; + if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.None) + { + withdrawGarriso.IsSelected = true; + tempRow = withdrawGarriso; + } + withdrawGarriso.ClickBtn.MouseUpEventHandler += (sender, e) => + { + if ((sender as Button).IsSelected) + { + dialog.Close(); + return; + } + new System.Threading.Thread(() => + { + var result = HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true); + Application.RunOnMainThread(() => + { + dialog.Close(); + }); + }) + { IsBackground = true }.Start(); + }; + } + + /// <summary> + /// 鍦ㄥ 绂诲 鎾ら槻 + /// </summary> + /// <param name="layout"></param> + private void ShowThreeSafeType(FrameLayout layout) + { + var atHome = new Device.CommonForm.LeftIconButtonRow(449, 150); + atHome.Y = Application.GetRealHeight(32); + atHome.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uAtHomeGarrison)); + layout.AddChidren(atHome); + if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.AtHome) + { + atHome.IsSelected = true; + } + atHome.ClickBtn.MouseUpEventHandler += (sender, e) => + { + if ((sender as Button).IsSelected) + { + dialog.Close(); + return; + } + new System.Threading.Thread(() => + { + var result = HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome); + Application.RunOnMainThread(() => + { + dialog.Close(); + }); + }) + { IsBackground = true }.Start(); + }; + + + var removeHome = new Device.CommonForm.LeftIconButtonRow(449, 150); + removeHome.Y = atHome.Bottom + Application.GetRealHeight(3); + removeHome.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uRemoveHomeGarrison)); + layout.AddChidren(removeHome); + if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.RemoveHome) + { + removeHome.IsSelected = true; + } + removeHome.ClickBtn.MouseUpEventHandler += (sender, e) => + { + if ((sender as Button).IsSelected) + { + dialog.Close(); + return; + } + new System.Threading.Thread(() => + { + var result = HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.RemoveHome); + Application.RunOnMainThread(() => + { + dialog.Close(); + }); + }) + { IsBackground = true }.Start(); + }; + + var withdrawGarriso = new Device.CommonForm.LeftIconButtonRow(449, 150); + withdrawGarriso.Y = removeHome.Bottom + Application.GetRealHeight(3); + withdrawGarriso.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison)); + layout.AddChidren(withdrawGarriso); + withdrawGarriso.HidenLine(true); + if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.None) + { + withdrawGarriso.IsSelected = true; + } + withdrawGarriso.ClickBtn.MouseUpEventHandler += (sender, e) => + { + if ((sender as Button).IsSelected) + { + dialog.Close(); + return; + } + new System.Threading.Thread(() => + { + var result = HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true); + Application.RunOnMainThread(() => + { + dialog.Close(); + }); + }) + { IsBackground = true }.Start(); + }; + } + + /// <summary> + /// RemoveFromParent + /// </summary> + public override void RemoveFromParent() + { + Common.CommonPage.Instance.IsDrawerLockMode = false; + base.RemoveFromParent(); + } + } +} diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs old mode 100755 new mode 100644 index 5ff1223..ba4fa3d --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -7,6 +7,7 @@ using Shared.Phone.UserCenter.DoorLock; using System.Timers; using Shared.Phone.Device.DeviceLogic; +using Shared.Phone.UserCenter; namespace Shared.Phone.UserView { @@ -88,6 +89,8 @@ /// sceneScrolView /// </summary> private VerticalScrolViewLayout sceneScrolView ; + + #endregion #region 鈼� 鎺ュ彛____________________________ @@ -135,7 +138,7 @@ continue; } - for (int j=0;j<rowFL.ChildrenCount;j++) + for (int j = 0; j < rowFL.ChildrenCount; j++) { var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI; if (deviceUI == null || deviceUI.CommonDevice == null) @@ -221,7 +224,7 @@ var ac = deviceUI.CommonDevice as ZigBee.Device.AC; ac.DeviceStatusReport = common.DeviceStatusReport; var attriButeList = ac.DeviceStatusReport.AttriBute; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; switch (attList.AttributeId) @@ -270,7 +273,7 @@ var ac = deviceUI.CommonDevice as ZigBee.Device.AC; var attriButeList = common.DeviceStatusReport.AttriBute; ac.DeviceStatusReport = common.DeviceStatusReport; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { switch (attList.AttributeId) { @@ -320,7 +323,7 @@ //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴� dimmableLight.Level = attriButeList[0].AttriButeData; dimmableLight.LastDateTime = DateTime.Now; - (rowFL.GetChildren(j) as FunctionMainView).IsSelected = true; + //rowFL.GetChildren(j) as FunctionMainView).IsSelected = true; (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); break; } @@ -336,7 +339,56 @@ } }); } + else if (typeTag == "IASInfoReport") + { + Application.RunOnMainThread(() => + { + try + { + for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++) + { + var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout; + if (rowFL.ChildrenCount == 0) + { + //璁惧涓虹┖鎴栬�呮帶浠朵负绌� + continue; + } + for (int j = 0; j < rowFL.ChildrenCount; j++) + { + var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI; + if (deviceUI == null || deviceUI.CommonDevice == null) + { + //璁惧涓虹┖鎴栬�呮帶浠朵负绌� + continue; + } + if (common.DeviceAddr != deviceUI.CommonDevice.DeviceAddr || common.DeviceEpoint != deviceUI.CommonDevice.DeviceEpoint) + { + //鍒ゆ柇鏄惁涓哄綋鍓嶈澶� + continue; + } + + switch (deviceUI.CommonDevice.Type) + { + case DeviceType.IASZone: + //ias + var ias = common as IASZone; + var iAS = deviceUI.CommonDevice as ZigBee.Device.IASZone; + iAS.iASInfo = ias.iASInfo; + (rowFL.GetChildren(j) as FunctionMainView).IsSelected = iAS.iASInfo?.Alarm1 == 1; + (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); + iAS.LastDateTime = DateTime.Now; + break; + } + } + } + } + catch (Exception ex) + { + System.Console.WriteLine($"Error:{ex.Message}"); + } + }); + } } /// <summary> /// Changeds the IL ogic status. @@ -427,15 +479,19 @@ topFrameLayout.AddChidren(floorBtn); } - var messageBtn = new Button() + if(UserCenterResourse.Option.SafetyShortcut) { - X = Application.GetRealWidth(953), - Width = Application.GetMinRealAverage(69), - Height = Application.GetMinRealAverage(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Message.png", - SelectedImagePath = "Item/MessageSelected.png" - }; + var safetyBtn = new SafetyShortcutControl(); + safetyBtn.X = Application.GetRealWidth(860); + safetyBtn.Gravity = Gravity.CenterVertical; + topFrameLayout.AddChidren(safetyBtn); + } + + var messageBtn = new MessageManagementControl(); + messageBtn.X = Application.GetRealWidth(953); + messageBtn.Gravity = Gravity.CenterVertical; + messageBtn.UnSelectedImagePath = "Item/Message.png"; + messageBtn.SelectedImagePath = "Item/MessageSelected.png"; topFrameLayout.AddChidren(messageBtn); var residecneName = new Button() @@ -447,7 +503,7 @@ TextAlignment = TextAlignment.CenterLeft, Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull), TextSize = 24, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor, IsBold=true }; if (Config.Instance.Home.IsOthreShare) @@ -606,7 +662,7 @@ pointBtn.IsSelected = false; nameBtn.IsSelected = false; } - }; + } } }; //娑堟伅 @@ -628,23 +684,30 @@ }; AddChidren(roomPageView); //绐佸嚭杈硅窛 - roomPageView.TCBJ = Application.GetRealWidth(112); + roomPageView.TCBJ = Application.GetRealWidth(181); //涓や釜page涔嬮棿鐨勯棿璺� - roomPageView.JMBJ = Application.GetRealWidth(69); + roomPageView.JMBJ = Application.GetRealWidth(0); //褰撳墠鎴块棿 - //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom(); - Room.CurrentRoom = rList[0]; + Room.CurrentRoom = Room.CurrentRoom ?? rList[0]; foreach (var room in rList) { var roomView = new Device.CommonForm.RoomView(0, 0); roomPageView.AddChidren(roomView); roomView.Init(room); + roomView.HideName(true); roomView.action += () => { Show(); }; + } + var curIndex = rList.FindIndex((obj) => obj.Id == Room.CurrentRoom.Id); + roomPageView.PageIndex = curIndex; + if (roomPageView.GetChildren(roomPageView.PageIndex) != null) + { + (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false); + } var functionSceneView = new FrameLayout() @@ -725,9 +788,22 @@ roomPageView.PageChange += (sender, e) => { + if(roomPageView.GetChildren(roomPageView.PageIndex - 1) !=null) + { + (roomPageView.GetChildren(roomPageView.PageIndex - 1) as RoomView).HideName(true); + } + if (roomPageView.GetChildren(roomPageView.PageIndex + 1) != null) + { + (roomPageView.GetChildren(roomPageView.PageIndex + 1) as RoomView).HideName(true); + } + if (roomPageView.GetChildren(roomPageView.PageIndex) != null) + { + (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false); + } //鍒囨崲褰撳墠鎴块棿 Room.CurrentRoom = rList[roomPageView.PageIndex]; RefreshBodyView(); + }; } else @@ -901,6 +977,7 @@ Height = Application.GetRealHeight(200), Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment=TextAlignment.Center, IsMoreLines = true }; functionSceneBodyView.AddChidren(noFunctionTip); @@ -924,14 +1001,25 @@ } else { + var dList = new List<DeviceUI> { }; + foreach(var device in deviceList) + { + var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice); + if (info.BeloneType == DeviceBeloneType.A骞叉帴鐐� || info.BeloneType == DeviceBeloneType.A涓户鍣�) + { + continue; + } + dList.Add(device); + } + deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { }; functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout); - for (int i = 0; i < deviceList.Count; i++) + for (int i = 0; i < dList.Count; i++) { - var device = deviceList[i]; + var device = dList[i]; //new System.Threading.Thread(() => //{ - Application.RunOnMainThread(() => + Application.RunOnMainThread(() => { try { @@ -1539,6 +1627,32 @@ lightView.CollectButton.MouseUpEventHandler += collectionEvent; } } + else if (device.CommonDevice.Type == DeviceType.IASZone) + { + //鍚勭被浼犳劅鍣� + var ias = device.CommonDevice as IASZone; + + var lightView = new FunctionMainView(xx, yy); + itemView.AddChidren(lightView); + lightView.Init(); + lightView.Tag = device; + lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + lightView.SetStatuText(device.GetDeviceStatu()); + lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); + lightView.IsSelected = ias.iASInfo?.Alarm1 == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + lightView.CanControl(false); + var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) + { + lightView.CollectButton.IsSelected = false; + } + else + { + lightView.CollectButton.IsSelected = true; + } + lightView.CollectButton.MouseUpEventHandler += collectionEvent; + } else if (device.CommonDevice.Type == DeviceType.DoorLock) { //闂ㄩ攣 @@ -1634,6 +1748,7 @@ Height = Application.GetRealHeight(200), Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment = TextAlignment.Center, IsMoreLines = true }; functionSceneBodyView.AddChidren(noScenceTip); diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs index be21182..90511ff 100755 --- a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs @@ -147,7 +147,7 @@ var ac = (AC)myDevice; ac.DeviceStatusReport = common.DeviceStatusReport; var attriButeList = ac.DeviceStatusReport.AttriBute; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝 var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; @@ -193,7 +193,7 @@ var ac = (AC)myDevice; var attriButeList = common.DeviceStatusReport.AttriBute; ac.DeviceStatusReport = common.DeviceStatusReport; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { switch (attList.AttributeId) { @@ -262,6 +262,21 @@ //璁板綍鍥炲鏃堕棿 myDevice.LastDateTime = DateTime.Now; } + else if (typeTag == "IASInfoReport") + { + try + { + switch (myDevice.Type) + { + case DeviceType.IASZone: + var iAS = (IASZone)myDevice; + iAS.iASInfo = (common as IASZone).iASInfo; + iAS.LastDateTime = DateTime.Now; + break; + } + } + catch { } + } } /// <summary> /// Changeds the IL ogic status. diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs index 591353e..713effb 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs @@ -248,7 +248,7 @@ //鍏朵粬鐨勫浘鏍囨湁鐐圭壒娈� string unSelectPic = string.Empty; string selectPic = string.Empty; - Shared.Common.LocalDevice.Current.GetDeviceBeloneIcon(new List<CommonDevice> { this }, ref unSelectPic, ref selectPic); + Shared.Common.LocalDevice.Current.GetDeviceObjectIcon(new List<CommonDevice> { this }, ref unSelectPic, ref selectPic); IconPath = unSelectPic; } Shared.Common.Global.WriteFileByBytesByHomeId(FilePath, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this))); diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/IASZone.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/IASZone.cs index 97b37d5..a299727 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/IASZone.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/IASZone.cs @@ -17,6 +17,11 @@ /// </summary> public int LightLevelCount = -1; + /// <summary> + /// 褰撳墠Lux鍊� + /// </summary> + public int PirLux = -1; + #region IAS瀹夐槻淇℃伅涓婃姤. /// <summary> /// IAS瀹夐槻淇℃伅涓婃姤 @@ -383,9 +388,9 @@ public class ConfigureParamates { /// <summary> - ///浜害锛堝厜鐓у害锛変娇鑳� - ///<para> false:涓嶄娇鑳�</para> - /// <para>true:浣胯兘</para> + /// 浜害锛堝厜鐓у害锛変娇鑳� + /// <para> false锛�0锛�:涓嶄娇鑳�</para> + /// <para>true锛�1锛�:浣胯兘</para> /// </summary> public bool levelEnable; /// <summary> @@ -395,8 +400,8 @@ public int levelSize = -1; /// <summary> ///鎺у埗璁惧浣胯兘浣� - ///<para> false:涓嶄娇鑳�</para> - /// <para>true:浣胯兘</para> + ///<para> false锛�0锛�:涓嶄娇鑳�</para> + /// <para>true锛�1锛�:浣胯兘</para> /// </summary> public bool controlDevEnable; /// <summary> @@ -404,7 +409,38 @@ /// <para>0-65535 鍗曚綅绉�</para> /// </summary> public int transitionTime; - + /// <summary> + /// IAS涓婃姤鍛ㄦ湡 + /// <para>10-0xffff 绉�</para> + /// </summary> + public int iasReportPeriod; + /// <summary> + /// 鍏夌収搴︾瓑绾� + /// <para>0锛氬崐鑷姩妯″紡</para> + /// <para>1锛氳嚜鍔ㄦā寮�</para> + /// </summary> + public int mode = 0; + /// <summary> + /// 寮�鐏被鍨� + /// <para>鍊硷細0锛氳皟鍏�</para> + ///<para>1锛氬紑鍏� </para> + /// </summary> + public int type = 0; + /// <summary> + /// 璋冨厜妯″紡锛屽埌杈惧紑鐏寒搴︾殑鏃堕棿 + /// <para>鍊硷細0-10 绉�</para> + /// </summary> + public int dimmerOnTime = 0; + /// <summary> + /// 璋冨厜妯″紡锛屽叧鐏埌杈�0%鎵�闇�瑕佺殑鏃堕棿 + /// <para>鍊硷細0-10 绉�</para> + /// </summary> + public int dimmerOffTime = 0; + /// <summary> + /// 璋冨厜妯″紡寮�鐏殑浜害 + /// <para>0-0xff 锛堥鐣欙級</para> + /// </summary> + public int dimmerLevel = 0; } /// <summary> @@ -414,19 +450,26 @@ string SetPIRSensorData(ConfigureParamates configureParamates) { string data = ""; - string dataLength = "09"; + string dataLength = "10"; string dataComand1 = "00"; string dataComand2 = "03"; string dataSerialNum = "01"; - string addDataLength = "05"; + string addDataLength = "0C"; string levelEnable = ""; string levelSize = ""; string controlDevEnable = ""; string transitionTime = ""; + string iasReportPeriod = ""; + string mode = ""; + string type = ""; + string dimmerOnTime = ""; + string dimmerOffTime = ""; + string dimmerLevel = ""; try { if (configureParamates != null) { + //levelEnable if (configureParamates.levelEnable) { levelEnable = "01"; @@ -438,13 +481,14 @@ //鍏夌収绛夌骇 if (configureParamates.levelSize > 0) { - levelSize = configureParamates.levelSize.ToString().PadLeft(2, '0'); + var tempLevelEnable = Convert.ToString(configureParamates.levelSize, 16); + levelSize = tempLevelEnable.ToString().PadLeft(2, '0'); } else { levelSize = "00"; } - + //controlDevEnable if (configureParamates.controlDevEnable) { controlDevEnable = "01"; @@ -453,27 +497,102 @@ { controlDevEnable = "00"; } + //transitionTime,iasReportPeriod + for (int j = 0; j < 2; j++) + { + var tempBytes = new byte[2]; + if (j == 0) + { + for (int i = 0; i < 2; i++) + { + tempBytes[i] = (byte)(configureParamates.transitionTime >> (i * 8) & 0xff); + } + } + else + { + for (int i = 0; i < 2; i++) + { + tempBytes[i] = (byte)(configureParamates.iasReportPeriod >> (i * 8) & 0xff); + } + } + var time1 = Convert.ToString(tempBytes[0], 16); + var time2 = Convert.ToString(tempBytes[1], 16); + if (time1.Length == 1) + { + time1 = "0" + time1; + } + if (time2.Length == 1) + { + time2 = "0" + time2; + } + if (j == 0) + { + transitionTime = (time1 + time2).ToUpper(); - var tempBytes = new byte[2]; - for (int i = 0; i < 2; i++) - { - tempBytes[i] = (byte)(configureParamates.transitionTime >> (i * 8) & 0xff); - } - var time1 = Convert.ToString(tempBytes[0], 16); - var time2 = Convert.ToString(tempBytes[1], 16); - if (time1.Length == 1) - { - time1 = "0" + time1; + } + else + { + iasReportPeriod = (time1 + time2).ToUpper(); + } } - if (time2.Length == 1) + //mode + if (configureParamates.mode == 1) { - time2 = "0" + time2; + mode = "01"; } - transitionTime = (time1 + time2).ToUpper(); - } + else + { + mode = "00"; + } + //type + if (configureParamates.type == 1) + { + type = "01"; + } + else + { + type = "00"; + } + //dimmerOnTime + if (configureParamates.dimmerOnTime > 0) + { + var tempDimmerOnTime = Convert.ToString(configureParamates.dimmerOnTime, 16); + dimmerOnTime = tempDimmerOnTime.ToString().PadLeft(2, '0'); + } + else + { + dimmerOnTime = "00"; + } + dimmerOnTime = dimmerOnTime.ToUpper(); + if (configureParamates.dimmerOffTime > 0) + { + var tempDimmerOffTime = Convert.ToString(configureParamates.dimmerOffTime, 16); + dimmerOffTime = tempDimmerOffTime.ToString().PadLeft(2, '0'); + } + else + { + dimmerOffTime = "00"; + } + dimmerOffTime = dimmerOffTime.ToUpper(); + //dimmerLevel + string temp = ""; + var sbString = new System.Text.StringBuilder(); + string temp2 = Convert.ToString(configureParamates.dimmerLevel, 16); + switch (temp2.Length) + { + case 1: + temp = "0" + temp2; + break; + case 2: + temp = temp2; + break; + } + sbString.Append(temp.ToUpper()); - data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength + - levelEnable + levelSize + controlDevEnable + transitionTime; + data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength + + levelEnable + levelSize + controlDevEnable + transitionTime + iasReportPeriod + + mode + type + dimmerOnTime + dimmerOffTime + sbString; + } } catch { }; @@ -531,7 +650,7 @@ if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null) { var data = gatewayTemp.clientDataPassthroughResponseData.PassData; - if (data.Length == 20) + if (data.Length == 34) { var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString(); if (command == "0302") @@ -549,7 +668,7 @@ } var size = data[12].ToString() + data[13].ToString(); - tempD.levelSize = Convert.ToInt32(size); + tempD.levelSize = Convert.ToInt32(size, 16); var cdl = data[14].ToString() + data[15].ToString(); if (cdl == "01") @@ -560,8 +679,14 @@ { tempD.controlDevEnable = false; } - tempD.transitionTime = Convert.ToInt32(data[18].ToString() + data[19].ToString() + data[16].ToString() + data[17].ToString(), 16); + tempD.iasReportPeriod = Convert.ToInt32(data[22].ToString() + data[23].ToString() + data[20].ToString() + data[21].ToString(), 16); + tempD.mode = Convert.ToInt32(data[24].ToString() + data[25].ToString(), 16); + tempD.type = Convert.ToInt32(data[26].ToString() + data[27].ToString(), 16); + tempD.dimmerOnTime = Convert.ToInt32(data[28].ToString() + data[29].ToString(), 16); + tempD.dimmerOffTime = Convert.ToInt32(data[30].ToString() + data[31].ToString(), 16); + tempD.dimmerLevel = Convert.ToInt32(data[32].ToString() + data[33].ToString(), 16); + configureParamates = tempD; result = new ParamatesInfo { configureParamates = tempD }; System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0301_{ topic}"); @@ -631,6 +756,152 @@ } #endregion + #region 鑾峰彇PIR lux鍊硷紙Lux鍊硷級 + ///<summary > + ///鑾峰彇PIR lux鍊硷紙Lux鍊硷級 + /// <para>reserve:0-ff</para> + /// </summary> + public async System.Threading.Tasks.Task<PirLuxAbilitySizeInfo> GetPirLuxAbilitySizeAsync(string reserve = "01") + { + PirLuxAbilitySizeInfo result = null; + if (Gateway == null) + { + result = new PirLuxAbilitySizeInfo { errorMessageBase = "褰撳墠娌℃湁缃戝叧" }; + return result; + } + return await System.Threading.Tasks.Task.Run(async () => + { + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + if (topic == gatewayID + "/" + "Error_Respon") + { + var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; + var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); + + if (temp == null) + { + result = new PirLuxAbilitySizeInfo { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" }; + } + + else + { + result = new PirLuxAbilitySizeInfo { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) }; + } + } + + if (topic == gatewayID + "/" + "ZbDataPassthrough") + { + var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") }; + gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString()); + + if (gatewayTemp.clientDataPassthroughResponseData == null) + { + result = new PirLuxAbilitySizeInfo { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" }; + } + else + { + if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null) + { + var data = gatewayTemp.clientDataPassthroughResponseData.PassData; + if (data.Length == 12) + { + var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString(); + if (command == "0306") + { + var cou = data[10].ToString() + data[11].ToString(); + int countTemp = Convert.ToInt32(cou, 16); + PirLux = countTemp; + result = new PirLuxAbilitySizeInfo { pirLux = countTemp }; + System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0303_{ topic}"); + } + } + } + } + } + }; + + Gateway.Actions += action; + System.Console.WriteLine("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString()); + + try + { + var passData = SendPIRLuxAbilitySizeData(reserve); + var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } }; + var data = new JObject { { "PassData", passData } }; + jObject.Add("Data", data); + Gateway.Send(("ClientDataPassthrough"), jObject.ToString()); + } + catch { } + + var dateTime = DateTime.Now; + while ((DateTime.Now - dateTime).TotalMilliseconds < 9000)//WaitReceiveDataTime) + { + await System.Threading.Tasks.Task.Delay(10); + if (result != null) + { + break; + } + } + if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) + { + result = new PirLuxAbilitySizeInfo { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" }; + } + Gateway.Actions -= action; + System.Console.WriteLine("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString()); + + return result; + }); + } + + /// <summary> + ///鑾峰彇PIR lux鍊� + /// </summary> + string SendPIRLuxAbilitySizeData(string reserve) + { + string data = ""; + string dataLength = "05"; + string dataComand1 = "05"; + string dataComand2 = "03"; + string dataSerialNum = "01"; + string addDataLength = "01"; + string reserveData = reserve; + + try + { + data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength + + reserveData; + } + catch { }; + + return data; + } + + /// <summary> + /// PIR閰嶇疆鍙傛暟鍥炲 + /// </summary> + public PirLuxAbilitySizeInfo pirLuxAbilitySizeInfo; + [System.Serializable] + public class PirLuxAbilitySizeInfo + { + /// <summary> + /// 閿欒淇℃伅 + /// </summary> + public string errorMessageBase; + /// <summary> + /// 缃戝叧淇℃伅閿欒鍙嶉 + /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> + /// </summary> + public ErrorResponData errorResponData; + /// <summary> + /// 褰撳墠Lux鍊� + /// <para>0-0xff Lux</para> + /// </summary> + public int pirLux = -1; + } + + #endregion } } diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs index ea8b188..df7711c 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs @@ -1,6 +1,7 @@ 锘縰sing System; using System.Collections.Generic; using System.Threading.Tasks; +using MQTTnet; using Newtonsoft.Json.Linq; using Shared.Common; @@ -2819,993 +2820,136 @@ } #endregion - //#region 璁惧缁戝畾 - ///// <summary> - /////璁惧缁戝畾 - ///// </summary> - //public async System.Threading.Tasks.Task<AddedDeviceBindResponseAllData> AddDeviceBindAsync(AddBindData addBindData) - //{ - // return await System.Threading.Tasks.Task.Run(async () => - // { - // var result = new AddedDeviceBindResponseAllData(); - // var mainGateway = ZbGateway.MainGateWay; - // if (mainGateway == null) - // { - // result.errorMessageBase = "褰撳墠娌℃湁涓荤綉鍏�"; - // return result; - // } - // Action<string, string> action = (topic, message) => - // { - // System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}"); - // var gatewayID = topic.Split('/')[0]; - // var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); - // if (topic == gatewayID + "/" + "Error_Respon") - // { - // var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; - // var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); + #region 鑾峰彇缃戝叧涓殑鍦烘櫙 + /// <summary> + /// 鍙兘鑾峰彇鍦烘櫙淇℃伅锛屾病鏈夊満鏅腑鐨勮澶囦俊鎭� + /// </summary> + /// <returns></rxeturns> + public async System.Threading.Tasks.Task<GetOnlySceneAllData> GetSceneInfoAsync() + { + GetOnlySceneAllData result = null; + if (ZbGateway.MainGateWay == null) + { + result = new GetOnlySceneAllData { errorMessageBase = "娌℃湁涓荤綉鍏�" }; + } + return await System.Threading.Tasks.Task.Run(async () => + { + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + if (topic == gatewayID + "/" + "Error_Respon") + { + var tempResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString()); + if (tempResult == null) + { + result = new GetOnlySceneAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" }; + } + else + { + result = new GetOnlySceneAllData { errorResponData = tempResult }; + } + } - // if (temp == null) - // { - // result.errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖"; - // } - // else - // { - // result.errorResponData = temp; - // result.errorMessageBase = ErrorMess(temp.Error); - // } - // } - // else if (topic == gatewayID + "/" + "Bind/SetBind_Respon") - // { - // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; - // //var tempBindName = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(jobject["Data"]["BindName"].ToString()); - // var tempBindList = Newtonsoft.Json.Linq.JArray.Parse(jobject["Data"]["BindList"].ToString()); - // if (tempBindList == null) - // { - // result.errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�"; - // } - // else - // { - // var dataBindRes = new AddedDeviceBindResponseData(); - // for (int m = 0; tempBindList != null && m < tempBindList.Count; m++) - // { - // var tempBind = tempBindList[m]; - // dataBindRes.BindList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AddBindListResponseObj>(tempBind.ToString())); - // } - // if (dataBindRes != null) - // { - // result.addedDeviceBindResponseData = dataBindRes; - // System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{topic}"); - // } - // } - // } - // else if (topic == gatewayID + "/" + "Bind/BindResult") - // { - // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; - // var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<AddBindResultResponseData>(jobject["Data"].ToString()); + if (topic == gatewayID + "/" + "Scene/GetInfo_Respon") + { + var getSceneInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneInfo>(jobject["Data"].ToString()); + if (getSceneInfo == null) + { + result = new GetOnlySceneAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" }; + } + else + { + result = new GetOnlySceneAllData { getSceneInfo = getSceneInfo }; + } + } + }; + ZbGateway.MainGateWay.Actions += action; + System.Console.WriteLine("Scene/GetInfo_Actions 鍚姩" + System.DateTime.Now.ToString()); + var jobjectData = new JObject { { "Cluster_ID", 0 }, { "Command", 805 } }; + await ZbGateway.MainGateWay.Send(("Scene/GetInfo"), System.Text.Encoding.UTF8.GetBytes(jobjectData.ToString())); - // if (tempData != null) - // { - // result.addBindResultResponseData = tempData; - // } - // } - // }; - // mainGateway.Actions += action; - // System.Console.WriteLine("Bind/SetBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToString()); - // try - // { - // if (addBindData != null) - // { - // var jObject = new JObject { { "DeviceAddr", addBindData.DeviceAddr }, { "Epoint", addBindData.Epoint }, { "Cluster_ID", 0 }, { "Command", 5001 } }; - // var bindList = new JArray { }; - // foreach (var bindInfo in addBindData.BindList) - // { - // if (bindInfo.BindType == 0) - // { - // var dInfo = new JObject{ - // { "BindMacAddr",bindInfo.BindMacAddr}, - // { "BindEpoint", bindInfo.BindEpoint} , - // { "BindCluster", bindInfo.BindCluster} , - // { "BindType",bindInfo.BindType} - // }; - // bindList.Add(dInfo); - // } - // else if (bindInfo.BindType == 1) - // { - // var dInfo = new JObject{ - // { "BindCluster", bindInfo.BindCluster} , - // { "BindType",bindInfo.BindType}, - // { "BindScenesId", bindInfo.BindScenesId} - // }; - // bindList.Add(dInfo); - // } - // } - // var data = new JObject{ - // {"BindName",addBindData.BindName}, - // { "BindList", bindList } - // }; - // jObject.Add("Data", data); - // mainGateway.Send("Bind/SetBind", jObject.ToString()); - // } - // } - // catch - // { - // } - - // var dateTime = DateTime.Now; - // while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) - // { - // await System.Threading.Tasks.Task.Delay(100); - // if (result == null || result.addedDeviceBindResponseData == null) - // { - // continue; - // } - // if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0).Count) - // { - // if (result.addBindResultResponseData != null) - // { - // break; - // } - // } - // else - // { - // break; - // } - // } - // if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) - // { - // result.errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔"; - // } - // mainGateway.Actions -= action; - // System.Console.WriteLine($"Bind/SetBind_Actions 閫�鍑� {System.DateTime.Now}"); - // return result; - // }); - //} - - ///// <summary> - ///// 缁戝畾璁惧淇℃伅,缃戝叧鍙嶉淇℃伅 - ///// </summary> - //public AddedDeviceBindResponseAllData addedDeviceBindResponseAllData; - //[System.Serializable] - //public class AddedDeviceBindResponseAllData - //{ - // /// <summary> - // /// 閿欒淇℃伅 - // /// </summary> - // public string errorMessageBase; - // /// <summary> - // /// 缃戝叧淇℃伅閿欒鍙嶉 - // /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> - // /// </summary> - // public ErrorResponData errorResponData; - // /// <summary> - // /// 缃戝叧鐩存帴鍙嶉缁戝畾璁惧淇℃伅 - // /// </summary> - // public AddedDeviceBindResponseData addedDeviceBindResponseData; - // /// <summary> - // /// 鎸夐敭璁惧鐨勭‘璁ゅ弽棣堢粦瀹氳澶囦俊鎭� - // /// </summary> - // public AddBindResultResponseData addBindResultResponseData; - //} - - ///// <summary> - ///// 缁戝畾璁惧淇℃伅 - ///// </summary> - //public AddedDeviceBindResponseData addedDeviceBindResponseData; - //[System.Serializable] - //public class AddedDeviceBindResponseData - //{ - // /// <summary> - // ///缁戝畾鍚嶇О - // /// </summary> - // public string BindName; - // /// <summary> - // ///缁戝畾鍒楄〃 锛屽綋Status=0鏃跺瓨鍦� - // /// </summary> - // public List<AddBindListResponseObj> BindList = new List<AddBindListResponseObj>(); - //} - - ///// <summary> - ///// 缁戝畾鍒楄〃鐨勪俊鎭� - ///// </summary> - //[System.Serializable] - //public class AddBindListResponseObj : BindListResponseObj - //{ - // /// <summary> - // /// 0锛氬姞鍏ユ垚鍔燂紙璇ョ姸鎬佸彧閫傜敤鐢ㄤ簬璺ㄧ綉鍏崇粦瀹氬拰缁戝畾鍦烘櫙銆傚悓缃戝叧璁惧闂寸殑缁戝畾闇�瑕佽妭鐐硅澶囩殑纭鎴愬姛淇℃伅锛屼笉浼氱洿鎺ュ弽棣堟垚鍔熴�傦級 - // ///<para>1锛氬け璐ワ紝鑺傜偣璁惧鎴栧満鏅笉瀛樺湪銆�</para> - // ///<para>2锛氭湭鐭ワ紝鐢辫妭鐐硅澶囧弽棣堝彂閫佲�淏ind/BindResult鈥濅富棰樻秷鎭‘瀹氭槸鍚︽垚鍔熴��</para> - // ///<para>3锛氱粦瀹氬凡缁忓瓨鍦ㄣ��</para> - // /// </summary> - // public int Result; - //} - - ///// <summary> - ///// 鎸夐敭璁惧鐨勭‘璁ょ殑淇℃伅 - ///// </summary> - //[System.Serializable] - //public class AddBindResultResponseData - //{ - // /// <summary> - // ///缁戝畾缁撴灉 - // ///<para>0锛氭垚鍔�</para> - // ///<para>140锛氬け璐ワ紝鎺у埗璁惧鐨勭粦瀹氬垪琛ㄥ凡婊�</para> - // ///<para>鍏朵粬锛氬け璐�</para> - // /// </summary> - // public int Result; - // /// <summary> - // /// 缁戝畾鐨刢luster - // /// </summary> - // public int BindCluster; - // /// <summary> - // /// 缁戝畾璁惧Mac鍦板潃锛� 褰揃indType=0鏃跺瓨鍦� - // /// </summary> - // public string BindMacAddr; - // /// <summary> - // /// 缁戝畾璁惧鐨勭鍙e彿锛屽綋BindType=0鏃跺瓨鍦� - // /// </summary> - // public int BindEpoint; - // /// <summary> - // /// 缁戝畾鍦烘櫙锛屽綋BindType=2鏃跺瓨鍦� - // /// </summary> - // public int BindScenesId; - // /// <summary> - // /// 缁戝畾璁惧鐨勫悕绉� - // /// </summary> - // public string DeviceName; - //} - - ///// <summary> - ///// 缁戝畾璁惧鐨勬暟鎹� - ///// </summary> - //public AddBindData addBindData; - //[System.Serializable] - //public class AddBindData - //{ - // /// <summary> - // /// 鎺у埗璁惧鑺傜偣鐨刴ac鍦板潃 - // /// </summary> - // public string DeviceAddr; - // /// <summary> - // /// 閿欒淇℃伅 - // /// </summary> - // public int Epoint; - // /// <summary> - // ///缁戝畾鍚嶇О锛屼笉淇敼鍚嶇О鏃跺拷鐣ヨ閫夐」 - // /// </summary> - // public string BindName; - // /// <summary> - // ///缁戝畾鍒楄〃锛屼笉淇敼缁戝畾鍒楄〃鏃跺拷鐣ヨ閫夐」銆� - // /// </summary> - // public List<AddBindListObj> BindList = new List<AddBindListObj>(); - //} - - ///// <summary> - ///// 鎺у埗璁惧缁戝畾鐨勪俊鎭� - ///// </summary> - //[System.Serializable] - //public class AddBindListObj - //{ - // /// <summary> - // /// 缁戝畾绫诲瀷 - // ///<para>0锛氱粦瀹氳澶� </para> - // ///<para>1锛氱粦瀹氬満鏅�</para> - // /// </summary> - // public int BindType; - // /// <summary> - // /// 缁戝畾鐨刢luster,闇�瑕佹帶鍒惰澶囩殑OutCluster鍒楄〃涓瓨鍦ㄨcluster銆� - // ///濡傜粦瀹氭煇涓澶囩殑on/off锛屼负6銆� - // /// </summary> - // public int BindCluster; - // /// <summary> - // /// 缁戝畾璁惧Mac鍦板潃锛� 褰揃indType=0鏃跺瓨鍦� - // /// </summary> - // public string BindMacAddr; - // /// <summary> - // /// 缁戝畾璁惧鐨勭鍙e彿锛屽綋BindType=0鏃跺瓨鍦� - // /// </summary> - // public int BindEpoint; - // /// <summary> - // /// 缁戝畾鍦烘櫙锛屽綋BindType=1鏃跺瓨鍦� - // /// </summary> - // public int BindScenesId; - //} - //#endregion - - //#region 瑙i櫎缁戝畾 - ///// <summary> - ///// 瑙i櫎缁戝畾 - ///// </summary> - //public async System.Threading.Tasks.Task<DelDeviceBindResponseAllData> DelDeviceBindAsync(DelDeviceBindData delDeviceBindData) - //{ - // return await System.Threading.Tasks.Task.Run(async () => - // { - // var responseData = new DelDeviceBindResponseAllData(); - // var mainGateway = ZbGateway.MainGateWay; - // if (mainGateway == null) - // { - // responseData.errorMessageBase = "褰撳墠娌℃湁涓荤綉鍏�"; - // return responseData; - // } - - // Action<string, string> action = (topic, message) => - // { - // var gatewayID = topic.Split('/')[0]; - // var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); - - // if (topic == gatewayID + "/" + "Error_Respon") - // { - // var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; - // var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); - - // if (temp == null) - // { - // responseData.errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖"; - // } - // else - // { - // responseData.errorResponData = temp; - // responseData.errorMessageBase = ErrorMess(temp.Error); - // } - // } - - // if (topic == gatewayID + "/" + "Bind/RemoveBind_Respon") - // { - // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; - // var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<DelDeviceBindResponseData>(jobject["Data"].ToString()); - - // if (tempData == null) - // { - // responseData.errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�"; - - // } - // else - // { - // responseData.delDeviceBindResponseData = tempData; - // System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}"); - // } - // } - - // if (topic == gatewayID + "/" + "Bind/RemoveBindResult") - // { - // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; - // var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveBindResultResponseData>(jobject["Data"].ToString()); - - // if (tempData != null) - // { - // responseData.removeBindResultResponseData = tempData; - // System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}"); - // } - // } - // }; - // mainGateway.Actions += action; - // System.Console.WriteLine("DeviceBind/DelBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToString()); - // try - // { - // if (delDeviceBindData != null) - // { - // var jObject = new JObject { { "DeviceAddr", delDeviceBindData.DeviceAddr }, { "Epoint", delDeviceBindData.Epoint }, { "Cluster_ID", 0 }, { "Command", 5003 } }; - // var removeBindList = new JArray { }; - // foreach (var removeBindInfo in delDeviceBindData.RemoveBindList) - // { - // if (removeBindInfo.BindType == 0) - // { - // var dInfo = new JObject{ - // { "BindMacAddr",removeBindInfo.BindMacAddr}, - // { "BindEpoint", removeBindInfo.BindEpoint} , - // { "BindCluster", removeBindInfo.BindCluster} , - // { "BindType",removeBindInfo.BindType} - // }; - // removeBindList.Add(dInfo); - // } - // else if (removeBindInfo.BindType == 1) - // { - // var dInfo = new JObject{ - // { "BindCluster", removeBindInfo.BindCluster} , - // { "BindType",removeBindInfo.BindType}, - // { "BindScenesId", removeBindInfo.BindScenesId} - // }; - // removeBindList.Add(dInfo); - // } - // } - // var data = new JObject { - // {"RemoveBindList",removeBindList} - // }; - // jObject.Add("Data", data); - // mainGateway.Send("Bind/RemoveBind", jObject.ToString()); - // } - // } - // catch { } - - - // var dateTime = DateTime.Now; - // while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) - // { - // await System.Threading.Tasks.Task.Delay(100); - // if (responseData == null || responseData.delDeviceBindResponseData == null) - // { - // continue; - // } - // if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0).Count) - // { - // if (responseData.removeBindResultResponseData != null) - // { - // break; - // } - // } - // else - // { - // break; - // } - // } - - // if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) - // { - // responseData.errorMessageBase = "鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔"; - // } - // mainGateway.Actions -= action; - // System.Console.WriteLine("DeviceBind/DelBind_Actions 閫�鍑�" + System.DateTime.Now.ToString()); - - // return responseData; - // }); - //} - - ///// <summary> - /////瑙i櫎缁戝畾鏁版嵁,缃戝叧鍙嶉淇℃伅 - ///// </summary> - //public DelDeviceBindResponseAllData delDeviceBindResponseAllData; - ///// <summary> - /////瑙i櫎缁戝畾鏁版嵁,缃戝叧鍙嶉淇℃伅 - ///// </summary> - //[System.Serializable] - //public class DelDeviceBindResponseAllData - //{ - // /// <summary> - // /// 閿欒淇℃伅 - // /// </summary> - // public string errorMessageBase; - // /// <summary> - // /// 缃戝叧淇℃伅閿欒鍙嶉 - // /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> - // /// </summary> - // public ErrorResponData errorResponData; - // /// <summary> - // /// 瑙i櫎缁戝畾鏁版嵁淇℃伅 - // /// </summary> - // public DelDeviceBindResponseData delDeviceBindResponseData; - - // /// <summary> - // /// 瑙i櫎缁戝畾鎸夐敭纭鏁版嵁淇℃伅 - // /// </summary> - // public RemoveBindResultResponseData removeBindResultResponseData; - //} - - ///// <summary> - ///// 瑙i櫎缁戝畾鏁版嵁 - ///// </summary> - //public DelDeviceBindResponseData delDeviceBindResponseData; - ///// <summary> - ///// 瑙i櫎缁戝畾鏁版嵁 - ///// </summary> - //[System.Serializable] - //public class DelDeviceBindResponseData - //{ - // /// <summary> - // ///缁戝畾鍒楄〃 锛屽綋Status=0鏃跺瓨鍦� - // /// </summary> - // public List<RemoveBindListResponseObj> RemoveBindList = new List<RemoveBindListResponseObj>(); - //} - - ///// <summary> - ///// 绉婚櫎璁惧缁戝畾鐨勪俊鎭� - ///// </summary> - //[System.Serializable] - //public class RemoveBindListResponseObj : BindListResponseObj - //{ - // /// <summary> - // /// 0锛氱Щ闄ゆ垚鍔燂紙璇ョ姸鎬佸彧閫傜敤鐢ㄤ簬璺ㄧ綉鍏崇粦瀹氥�佺粦瀹氬満鏅�佸け鏁堣澶囷紙璁惧宸茬粡浠庣綉鍏崇殑璁惧鍒楄〃涓垹闄わ級銆傚悓缃戝叧璁惧闂寸殑瑙i櫎缁戝畾闇�瑕佽妭鐐硅澶囩殑纭鎴愬姛淇℃伅锛屼笉浼氱洿鎺ュ弽棣堟垚鍔熴�傦級 - // ///<para>1锛氬け璐ワ紝璁惧涓嶅湪缁戝畾鍒楄〃涓�</para> - // ///<para>3锛氬け璐ワ紝鍦ㄧ瓑寰呰妭鐐硅澶囩‘璁ゆ槸鍚﹁В闄ょ粦瀹氭垚鍔燂紙褰撶綉鍏宠繕鍦ㄧ瓑寰呮煇鑺傜偣璁惧纭鏄惁瑙i櫎缁戝畾鎴愬姛鐨勫弽棣堜俊鎭椂锛屽鎴风鍐嶆鍙戦�佽В闄ょ粦瀹氳鑺傜偣璁惧鐨勬寚浠わ紝灏嗗弽棣堣鐘舵�併�傦級</para> - // ///<para>4锛氭湭鐭ワ紝鐢辫妭鐐硅澶囧弽棣堝彂閫佲�淏ind/RemoveBindResult鈥濅富棰樻秷鎭‘瀹氭槸鍚︽垚鍔熴��</para> - // /// </summary> - // public int Result; - - //} - - ///// <summary> - ///// 绉婚櫎璁惧缁戝畾鎸夐敭纭鐨勪俊鎭� - ///// </summary> - //[System.Serializable] - //public class RemoveBindResultResponseData - //{ - // /// <summary> - // ///缁戝畾缁撴灉 - // ///<para>0锛氭垚鍔�</para> - // ///<para>136锛氭帶鍒惰澶囨湰鍦扮粦瀹氬垪琛ㄤ腑鏃犳缁戝畾</para> - // ///<para>鍏朵粬锛氬け璐�</para> - // /// </summary> - // public int Result; - - // /// <summary> - // /// 缁戝畾璁惧Mac鍦板潃 - // /// </summary> - // public string BindMacAddr; - // /// <summary> - // /// 缁戝畾璁惧鐨勭鍙e彿 - // /// </summary> - // public int BindEpoint; - // /// <summary> - // /// 缁戝畾鐨刢luster - // /// </summary> - // public int BindCluster; - // /// <summary> - // /// 缁戝畾璁惧鍚嶇О - // /// </summary> - // public string DeviceName; - //} - - ///// <summary> - ///// 瑙i櫎缁戝畾鏁版嵁 - ///// </summary> - //public DelDeviceBindData delDeviceBindData; - ///// <summary> - ///// 瑙i櫎缁戝畾鏁版嵁 - ///// </summary> - //[System.Serializable] - //public class DelDeviceBindData - //{ - // /// <summary> - // /// 鎺у埗璁惧鑺傜偣鐨刴ac鍦板潃 - // /// </summary> - // public string DeviceAddr; - // /// <summary> - // /// 閿欒淇℃伅 - // /// </summary> - // public int Epoint; - // /// <summary> - // ///缁戝畾鍒楄〃 锛屽綋Status=0鏃跺瓨鍦� - // /// </summary> - // public List<RemoveBindListObj> RemoveBindList = new List<RemoveBindListObj>(); - //} - - ///// <summary> - ///// 绉婚櫎璁惧缁戝畾鐨勪俊鎭� - ///// </summary> - //[System.Serializable] - //public class RemoveBindListObj - //{ - - // /// <summary> - // /// 缁戝畾绫诲瀷 - // ///<para>0锛氱Щ闄よ澶� </para> - // ///<para>1锛氱Щ闄ゅ満鏅�</para> - // /// </summary> - // public int BindType; - // /// <summary> - // /// 缁戝畾鐨刢luster - // /// </summary> - // public int BindCluster; - // /// <summary> - // /// 缁戝畾璁惧Mac鍦板潃锛� 褰揃indType=0鏃跺瓨鍦� - // /// </summary> - // public string BindMacAddr; - // /// <summary> - // /// 缁戝畾璁惧鐨勭鍙e彿锛屽綋BindType=0鏃跺瓨鍦� - // /// </summary> - // public int BindEpoint; - // /// <summary> - // /// 缁戝畾鍦烘櫙锛屽綋BindType=1鏃跺瓨鍦� - // /// </summary> - // public int BindScenesId; - //} - //#endregion - - //#region 鑾峰彇鎵�鏈夌粦瀹� - ///// <summary> - /////鑾峰彇鎵�鏈夌粦瀹� - ///// </summary> - //public async System.Threading.Tasks.Task<GetDeviceBindResponseAllData> GetDeviceBindAsyncAsync() - //{ - // return await System.Threading.Tasks.Task.Run(async () => - // { - // GetDeviceBindResponseAllData d = null; - // var mainGateway = ZbGateway.MainGateWay; - // if (mainGateway == null) - // { - // d = new GetDeviceBindResponseAllData { errorMessageBase = "褰撳墠娌℃湁涓荤綉鍏�" }; - // return d; - // } - - // Action<string, string> action = (topic, message) => - // { - // var gatewayID = topic.Split('/')[0]; - // var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); - - // if (topic == gatewayID + "/" + "Error_Respon") - // { - // var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; - // var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); - - // if (temp == null) - // { - // d = new GetDeviceBindResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" }; - // } - // else - // { - // d = new GetDeviceBindResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) }; - // } - // } - - // if (topic == gatewayID + "/" + "Bind/GetDeviceBind_Respon") - // { - // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID }; - // var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<GetDeviceBindResponseData>(jobject["Data"].ToString()); - // //var tempBindList = Newtonsoft.Json.Linq.JArray.Parse(jobject["Data"]["BindList"].ToString()); - // if (tempData == null) - // { - // d = new GetDeviceBindResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" }; - // } - // else - // { - // d = new GetDeviceBindResponseAllData { getAllBindResponseData = tempData }; - // System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}"); - // } - // } - // }; - // mainGateway.Actions += action; - - // try - // { - // System.Console.WriteLine("Bind/GetDeviceBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToString()); - // var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5007 } }; - // mainGateway.Send("Bind/GetDeviceBind", jObject.ToString()); - // } - // catch { } - - // var dateTime = DateTime.Now; - // while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) - // { - // await System.Threading.Tasks.Task.Delay(10); - // if (d != null) - // { - // break; - // } - // } - // if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) - // { - // d = new GetDeviceBindResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" }; - // } - // mainGateway.Actions -= action; - // System.Console.WriteLine("Bind/GetDeviceBind_Actions 閫�鍑�" + System.DateTime.Now.ToString()); - - // return d; - // }); - //} - - ///// <summary> - /////鑾峰彇鎵�鏈夌粦瀹氭暟鎹�,缃戝叧鍙嶉淇℃伅 - ///// </summary> - //public GetDeviceBindResponseAllData getAllBindResponseAllData; - //[System.Serializable] - //public class GetDeviceBindResponseAllData - //{ - // /// <summary> - // /// 閿欒淇℃伅 - // /// </summary> - // public string errorMessageBase; - // /// <summary> - // /// 缃戝叧淇℃伅閿欒鍙嶉 - // /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> - // /// </summary> - // public ErrorResponData errorResponData; - // /// <summary> - // /// 鎺у埗璁惧缁戝畾鐨勮澶囧垪琛ㄥ洖澶嶆暟鎹� - // /// </summary> - // public GetDeviceBindResponseData getAllBindResponseData; - //} - - ///// <summary> - ///// 鑾峰彇鎵�鏈夌粦瀹氬洖澶嶇殑鏁版嵁 - ///// </summary> - //public GetDeviceBindResponseData getAllBindResponseData; - //[System.Serializable] - //public class GetDeviceBindResponseData - //{ - // /// <summary> - // /// 0锛氭垚鍔� - // ///<para>1锛氱粦瀹氫笉瀛樺湪</para> - // /// </summary> - // public int Result; - // /// <summary> - // /// 缁戝畾鍒楄〃 锛屽綋Status=0鏃跺瓨鍦ㄣ�� - // /// </summary> - // public List<BindListResponseObj> BindList = new List<BindListResponseObj>(); - //} - - ///// <summary> - ///// 鑾峰彇鎵�鏈夌粦瀹氱殑淇℃伅 - ///// </summary> - //public class BindListResponseObj - //{ - // /// <summary> - // /// 缁戝畾绫诲瀷 - // ///<para>0锛氱Щ闄よ澶囷紝鍚岀綉鍏宠澶囬棿鐨勭Щ闄�</para> - // ///<para>1锛氱Щ闄よ澶囷紝璺ㄧ綉鍏宠澶囬棿鐨勭Щ闄�</para> - // ///<para>2锛氱Щ闄ょ粦瀹氬満鏅�</para> - // /// </summary> - // public int BindType; - // /// <summary> - // /// 缁戝畾鐨刢luster - // /// </summary> - // public int BindCluster; - // /// <summary> - // /// 缁戝畾璁惧Mac鍦板潃锛� 褰揃indType=0鏃跺瓨鍦� - // /// </summary> - // public string BindMacAddr; - // /// <summary> - // /// 缁戝畾璁惧鐨勭鍙e彿锛屽綋BindType=0鏃跺瓨鍦� - // /// </summary> - // public int BindEpoint; - // /// <summary> - // /// 缁戝畾鍦烘櫙锛屽綋BindType=1鏃跺瓨鍦� - // /// </summary> - // public int BindScenesId; - // /// <summary> - // /// 缁戝畾鐨勮澶囨垨鍦烘櫙鍚嶇О - // /// </summary> - // public string ESName; - //} - //#endregion - - //#region 鍒犻櫎涓�涓帶鍒惰澶囨墍鏈夌粦瀹氫俊鎭� - ///// <summary> - /////鍒犻櫎涓�涓帶鍒惰澶囨墍鏈夌粦瀹氫俊鎭� - ///// </summary> - //public async System.Threading.Tasks.Task<ClearBindInfoResponseAllData> ClearBindInfoAsync() - //{ - // if (Gateway == null) - // { - // return null; - // } - // return await System.Threading.Tasks.Task.Run(async () => - // { - // ClearBindInfoResponseAllData d = null; - // Action<string, string> action = (topic, message) => - // { - // var gatewayID = topic.Split('/')[0]; - // var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); - - // if (topic == gatewayID + "/" + "Error_Respon") - // { - // var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; - // var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); - - // if (temp == null) - // { - // d = new ClearBindInfoResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" }; - // } - // else - // { - // d = new ClearBindInfoResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) }; - // } - // } - - // if (topic == gatewayID + "/" + "Bind/ClearBindInfo_Respon") - // { - // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; - // var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClearBindInfoResponseData>(jobject["Data"].ToString()); - // if (tempData == null) - // { - // d = new ClearBindInfoResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" }; - // } - // else - // { - // d = new ClearBindInfoResponseAllData { clearBindInfoResponseData = tempData }; - // System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}"); - // } - // } - // }; - // Gateway.Actions += action; - // System.Console.WriteLine("Bind/ClearBindInfo_Actions 鍚姩" + "_" + System.DateTime.Now.ToString()); - - // try - // { - // var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } }; - // Gateway.Send("Bind/ClearBindInfo", jObject.ToString()); - // } - // catch { } - - // var dateTime = DateTime.Now; - // while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) - // { - // await System.Threading.Tasks.Task.Delay(10); - // if (d != null) - // { - // break; - // } - // } - // if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) - // { - // d = new ClearBindInfoResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" }; - // } - // Gateway.Actions -= action; - // System.Console.WriteLine("Bind/ClearBindInfo_Actions 閫�鍑�" + System.DateTime.Now.ToString()); - - // return d; - // }); - //} - - ///// <summary> - /////鍒犻櫎涓�涓帶鍒惰澶囨墍鏈夌粦瀹氭暟鎹�,缃戝叧鍙嶉淇℃伅 - ///// </summary> - //public ClearBindInfoResponseAllData clearBindInfoResponseAllData; - //[System.Serializable] - //public class ClearBindInfoResponseAllData - //{ - // /// <summary> - // /// 閿欒淇℃伅 - // /// </summary> - // public string errorMessageBase; - // /// <summary> - // /// 缃戝叧淇℃伅閿欒鍙嶉 - // /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> - // /// </summary> - // public ErrorResponData errorResponData; - // /// <summary> - // /// 鎺у埗璁惧缁戝畾鐨勮澶囧垪琛ㄥ洖澶嶆暟鎹� - // /// </summary> - // public ClearBindInfoResponseData clearBindInfoResponseData; - //} - - ///// <summary> - ///// 鍒犻櫎涓�涓帶鍒惰澶囨墍鏈夌粦瀹氫俊鎭洖澶嶇殑鏁版嵁 - ///// </summary> - //public ClearBindInfoResponseData clearBindInfoResponseData; - //[System.Serializable] - //public class ClearBindInfoResponseData - //{ - // /// <summary> - // /// 0锛氭垚鍔� - // ///<para>1锛氱粦瀹氫俊鎭笉瀛樺湪</para> - // /// </summary> - // public int Result; - //} - - //#endregion + var dateTime = DateTime.Now; + while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime) + { + await System.Threading.Tasks.Task.Delay(10); + if (result != null) + { + break; + } + } + if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) + { + result = new GetOnlySceneAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" }; + } + return result; + }); + } + /// <summary> + ///鑾峰彇鍦烘櫙淇℃伅,缃戝叧鍙嶉淇℃伅 + /// </summary> + [System.Serializable] + public class GetOnlySceneAllData + { + /// <summary> + /// 閿欒淇℃伅 + /// </summary> + public string errorMessageBase; + /// <summary> + /// 缃戝叧淇℃伅閿欒鍙嶉 + /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> + /// </summary> + public ErrorResponData errorResponData; + /// <summary> + /// 鑾峰彇鍦烘櫙淇℃伅 + /// </summary> + public GetSceneInfo getSceneInfo; + } /// <summary> - /// 璇诲彇闈㈡澘鐨勯厤缃俊鎭�(淇℃伅瀛樺埌褰撳墠鐨勫璞″叿浣撳�间腑锛� + /// 鑾峰彇鍦烘櫙淇℃伅 /// </summary> - //public void ReadPanelConfigureInfo() - //{ - // ReadAttri(Device.Cluster_ID.HdlKey, AttriButeId.HdlKey); - //} + public GetSceneInfo sceneGetInfo; + /// <summary> + /// 鑾峰彇鍦烘櫙淇℃伅 + /// </summary> + [System.Serializable] + public class GetSceneInfo + { + /// <summary> + ///鍦烘櫙鎬绘暟 + /// </summary> + public int ScenesSum; - //#region 鑾峰彇鎵�鏈夊仛浜嗙粦瀹氱殑鎺у埗璁惧 - ///// <summary> - /////鑾峰彇鎵�鏈夊仛浜嗙粦瀹氱殑鎺у埗璁惧 - ///// </summary> - //public async System.Threading.Tasks.Task<GetControlDeviceBindResponseAllData> GetControlDeviceAsync() - //{ - // if (Gateway == null) - // { - // return null; - // } - // return await System.Threading.Tasks.Task.Run(async () => - // { - // var d = new GetControlDeviceBindResponseAllData { }; - // Action<string, string> action = (topic, message) => - // { - // var gatewayID = topic.Split('/')[0]; - // var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + /// <summary> + /// 鍦烘櫙鍒楄〃 + /// </summary> + public List<ScenesListInfo> ScenesList = new List<ScenesListInfo>(); + } - // if (topic == gatewayID + "/" + "Error_Respon") - // { - // var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; - // var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString()); + /// <summary> + /// 鍦烘櫙鍒楄〃涓殑鍏蜂綋淇℃伅 + /// </summary> + [System.Serializable] + public class ScenesListInfo + { + /// <summary> + /// 鍦烘櫙ID + /// </summary> + public int ScenesId; - // if (temp == null) - // { - // d.errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖"; - // } - // else - // { - // d.errorResponData = temp; - // d.errorMessageBase = ErrorMess(temp.Error); - // } - // } + /// <summary> + /// 鍚嶇О + /// </summary> + public string ScenesName; - // if (topic == gatewayID + "/" + "DeviceBind_AddBind_Respon") - // { - // var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; - // var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<GetControlDeviceBindResponseData>(jobject["Data"].ToString()); - - // if (tempData == null) - // { - // d.errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�"; - // } - // else - // { - // d.getControlDeviceBindResponseData = tempData; - // } - // } - // }; - // Gateway.Actions += action; - // System.Console.WriteLine("GetControlDevice_Actions 鍚姩" + "_" + Gateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString()); - - // var jObject = new JObject {{ "Cluster_ID", 0 }, { "Command", 154 } }; - // Gateway.Send("DeviceBind/GetControlDevice", jObject.ToString()); - - // var dateTime = DateTime.Now; - // while ((DateTime.Now - dateTime).TotalMilliseconds < 1000) - // { - // await System.Threading.Tasks.Task.Delay(10); - // if (d.getControlDeviceBindResponseData != null) - // { - // break; - // } - // } - // if ((DateTime.Now - dateTime).TotalMilliseconds > 10000) - // { - // d.errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔"; - // } - // Gateway.Actions -= action; - // System.Console.WriteLine("GetControlDevice_Actions 閫�鍑�" + System.DateTime.Now.ToString()); - - // return d; - // }); - //} - - ///// <summary> - ///// 鑾峰彇鎵�鏈夊仛浜嗙粦瀹氱殑鎺у埗璁惧鏁版嵁,缃戝叧鍙嶉淇℃伅 - ///// </summary> - //public GetControlDeviceBindResponseAllData getControlDeviceBindResponseAllData; - //[System.Serializable] - //public class GetControlDeviceBindResponseAllData - //{ - // /// <summary> - // /// 閿欒淇℃伅 - // /// </summary> - // public string errorMessageBase; - // /// <summary> - // /// 缃戝叧淇℃伅閿欒鍙嶉 - // /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> - // /// </summary> - // public ErrorResponData errorResponData; - // /// <summary> - // /// 鑾峰彇鎵�鏈夊仛浜嗙粦瀹氱殑鎺у埗璁惧鏁版嵁 - // /// </summary> - // public GetControlDeviceBindResponseData getControlDeviceBindResponseData; - //} - - - ///// <summary> - ///// 鑾峰彇鎵�鏈夊仛浜嗙粦瀹氱殑鎺у埗璁惧鏁版嵁 - ///// </summary> - //public GetControlDeviceBindResponseData getControlDeviceBindResponseData; - //[System.Serializable] - //public class GetControlDeviceBindResponseData - //{ - // /// <summary> - // /// 璁惧灞炴�у垪琛� - // /// </summary> - // public List<DeviceObj> DeviceObj = new List<DeviceObj>(); - //} - - ///// <summary> - ///// Command鏁扮粍 - ///// </summary> - //public class DeviceObj - //{ - // /// <summary> - // /// 鎺у埗璁惧鐨刴ac鍦板潃 - // /// </summary> - // public string DeviceAddr; - - // /// <summary> - // /// 鎺у埗璁惧鐨勭鍙e彿 - // /// </summary> - // public int Epoint; - //} - //#endregion + /// <summary> + /// 鏄惁澶勪簬寮�鍚姸鎬� + ///0锛氬満鏅病鏈夎寮�鍚� + ///1锛氬満鏅浜庡紑鍚姸鎬� + /// </summary> + public int IsOpen; + } + #endregion } } diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs index e783f9d..fb91f54 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs @@ -3382,6 +3382,16 @@ RemoteMqttClient.UseConnectedHandler(async (e) => { DebugPrintLog($"杩滅▼杩炴帴鎴愬姛"); + + if (Config.Instance.Home.IsOthreShare == true) + { + //璁㈤槄涓�涓垚鍛樿鍒犻櫎鐨勪富棰� + string myGuid = Config.Instance.Guid; + await RemoteMqttClient.SubscribeAsync("/ZigbeeGateWayToClient/" + myGuid + "/Push/Deleted"); + //璁㈤槄涓�涓垎浜暟鎹凡缁忓彉鏇寸殑涓婚 + await RemoteMqttClient.SubscribeAsync("/ZigbeeGateWayToClient/" + myGuid + "/Push/DeletedShareData"); + } + await initGateWayBaseInfomation(); Shared.Phone.UserCenter.HdlGatewayLogic.Current.CheckGatewayByConnectChanged(Shared.Phone.UserCenter.GatewayConnectMode.Remote); //娌℃湁涓荤綉鍏虫椂涓诲姩璇诲彇锛岃幏鍙栦富缃戝叧淇℃伅 diff --git a/ZigbeeApp/Shared/R.cs b/ZigbeeApp/Shared/R.cs index b47132c..9496171 100755 --- a/ZigbeeApp/Shared/R.cs +++ b/ZigbeeApp/Shared/R.cs @@ -309,6 +309,12 @@ public readonly static int OffLineScene = 222; public readonly static int SureClearKeyModeAndTargets = 223; public readonly static int BindDeviceTargetIsEmpty = 224; + public readonly static int PanelBindTargets = 225; + public readonly static int ClearAllTargeta1 = 226; + public readonly static int ClearAllTargeta2 = 227; + public readonly static int DoorlockConfirm = 228; + public readonly static int DistributeSuccess = 229; + public readonly static int SureToUnFreeze = 230; public readonly static int RemindSetting = 548; public readonly static int AddNewUser = 650; @@ -580,6 +586,10 @@ public readonly static int scenetip = 5371; public readonly static int securitytip = 5372; public readonly static int defaulttext = 5373; + public readonly static int addsensor = 5374; + public readonly static int addlighting = 5375; + public readonly static int application = 5376; + public readonly static int automationaddtext = 5377; #region 鐧诲綍娉ㄥ唽 /// <summary> @@ -638,7 +648,7 @@ /// </summary> public const int LoginByAccountPWD = 10110; /// <summary> - /// 鍙戦�侀獙璇佺爜 + /// 鑾峰彇楠岃瘉鐮� /// </summary> public const int SendVerificationCode = 10111; /// <summary> @@ -765,6 +775,18 @@ /// 鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷� /// </summary> public const int NEWPASSWORDANDOLDPASSWORDEQUAL = 10142; + /// <summary> + /// 璇峰厛鑾峰彇楠岃瘉鐮� + /// </summary> + public const int NORECORD = 10143; + /// <summary> + /// 蹇樿瀵嗙爜锛� + /// </summary> + public const int ForgotPWD_1 = 10144; + /// <summary> + /// 宸叉湁璐﹀彿锛熺櫥褰� + /// </summary> + public const int LoginByAccountPWD_1 = 10145; /// <summary> @@ -799,6 +821,10 @@ /// 缃戝叧涓嶅湪绾� /// </summary> public const int TheMainGatewayIsNotOnLine = 10157; + /// <summary> + /// 涓嬩竴姝� + /// </summary> + public const int Next = 10158; /// <summary> @@ -965,6 +991,14 @@ /// 纭畾瑕佺Щ闄よ鍔熻兘锛� /// </summary> public const int DeleteFunction = 11034; + /// <summary> + /// 娣诲姞鍔熻兘 + /// </summary> + public const int AddFunction = 11035; + /// <summary> + /// 娣诲姞寤舵椂 + /// </summary> + public const int AddDelayTime = 11036; #region 璁惧绫诲瀷 /// <summary> @@ -1015,6 +1049,41 @@ /// 娓╂箍搴︿紶鎰熷櫒 /// </summary> public const int TemperatureAndHumiditySensor = 12112; + + + /// <summary> + /// 鏈変汉 + /// </summary> + public const int IASZone_Statu_HavePerson = 12500; + /// <summary> + /// 鏃犱汉 + /// </summary> + public const int IASZone_Statu_NoPerson = 12501; + /// <summary> + /// 婕忔按 + /// </summary> + public const int IASZone_Statu_HaveWater = 12502; + /// <summary> + /// 姝e父 + /// </summary> + public const int IASZone_Statu_Normal = 12503; + /// <summary> + /// 寮�鍚� + /// </summary> + public const int IASZone_Statu_Open = 12504; + /// <summary> + /// 闂悎 + /// </summary> + public const int IASZone_Statu_Close = 12505; + /// <summary> + /// 鎶ヨ + /// </summary> + public const int IASZone_Statu_Alarm = 12506; + /// <summary> + /// 瀹夊叏 + /// </summary> + public const int IASZone_Statu_Safe = 12507; + #endregion @@ -1261,11 +1330,11 @@ public const int NeedCleanAC = 13511; /// <summary> - /// 娌″姛鑳� 璇峰厛娣诲姞 + /// 杩樻病鏈夊姛鑳藉摝 /// </summary> public const int NoFunction_Tip = 13600; /// <summary> - /// 娌″満鏅� 璇峰厛娣诲姞 + /// 杩樻病鏈夊満鏅摝 /// </summary> public const int NoScene_Tip = 13601; /// <summary> @@ -1276,6 +1345,10 @@ /// 鑾峰彇涓�... /// </summary> public const int Getting = 13603; + /// <summary> + /// 褰撳墠 浜害 + /// </summary> + public const int CurrentLightLevel = 13604; @@ -1828,7 +1901,7 @@ /// </summary> public const int uUserName = 15147; /// <summary> - /// Email + /// 閭 /// </summary> public const int uEmail = 15148; /// <summary> @@ -2872,13 +2945,13 @@ /// </summary> public const int uGetDeviceVersionFail = 15448; /// <summary> - /// 鑾峰彇浼犳劅鍣ㄧ伅鍏夎缃俊鎭け璐� + /// 鑾峰彇浼犳劅鍣ㄨ缃俊鎭け璐� /// </summary> - public const int uGetPirSensorLightSettionFail = 15449; + public const int uGetPirSensorSettionFail = 15449; /// <summary> - /// 璁剧疆浼犳劅鍣ㄧ伅鍏夐厤缃け璐� + /// 璁剧疆浼犳劅鍣ㄩ厤缃俊鎭け璐� /// </summary> - public const int uSetPirSensorLightSettionFail = 15450; + public const int uSetPirSensorSettionFail = 15450; /// <summary> /// 鐧藉ぉ /// </summary> @@ -5063,6 +5136,102 @@ /// 濂界殑 /// </summary> public const int uWell = 16025; + /// <summary> + /// 宸叉墽琛� + /// </summary> + public const int uExecuted = 16026; + /// <summary> + /// 闂ㄩ攣瑙﹀彂璀︽姤 + /// </summary> + public const int uDoorLocksAlarmHadTriggered = 16027; + /// <summary> + /// 鎴戠殑浣忓畢 + /// </summary> + public const int uMyResidence = 16028; + /// <summary> + /// 瀹㈠巺 + /// </summary> + public const int uLivingRoom = 16029; + /// <summary> + /// 闃冲彴 + /// </summary> + public const int uBalcony = 16030; + /// <summary> + /// 鍗у + /// </summary> + public const int uBedroom = 16031; + /// <summary> + /// 宸﹀彸婊戝姩,鍒囨崲鎴块棿鍗$墖 + /// </summary> + public const int uSlideLeftAndRightToSwitchRoomCards = 16032; + /// <summary> + /// 鍙虫粦杩涘叆鎴块棿鍒楄〃 + /// </summary> + public const int uSlideRightToRoomList = 16033; + /// <summary> + /// 闂厜鐏� + /// </summary> + public const int uFlashlamp = 16034; + /// <summary> + /// 鎴块棿鐨勫唴瀹瑰湪姝ゅ鏄剧ず + /// </summary> + public const int uTheContentsOfTheRoomAreShownHere = 16035; + /// <summary> + /// 鎴戠煡閬撲簡 + /// </summary> + public const int uIKnwon = 16036; + /// <summary> + /// 鍒嗕韩鏁版嵁宸茬粡鍙樻洿,璇烽噸鏂扮櫥闄� + /// </summary> + public const int uShardDataIsChangedPleaseLoginAgain = 16037; + /// <summary> + /// 宸ヤ綔妯″紡 + /// </summary> + public const int uWorkMode = 16038; + /// <summary> + /// 鎺у埗妯″紡 + /// </summary> + public const int uControlMode = 16039; + /// <summary> + /// 瑙﹀彂妯″紡 + /// </summary> + public const int uTriggerMode = 16040; + /// <summary> + /// 涓婃姤闂撮殧 + /// </summary> + public const int uReportTimeSpace = 16041; + /// <summary> + /// 鍏ㄨ嚜鍔ㄦā寮� + /// </summary> + public const int uFullAutoMode = 16042; + /// <summary> + /// 鍗婅嚜鍔ㄦā寮� + /// </summary> + public const int uHafeAutoMode = 16043; + /// <summary> + /// 璋冨厜妯″紡 + /// </summary> + public const int uDimmingMode = 16044; + /// <summary> + /// 寮�鍏虫ā寮� + /// </summary> + public const int uSwitchMode = 16045; + /// <summary> + /// 寮�鐏寒搴� + /// </summary> + public const int uTurnOnBrightness = 16046; + /// <summary> + /// 鎱㈠惎鍔� + /// </summary> + public const int uSlowStartup = 16047; + /// <summary> + /// 鎱㈠叧闂� + /// </summary> + public const int uSlowClose = 16048; + /// <summary> + /// 浜害 + /// </summary> + public const int uBrightness = 16049; //鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽� /// <summary> @@ -5395,7 +5564,7 @@ //鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄澶囨墍灞炵绫荤殑缈昏瘧鍚嶅瓧,浠�40000寮�濮嬧槄鈽呪槄鈽� /// <summary> - /// 鑷畾涔夎澶囨墍灞濱D涓�100鐨勭炕璇戝悕瀛楋細绐楀笜 + /// 鑷畾涔夎澶囨墍灞濱D涓�100鐨勭炕璇戝悕瀛楋細閬槼 /// </summary> public const int uDeviceBelongId100 = 40000; /// <summary> @@ -5415,7 +5584,7 @@ /// </summary> public const int uDeviceBelongId2500 = 40004; /// <summary> - /// 鑷畾涔夎澶囨墍灞濱D涓�2800鐨勭炕璇戝悕瀛楋細鏅鸿兘闂ㄩ攣 + /// 鑷畾涔夎澶囨墍灞濱D涓�2800鐨勭炕璇戝悕瀛楋細闂ㄩ攣 /// </summary> public const int uDeviceBelongId2800 = 40005; /// <summary> diff --git a/ZigbeeApp/Shared/Shared.projitems b/ZigbeeApp/Shared/Shared.projitems index 95bfe85..973d808 100755 --- a/ZigbeeApp/Shared/Shared.projitems +++ b/ZigbeeApp/Shared/Shared.projitems @@ -53,6 +53,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\FunctionMainView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\FunctionRow.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\LeftIconButtonRow.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\RoomButton.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\RoomMainView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\RoomNoNameMainView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\RoomView.cs" /> @@ -173,7 +174,9 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorPirDirectionForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorTemperatureHumidityForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorWaterDirectionForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\PirSensor\PirSensorDimmingModeForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\PirSensor\PirSensorTargetSelectForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\PirSensor\PirSensorWorkModeMenuForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethod.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethodTip.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockCommonInfo.cs" /> @@ -209,6 +212,10 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayUploadAndDownLoadForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayCoordinatorInfoForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayVirtualDriveInfoForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideCommonForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideForm1.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideForm2.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Guide\GuideMainForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlAutoBackupForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlBackupListForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HideOption\HideOptionGatewayListForm.cs" /> @@ -359,6 +366,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Suggestion\FeedbackForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\UserMain\SecondAuthenticationForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserView\LoginLoading.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserView\SafetyShortcutControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\AC.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DimmableLight.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DoorLock.cs" /> -- Gitblit v1.8.0