From 159ec8ae413683e1ce134ec204d1c0b4d175baec Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期四, 14 十一月 2019 15:55:32 +0800 Subject: [PATCH] 2019.11.14 --- ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs | 6 ZigbeeApp/GateWay.Ios/Resources/Phone/Room/FavoriteRoom.png | 0 ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs | 121 ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs | 6 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs | 317 + ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SceneCard.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs | 136 ZigbeeApp/GateWay.Ios/Resources/Phone/Room/NoNameRoom.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs | 17 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 145 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs | 57 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs | 14 ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected_Black.png | 0 ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj | 826 +-- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs | 24 ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs | 10 ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs | 11 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs | 42 ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs | 221 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs | 4 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs | 20 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/List.png | 0 ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs | 108 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/HouseSelected.png | 0 ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs | 9 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs | 20 ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs | 2 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectFloor_Left.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectHouse.png | 0 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs | 27 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoomSelected.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Delete.png | 0 ZigbeeApp/Shared/DLL/IOS/Shared.IOS.TBL.dll | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Category_FunctionBG.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs | 137 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png | 0 ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs | 10 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OnOff.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs | 6 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 377 + ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs | 98 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs | 1 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs | 58 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OFF.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs | 18 ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/Selected.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLamp.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Next.png | 0 ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs | 253 ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs | 4 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs | 121 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/ONSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs | 241 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoom.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Drop_Down.png | 0 ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs | 257 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs | 20 ZigbeeApp/GateWay.Ios/Resources/Phone/FunctionIcon/2IconSelected.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MyHome.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs | 18 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs | 15 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Add_Category.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs | 4 ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Category_FunctionBGSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs | 14 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs | 24 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 53 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs | 48 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 6 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs | 144 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ItemSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs | 419 ++ ZigbeeApp/Shared/Shared.projitems | 143 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs | 1 ZigbeeApp/.vs/GateWay/xs/project-cache/GateWay.Droid-Debug.json | 2 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/NextSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs | 17 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Shared.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs | 105 ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs | 2 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Message.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs | 6 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs | 48 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs | 6 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs | 79 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs | 2 ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 19 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs | 32 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MessageSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs | 56 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OFFSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs | 25 ZigbeeApp/Shared/DLL/IOS/Shared.IOS.dll | 0 ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj | 1 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs | 35 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs | 96 ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconSelectedBackground.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 97 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs | 5 ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs | 2 ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs | 177 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs | 3 ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs | 244 + ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs | 2 ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconUnselectedBackground.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png | 0 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectFloor_Right.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs | 246 + ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs | 1 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/List.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs | 130 ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml | 42 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs | 10 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs | 421 ++ ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Time.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs | 2 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Timer.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs | 346 + ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs | 314 ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs | 107 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/PlugSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs | 32 ZigbeeApp/GateWay.Ios/Resources/Phone/Item/VirtualFrame.png | 0 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs | 45 ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs | 23 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs | 385 + ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs | 81 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs | 694 +- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs | 74 ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs | 10 ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs | 62 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/Plug.png | 0 ZigbeeApp/Shared/R.cs | 148 ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs | 15 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs | 5 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs | 115 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs | 2 ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs | 77 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs | 4 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs | 20 ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/SceneIcon.png | 0 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 186 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 2652 ++++++------ ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs | 38 ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs | 10 ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs | 145 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs | 27 ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs | 2 ZigbeeApp/Shared/DLL/Android/Shared.Droid.TouchID.dll | 0 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs | 33 /dev/null | 39 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs | 8 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLampSelected.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs | 62 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs | 13 ZigbeeApp/GateWay.Ios/Resources/Phone/Light/ON.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs | 22 ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png | 0 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs | 64 ZigbeeApp/Shared/.DS_Store | 0 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs | 98 181 files changed, 8,816 insertions(+), 3,698 deletions(-) diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml index a69e926..cc67a2d 100644 --- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml +++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml @@ -1,43 +1,37 @@ -锘�<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default"> +锘�<Properties StartupConfiguration="{7D463846-A275-4A2E-930F-B5EA7200CEAA}|Default"> <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.M7BBB18B19152766" /> <MonoDevelop.Ide.ItemProperties.GateWay.Ios PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.8c0bdb303f25d82c2a42fb8bfca449bfaca00260" /> <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" /> - <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Category/Category.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs"> <Files> - <File FileName="Shared/R.cs" Line="1091" Column="23" /> + <File FileName="Shared/R.cs" Line="5228" Column="52" /> <File FileName="GateWay.Droid/Assets/Language.ini" /> - <File FileName="Shared/Phone/Device/Category/Category.cs" Line="406" Column="43" /> + <File FileName="Shared/Phone/Device/Category/Category.cs" /> <File FileName="Shared/Phone/UserView/UserHomeView.cs" /> - <File FileName="Shared/Phone/Device/Curtain/RollerShadeControl.cs" /> + <File FileName="Shared/Phone/Device/Room/EditRoom.cs" /> + <File FileName="Shared/Common/Room.cs" /> + <File FileName="Shared/Phone/Device/AC/ACControl.cs" Line="535" Column="1" /> + <File FileName="Shared/Phone/ZigBee/Device/DoorLock.cs" Line="2201" Column="2" /> + <File FileName="Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs" Line="67" Column="77" /> + <File FileName="Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs" Line="68" Column="81" /> </Files> <Pads> <Pad Id="ProjectPad"> <State name="__root__"> <Node name="GateWay" expanded="True"> - <Node name="GateWay.Droid" expanded="True"> - <Node name="Assets" expanded="True"> - <Node name="Phone" expanded="True"> - <Node name="AC" expanded="True" /> - </Node> - </Node> + <Node name="GateWay.Ios" expanded="True"> + <Node name="Resources" expanded="True" /> </Node> <Node name="Shared" expanded="True"> <Node name="Common" expanded="True" /> + <Node name="DLL" expanded="True" /> <Node name="Phone" expanded="True"> - <Node name="Device" expanded="True"> - <Node name="AC" expanded="True" /> - <Node name="Account" expanded="True" /> - <Node name="AirSwitch" expanded="True" /> - <Node name="Category" expanded="True"> - <Node name="Category.cs" selected="True" /> + <Node name="UserCenter" expanded="True"> + <Node name="Gateway" expanded="True"> + <Node name="Manage" expanded="True"> + <Node name="GatewayGeneralInformationForm.cs" selected="True" /> + </Node> </Node> - <Node name="CommonForm" expanded="True" /> - <Node name="Curtain" expanded="True" /> - <Node name="Light" expanded="True" /> - </Node> - <Node name="UserView" expanded="True" /> - <Node name="ZigBee" expanded="True"> - <Node name="Device" expanded="True" /> </Node> </Node> </Node> diff --git a/ZigbeeApp/.vs/GateWay/xs/project-cache/GateWay.Droid-Debug.json b/ZigbeeApp/.vs/GateWay/xs/project-cache/GateWay.Droid-Debug.json index cc01c16..2281bc9 100644 --- a/ZigbeeApp/.vs/GateWay/xs/project-cache/GateWay.Droid-Debug.json +++ b/ZigbeeApp/.vs/GateWay/xs/project-cache/GateWay.Droid-Debug.json @@ -1 +1 @@ -{"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/BouncyCastle.Crypto.dll.1.8.1/lib/BouncyCastle.Crypto.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/DroidLib/bin/Debug/DroidLib.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Java.Interop.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/M2Mqtt.Net.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Analytics.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Analytics.Android.Bindings.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Analytics.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Analytics.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Android.Bindings.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Crashes.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Crashes.Android.Bindings.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Crashes.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Crashes.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v8.0/Mono.Android.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/MQTTnet.2.4.0/lib/netstandard1.3/MQTTnet.Core.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/MQTTnet.2.4.0/lib/netstandard1.3/MQTTnet.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Newtonsoft.Json.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Security.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Shared.Droid.TouchID.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Core.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.IO.Compression.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Net.Http.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Web.Services.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Arch.Core.Common.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Arch.Lifecycle.Common.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Arch.Lifecycle.Runtime.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Animated.Vector.Drawable.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Annotations.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Compat.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Core.UI.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Core.Utils.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Fragment.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Media.Compat.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.v4.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.v7.AppCompat.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Vector.Drawable.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Contracts.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Security.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.Client.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Dynamic.Runtime.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.ThreadPool.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Cng.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/netstandard.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Http.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Writer.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Console.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Cache.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Sockets.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NetworkInformation.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Utilities.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.Windows.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Claims.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Numerics.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceSource.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.CodePages.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Expressions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Timer.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Pipes.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.HttpListener.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.RegularExpressions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.NonGeneric.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Concurrent.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Overlapped.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Handles.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.SqlClient.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ObjectModel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebHeaderCollection.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Mail.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Parallel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.SecureString.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RSA.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Annotations.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Compression.ZipFile.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Queryable.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ResourceManager.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Reader.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.Common.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NameResolution.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Loader.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Security.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.AuthenticationManager.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.ReaderWriter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tracing.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.AppContext.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Buffers.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Csp.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Specialized.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ValueTuple.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.ServicePoint.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlSerializer.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ReaderWriter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.IsolatedStorage.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.NetTcp.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.TypeExtensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Calendars.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Requests.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Json.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Thread.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Process.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tools.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Debug.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Ping.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Duplex.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.StackTrace.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.DispatchProxy.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Memory.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Common.dll","Aliases":[]}],"Files":["/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Application.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Properties/AssemblyInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/app.config","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/packages.config","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/AboutResources.txt","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/layout/Main.axml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/values/Strings.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/values/Styles.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/libs/armeabi-v7a/libelianjni.so","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/libs/armeabi-v7a/libjcore127.so","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/drawable/Loading.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-xxhdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-mdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-hdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-xhdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-xxxhdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/drawable/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/xml/file_paths.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Language.ini","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/RoomCardView.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/ItemSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/ItemUnSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/ItemUnSelected_Black.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/FavoriteRoom.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/NoNameRoom.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/Room_Rectangle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/RoomCardView_Name.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/RelayThreeLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/PanelFourButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/IntelligentLocksH06C.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/PanelThreeButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/DimmableLightOneLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/DeviceSearch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/PanelTwoButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Add.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Reduce.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_MiddleSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_Height.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/OpenOrCloseSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Dry.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Group.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_Low.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Heat.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Fan.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Path.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Cool.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_Middle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_CoolSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/OpenOrClose.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_HeightSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_DrySelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_AutoSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Auto.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SelectedFanModeBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_HeatSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_FanSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_LowSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SelectedModeBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Abount.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/ResidenceManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Backup.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MenberManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/ImperialCrown.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Opinion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/DeviceManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Admin.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/SafetyManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/CategorySelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/Category.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/HomeSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/Home.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/Setting.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/SettingSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/4.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/3.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindEmptyPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindLeft.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindAdd.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindDown.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindRight.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DistributeUnlockIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TypeIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnLockButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddFailedPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SelectedIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Fingerprint207.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockPicClose.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TempPasswordBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddFingerprintTipPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/FavoriteIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RightIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/ShareIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DateIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnlockSuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockClose.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnLockBlankPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DelIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/CancelIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TemPasswordVisiable.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/proximityCard.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/EntrySuccessIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/proximityCardOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RemoteUnlockIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/MemberIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Left.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Fingerprint.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DooorLockPicOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Password.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnselectedIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddIcCardTipPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Switch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockUserPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AllMethod.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RecordIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/FingerprintOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/VisitorIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TempPasswordBackground1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorlockPicture.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnlockFailed.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddPasswordTicPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AllMethodOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SettingIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorlockIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SideslipPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SwitchOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RoomPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/PasswordOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AllMethodIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnLockSideslipIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UndistributeIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Logo/Logo.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Shared.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RoomIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Add.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PickerColorWheel.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Check.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Add_GW.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/MessageSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PersentIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/WrongIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DateSearchIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Time.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DownLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CloseIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NoBindGW.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RightIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SwitchSelected1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/QRCode.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ItemSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UnLockSuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/GarrisonList.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ShardRoom.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/VirtualFrame.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DeleteIcon2Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FunctionCardView.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ForgotPswList.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Down.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CollectionSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Room.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Category_FunctionBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Remote.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ScreeningType.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/BottomShadow.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CancelIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Drop_Down.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/HidenPWD.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/House.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NewVersion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Point.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Search.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SwitchSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NextSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Timer.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ShardMenu.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UnLockFail.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ProgressMsg.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Category_FunctionBGSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NoFunction.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DeleteIcon2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch2Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/MyHome.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PswSettionSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SelectFloor_Left.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Add_Category.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ResidenceIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Tips.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DeleteIcon1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/HouseSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ShardRoomSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Floor.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Delete.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FixedPositionSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Collection1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Collection.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UpperTriangle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneCard.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Next.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UnHidenPWD.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/OpenIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FunctionCardViewSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PswSettion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CollectionSelected1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Message.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FixedPosition.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/GarrisonListSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Back.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FunctionViewBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneFunctionBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SelectHouse.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/CurtainSiphonate.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/DimmableLight.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelTwo.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorPir.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/RelayThreeLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/CurtainAutoOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Relay.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorInfrared.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Curtain.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirSwitchCloudContr.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Socket1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelFour.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ConverterZb485.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Repeater.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorHumidity.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/PanelTable.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Sensor.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/IntelligentLocks.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorEmergencyButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirSwitch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Light.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorMotion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirConditionerEpoint.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Converter.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirConditioner.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ColorLight.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Switch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanel.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirConditionerZbGateway.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/DryContact.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/IntelligentLocksH06C.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorDoorWindow.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelOne.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorTemperature.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorFire.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelThree.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCarbonMonoxide.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/DimmableLightOneLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/RelayEpoint.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorWater.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/DeskLampSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/DeskLamp.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/WithdrawGarrison.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionRemoveHomeSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionRemoveHome.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/WithdrawGarrisonSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionAtHomeSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionAtHome.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Floor/FloorSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Floor/Floor.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Code.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Cancle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/HidePwd.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Account.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Cat.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Password.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Logo_White.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/PhoneEmail_White.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/ChangeSuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Logo_loginBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/UnhidePwd.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/17Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/4Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/16IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/6IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/9IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/19IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/20Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/16Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/1IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/11IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/5Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/7Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/10IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/14Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/6Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/15Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/17IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/7IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/8IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/18IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/20IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/19Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/3Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/10Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/12IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/2IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/5IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/15IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/2Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/11Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/18Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/4IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/14IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/13Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/9Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/8Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/12Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/13IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/3IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/1Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainSiphonate.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorPir.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainAutoOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorInfrared.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirSwitchCloudContr.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorEmergencyButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CommonDevice.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorMotion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorDoorWindow.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorFire.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourNotPowerButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelThreeButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCarbonMonoxide.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorWater.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelTwoButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway6.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WiredGatewayInstruct.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/GatewayIcon1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/GatewayIcon6.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayImage.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WiredGateway.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGateway.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayInstruct.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/More.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SelectFloor_Right.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/Room_IconSelectedBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/Room_IconUnselectedBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Scene/Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Scene/SceneIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/QQ.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Wechat.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Stop.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/DownSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Up.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Down.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/StopSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/OpenSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/UpSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Open.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/CloseSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Close.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/OFF.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/OFFSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/ON.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/OnOff.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/ONSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/Plug.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/PlugSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_Auto.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_AutoSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SwingBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/SafetyShortcut.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/SafetyShortcutSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ThirdPartyDevice.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/HadAuthority.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/SafeguardPasswordGround.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PhoneBook.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/AddGatewaySuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewaySearching.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/DroidLib/DroidLib.csproj","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ComparerDeviceUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Device.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/House.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Logic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ApkInfoOBJ.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/FirmwareManaRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/GetAppVersionCode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ResultPack.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/UserLoginLocalRegionRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Pad/MainPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/R.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ZigbeeColor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/CommonPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResultStatus.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/BackupInfoRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/FolderRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/GatewayRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/GetAreaCode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ResidenceRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ResponsePack.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/UserLoginRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/UserRegisterReqDto.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SendDataToServer.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Room.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/DeviceUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SceneUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SceneRoomUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/AuthUserRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserView/UserPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserView/HomePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddDevieDetailFromAddFunction.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoomScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddDeviceList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoomContent.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoomSelectPicByLocal.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddDevicesSameTypeList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomTemperatureSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomShareSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/AC/ACControlBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectDeviceByRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectRoomList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectedScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectDelayTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectImgByLocal.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectedDimmableLightSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectAirSwitchSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectLightSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/Category.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectCurtainSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/EveryyearPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedLogicState.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicMain.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedLogicStatus.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicDevicePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/Cycle.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TimePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/EverymonthPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicListAutomation.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/CyclicCycle.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TimePoint.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DeviceTarget.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicListPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/WeekPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddAction.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/Line.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectFunctionView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomNoNameMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoWithZoneRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionForWinRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CompleteButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectedStatuButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneTargetTimeRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RowLayoutEditButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CustomAlert.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/LeftIconButtonRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/BackButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceIconSelectedIMGByLocal.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionIconButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/ACLeftIconButtonRowLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithPickViewRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonEnum.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RowLayoutDeleteButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneTargetFunctionRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/LightControlForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/PhoneZone.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountRegisterSuccess.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountResetPWDSuccess.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackUpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlGatewayBackUpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlGatewayListBackUpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackupSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomDeviceListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckOldPhoneForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotSecondaryPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewPhoneForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/ResetAccountPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckOldEmailForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorAccountPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotAccountPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewEmailForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberByIdForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberNotEsixtForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/SubAccountLevelUpSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaSettionMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaDelayedSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordListUserForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectSwitchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaListMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetExistSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordRefreshMsgForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddSceneForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaExistSensorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddDeviceForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordUserEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/HistoryRecordPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/SubAccountManagementPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/RemotelyUnlock.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodFailedTip.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockUserMangement.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockListPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelColorSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockScreeningTypeForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/AirConditionerModeForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CurtainSiphonateDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/RelayThreeLoadDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/DimmableLightOneLoadDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/RepeaterZigbeeDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorPirDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AirConditionerZbGatewayDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/IntelligentLocksH06cDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/PanelThreeButtonDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorWaterDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorDoorWindowDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AirSwitchCloudContrDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AddDeviceTypeListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorInfraredDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorCarbonMonoxideDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/PanelFourButtonDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CurtainAutoOpenDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/PanelTwoButtonDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorFireDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/Help/DeviceDirectionHelpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Relay/RelayThreeLoadBackLightSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/SecondAuthenticationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/UserCenterResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/GatewayResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/FirmwareUpdateResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/SelectDeviceForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswGestureSecirityForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomDialogSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/AreaCodeSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/EditorCommonForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/DialogCommonForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceUpdateLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceHardInfoLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlLogLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceImageInfoLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlJiguangMsgPushLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceBindLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceFixedAttributeLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayUpdateLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DialogInputFrameControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/PicViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/NormalViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/BackViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/IconViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/InformationTipView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MostRightIconControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DetailTitleControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/TopLayoutTitleControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/TextInputControls/TextInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/TextInputControls/TextInputExControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameCaptionViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameRowControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameCaptionInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameListControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneSimpleSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneRoomControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceObjectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceRoomControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/RowNewVersionTipView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/RowLayoutControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/RowMostRightTextView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ClickButtonControls/BottomClickButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ClickButtonControls/NormalClickButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswGestureInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/NormalSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/CutPictureControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/VerificationCodeControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/DeviceInformationListControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/MsgControls.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/InformationEditorControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SearchEditText.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafetyMasterControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressBar.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafetySensorStatuControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Common/IconControlCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Common/ClickButtonCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/TextInputBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterEnumCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/AccountOption.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareUpdateForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayHistoryFirmwareVersionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayLinuxInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayRebindForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayAddSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayProductInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGatewaySearchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwSelectNetworkForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwClickButtonForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwAddDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/IO/LocalFileUtils.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/BigInteger.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/OwnCodes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/Global.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/CloudMqttResponsePack.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/IStatus.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/EncryptionService.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/CommonInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/SendDataToGateway.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/RemoteOperatorConsts.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/SecuritySet.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ThirdPartyModuleUpgrade.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Safeguard.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/LogicBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Logic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/AC.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ThermostatObj.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Transverter.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/CurtainBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Repeater.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/AirSwitch.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/PIRSensor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/IASZone.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/DeviceType.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/HDLbutton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/LigthtBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/OTADevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ColorDimmableLight.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ToggleLight.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/DimmableLight.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/MQTTnet.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Security.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Shared.Droid.TouchID.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Elian.iOS.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Shared.IOS.TBL.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Shared.IOS.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/ZigBee.Droid.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Shared.Droid.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Shared.Droid.HDLWidget.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Newtonsoft.Json.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/ZigBee.Ios.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Xamarin.Essentials.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/ZigBee.Droid.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/M2Mqtt.Net.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Xamarin.Android.Support.Core.UI.26.0.2/proguard/proguard.txt","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Xamarin.Android.Support.Media.Compat.26.0.2/proguard/proguard.txt","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Xamarin.Android.Support.Animated.Vector.Drawable.26.0.2/proguard/proguard.txt"],"BuildActions":["Compile","Compile","Compile","None","None","None","None","AndroidResource","AndroidResource","AndroidResource","AndroidNativeLibrary","AndroidNativeLibrary","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","ProjectReference","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","None","None","None","None","None","None","None","None","None","None","None","None","None","None","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration"],"Analyzers":[]} \ No newline at end of file +{"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/BouncyCastle.Crypto.dll.1.8.1/lib/BouncyCastle.Crypto.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/DroidLib/bin/Debug/DroidLib.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Java.Interop.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/M2Mqtt.Net.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Analytics.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Analytics.Android.Bindings.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Analytics.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Analytics.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Android.Bindings.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Crashes.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Crashes.Android.Bindings.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.Crashes.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.Crashes.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Microsoft.AppCenter.1.14.0/lib/MonoAndroid403/Microsoft.AppCenter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v8.0/Mono.Android.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/MQTTnet.2.4.0/lib/netstandard1.3/MQTTnet.Core.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/MQTTnet.2.4.0/lib/netstandard1.3/MQTTnet.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Newtonsoft.Json.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Security.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Shared.Droid.TouchID.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Core.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.IO.Compression.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Net.Http.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Web.Services.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Arch.Core.Common.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Arch.Lifecycle.Common.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Arch.Lifecycle.Runtime.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Animated.Vector.Drawable.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Annotations.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Compat.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Core.UI.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Core.Utils.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Fragment.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Media.Compat.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.v4.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.v7.AppCompat.dll","Aliases":[]},{"FilePath":"/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Android/Xamarin.Android.Support.Vector.Drawable.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Contracts.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Security.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.Client.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Dynamic.Runtime.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.ThreadPool.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Cng.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/netstandard.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Http.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Writer.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Console.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Cache.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Sockets.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NetworkInformation.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Utilities.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.Windows.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Claims.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Numerics.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceSource.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.CodePages.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Expressions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Timer.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Pipes.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.HttpListener.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.RegularExpressions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.NonGeneric.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Concurrent.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Overlapped.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Handles.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.SqlClient.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ObjectModel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebHeaderCollection.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Mail.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Parallel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.SecureString.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RSA.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Annotations.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Compression.ZipFile.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Queryable.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ResourceManager.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Reader.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.Common.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NameResolution.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Loader.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Security.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.AuthenticationManager.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.ReaderWriter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tracing.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.AppContext.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Buffers.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Csp.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Specialized.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ValueTuple.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.ServicePoint.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlSerializer.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Extensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ReaderWriter.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.IsolatedStorage.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.NetTcp.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.AccessControl.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.TypeExtensions.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Calendars.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Requests.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Json.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Thread.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Process.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tools.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Debug.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Ping.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Duplex.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.StackTrace.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.DispatchProxy.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Memory.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Primitives.dll","Aliases":[]},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/9.4.1.0/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Common.dll","Aliases":[]}],"Files":["/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Application.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Properties/AssemblyInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/app.config","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/packages.config","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/AboutResources.txt","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/layout/Main.axml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/values/Strings.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/values/Styles.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/libs/armeabi-v7a/libelianjni.so","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/libs/armeabi-v7a/libjcore127.so","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/drawable/Loading.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-xxhdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-mdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-hdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-xhdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/mipmap-xxxhdpi/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/drawable/Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Resources/xml/file_paths.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Language.ini","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/RoomCardView.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/ItemSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/ItemUnSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/ItemUnSelected_Black.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/FavoriteRoom.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/NoNameRoom.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/Room_Rectangle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/RoomCardView_Name.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/RelayThreeLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/PanelFourButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/IntelligentLocksH06C.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/PanelThreeButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/DimmableLightOneLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/DeviceSearch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/PanelTwoButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Add.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Reduce.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_MiddleSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_Height.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/OpenOrCloseSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Dry.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Group.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_Low.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Heat.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Fan.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Path.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Cool.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_Middle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_CoolSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/OpenOrClose.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_HeightSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_DrySelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_AutoSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_Auto.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SelectedFanModeBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_HeatSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Mode_FanSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Fan_LowSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SelectedModeBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Abount.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/ResidenceManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Backup.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/MenberManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/ImperialCrown.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Opinion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/DeviceManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/Admin.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Center/SafetyManagement.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/CategorySelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/Category.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/HomeSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/Home.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/Setting.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Navigation/SettingSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/4.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/3.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/SceneIcon/1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindEmptyPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindLeft.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindAdd.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindDown.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/BindPic/BindRight.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DistributeUnlockIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TypeIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnLockButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddFailedPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SelectedIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Fingerprint207.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockPicClose.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TempPasswordBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddFingerprintTipPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/FavoriteIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RightIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/ShareIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DateIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnlockSuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockClose.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnLockBlankPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DelIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/CancelIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TemPasswordVisiable.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/proximityCard.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/EntrySuccessIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/proximityCardOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RemoteUnlockIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/MemberIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Left.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Fingerprint.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DooorLockPicOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Password.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnselectedIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddIcCardTipPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/Switch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorLockUserPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AllMethod.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RecordIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/FingerprintOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/VisitorIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/TempPasswordBackground1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorlockPicture.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnlockFailed.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AddPasswordTicPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AllMethodOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SettingIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/DoorlockIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SideslipPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/SwitchOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/RoomPic.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/PasswordOn.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/AllMethodIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UnLockSideslipIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/DoorLock/UndistributeIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Logo/Logo.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Shared.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RoomIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Add.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PickerColorWheel.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Check.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Add_GW.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/MessageSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PersentIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/WrongIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DateSearchIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Time.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DownLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CloseIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NoBindGW.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/RightIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SwitchSelected1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/QRCode.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ItemSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UnLockSuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/GarrisonList.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ShardRoom.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/VirtualFrame.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DeleteIcon2Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FunctionCardView.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ForgotPswList.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Down.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CollectionSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Room.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Category_FunctionBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Remote.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ScreeningType.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/BottomShadow.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CancelIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Drop_Down.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/HidenPWD.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/House.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NewVersion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Point.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Search.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SwitchSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NextSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Timer.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ShardMenu.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UnLockFail.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ProgressMsg.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Category_FunctionBGSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/NoFunction.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DeleteIcon2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch2Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/MyHome.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PswSettionSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SelectFloor_Left.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Add_Category.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ResidenceIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Tips.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Switch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/DeleteIcon1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/HouseSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/ShardRoomSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Floor.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Delete.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FixedPositionSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Collection1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Collection.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UpperTriangle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneCard.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Next.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/UnHidenPWD.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/OpenIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FunctionCardViewSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PswSettion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/CollectionSelected1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Message.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FixedPosition.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/GarrisonListSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/Back.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/FunctionViewBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SceneFunctionBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SelectHouse.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/CurtainSiphonate.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/DimmableLight.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelTwo.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorPir.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/RelayThreeLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/CurtainAutoOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Relay.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorInfrared.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Curtain.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirSwitchCloudContr.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Socket1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelFour.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ConverterZb485.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Repeater.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorHumidity.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/PanelTable.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Sensor.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/IntelligentLocks.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorEmergencyButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirSwitch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Light.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorMotion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirConditionerEpoint.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Converter.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirConditioner.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ColorLight.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/Switch.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanel.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/AirConditionerZbGateway.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/DryContact.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/IntelligentLocksH06C.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorDoorWindow.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelOne.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorTemperature.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorFire.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ButtonPanelThree.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCarbonMonoxide.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/DimmableLightOneLoad.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/RelayEpoint.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorWater.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/DeskLampSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/DeskLamp.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/WithdrawGarrison.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionRemoveHomeSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionRemoveHome.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/WithdrawGarrisonSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionAtHomeSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/ProtectionAtHome.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Floor/FloorSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Floor/Floor.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Code.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Cancle.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/HidePwd.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Account.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Cat.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Password.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Logo_White.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/PhoneEmail_White.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/ChangeSuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Logo_loginBG.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/UnhidePwd.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/17Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/4Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/16IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/6IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/9IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/19IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/20Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/16Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/1IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/11IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/5Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/7Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/10IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/14Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/6Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/15Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/17IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/7IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/8IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/18IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/20IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/19Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/3Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/10Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/12IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/2IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/5IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/15IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/2Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/11Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/18Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/4IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/14IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/13Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/9Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/8Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/12Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/13IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/3IconSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/FunctionIcon/1Icon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainSiphonate.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorPir.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CurtainAutoOpen.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorInfrared.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/AirSwitchCloudContr.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorEmergencyButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/CommonDevice.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorMotion.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorDoorWindow.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorFire.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelFourNotPowerButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelThreeButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCarbonMonoxide.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorWater.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/PanelTwoButton.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway6.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/RealGateway1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WiredGatewayInstruct.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/GatewayIcon1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/GatewayIcon6.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayImage.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WiredGateway.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGateway.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewayInstruct.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/More.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SelectFloor_Right.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/Room_IconSelectedBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Room/Room_IconUnselectedBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Scene/Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Scene/SceneIcon.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/QQ.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Account/Wechat.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Stop.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/DownSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Up.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Down.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/StopSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/OpenSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/UpSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Open.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/CloseSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/RollerShade/Close.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/OFF.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/OFFSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/ON.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/OnOff.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/ONSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/Plug.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Light/PlugSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_Auto.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_AutoSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_1Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_2Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_3Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_4Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/Swing_5Selected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/AC/SwingBackground.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/List.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/SafetyShortcut.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/SafetyShortcutSelected.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/ThirdPartyDevice.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/HadAuthority.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Safeguard/SafeguardPasswordGround.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/PhoneBook.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/AddGatewaySuccess.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/GateWay.Droid/Assets/Phone/Gateway/WirelessGatewaySearching.png","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/DroidLib/DroidLib.csproj","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ComparerDeviceUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Device.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/House.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Logic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ApkInfoOBJ.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/FirmwareManaRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/GetAppVersionCode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ResultPack.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/UserLoginLocalRegionRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Pad/MainPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/R.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ZigbeeColor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/CommonPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResultStatus.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/BackupInfoRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/FolderRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/GatewayRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/GetAreaCode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ResidenceRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/ResponsePack.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/UserLoginRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/UserRegisterReqDto.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SendDataToServer.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Room.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/DeviceUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SceneUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/SceneRoomUI.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/ResponseEntity/AuthUserRes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserView/UserPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserView/HomePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddDevieDetailFromAddFunction.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoomScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddDeviceList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoomContent.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddRoomSelectPicByLocal.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/AddDevicesSameTypeList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomTemperatureSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomShareSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Room/RoomCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/AC/ACControlBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectDeviceByRoom.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectRoomList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectedScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectDelayTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectImgByLocal.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectedDimmableLightSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectAirSwitchSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectLightSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/Category.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/CategorySceneSelectCurtainSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/EveryyearPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedLogicState.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TemplatePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicMain.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedLogicStatus.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/AddScenePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicDevicePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/Cycle.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TimePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/EverymonthPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicListAutomation.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/CyclicCycle.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TimePoint.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DeviceTarget.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicListPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceAction.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SelectedButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/SecurityMode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/WeekPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/CustomText.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddAction.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockAddScene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectTime.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/Line.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectFunctionView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomNoNameMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoWithZoneRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionForWinRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CompleteButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectedStatuButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneTargetTimeRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RowLayoutEditButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CustomAlert.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/LeftIconButtonRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/BackButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceIconSelectedIMGByLocal.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionIconButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/ACLeftIconButtonRowLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithPickViewRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonEnum.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RowLayoutDeleteButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomMainView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/CategoryFunctionRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneTargetFunctionRow.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/LightControlForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/PhoneZone.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountRegisterSuccess.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountResetPWDSuccess.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/IO/LocalFileUtils.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/BigInteger.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/OwnCodes.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/Global.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/CloudMqttResponsePack.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/IStatus.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/EncryptionService.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/CommonInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/SendDataToGateway.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/RemoteOperatorConsts.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Common/SecuritySet.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ThirdPartyModuleUpgrade.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Safeguard.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/LogicBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Logic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/AC.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ThermostatObj.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Transverter.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Rollershade.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/CurtainBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Repeater.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Enum.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/AirSwitch.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/PIRSensor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/IASZone.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/DeviceType.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/HDLbutton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/LigthtBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/OTADevice.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ColorDimmableLight.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/ToggleLight.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/ZigBee/Device/DimmableLight.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlGatewayBackUpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlGatewayListBackUpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomDeviceListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckOldPhoneForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotSecondaryPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewPhoneForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/ResetAccountPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckOldEmailForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorAccountPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotAccountPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewEmailForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberByIdForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberNotEsixtForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/SubAccountLevelUpSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaSettionMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaDelayedSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordListUserForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectSwitchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaListMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetExistSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddSceneForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaExistSensorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddDeviceForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordUserEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/OtherParty/OtherPartyAccountMenuForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/HistoryRecordPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceHistoryFirmwareVersionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelColorSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockScreeningTypeForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/AirConditionerModeForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CurtainSiphonateDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/RelayThreeLoadDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/DimmableLightOneLoadDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/RepeaterZigbeeDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorPirDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AirConditionerZbGatewayDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/IntelligentLocksH06cDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/PanelThreeButtonDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorWaterDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorDoorWindowDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AirSwitchCloudContrDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AddDeviceTypeListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorInfraredDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorCarbonMonoxideDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/PanelFourButtonDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CurtainAutoOpenDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/PanelTwoButtonDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorFireDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/Help/DeviceDirectionHelpForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Relay/RelayThreeLoadBackLightSettionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/SecondAuthenticationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/UserCenterResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/GatewayResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/FirmwareUpdateResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/SelectDeviceForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswGestureSecirityForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/AreaCodeSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/EditorCommonForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/DialogCommonForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceUpdateLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAlarmsLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceHardInfoLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlLogLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceImageInfoLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlJiguangMsgPushLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceBindLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePirSensorLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceFixedAttributeLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayUpdateLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterEnumCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/AccountOption.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/PicViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/NormalViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/BackViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/IconViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/InformationTipView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/MostRightIconControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DetailTitleControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/TopLayoutTitleControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/TextInputControls/TextInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/TextInputControls/TextInputExControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameCaptionViewControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameRowControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameCaptionInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameListControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneSimpleSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneRoomControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceObjectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceRoomControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/RowNewVersionTipView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/RowLayoutControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/RowMostRightTextView.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ClickButtonControls/BottomClickButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ClickButtonControls/NormalClickButton.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafeguardLogControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswGestureInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/NormalSelectControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/CutPictureControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/VerificationCodeControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/DeviceInformationListControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/MsgControls.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/InformationEditorControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SearchEditText.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafetyMasterControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressBar.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SafetySensorStatuControl.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Common/IconControlCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Common/ClickButtonCommon.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/TextInputBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareUpdateForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayFirmwareInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayHistoryFirmwareVersionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayLinuxInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/MQTTnet.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Security.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Elian.iOS.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/ZigBee.Droid.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Shared.Droid.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/Newtonsoft.Json.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/ZigBee.Ios.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/ZigBee.Droid.xml","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/DLL/M2Mqtt.Net.dll","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Xamarin.Android.Support.Core.UI.26.0.2/proguard/proguard.txt","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Xamarin.Android.Support.Media.Compat.26.0.2/proguard/proguard.txt","/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/packages/Xamarin.Android.Support.Animated.Vector.Drawable.26.0.2/proguard/proguard.txt"],"BuildActions":["Compile","Compile","Compile","None","None","None","None","AndroidResource","AndroidResource","AndroidResource","AndroidNativeLibrary","AndroidNativeLibrary","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","ProjectReference","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","None","None","None","None","None","None","None","None","None","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration"],"Analyzers":[]} \ No newline at end of file diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide index b7f2113..3bc4b43 100644 --- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide +++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/List.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/List.png new file mode 100644 index 0000000..b63955c --- /dev/null +++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/List.png Binary files differ diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj index b9275be..221d043 100644 --- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj +++ b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj @@ -586,6 +586,7 @@ <AndroidAsset Include="Assets\Phone\AC\Swing_5.png" /> <AndroidAsset Include="Assets\Phone\AC\Swing_5Selected.png" /> <AndroidAsset Include="Assets\Phone\AC\SwingBackground.png" /> + <AndroidAsset Include="Assets\Phone\Item\List.png" /> </ItemGroup> <ItemGroup> <Folder Include="Assets\Phone\Scene\" /> diff --git a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs index 3e13cb4..a91fee8 100755 --- a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs +++ b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs @@ -2189,64 +2189,82 @@ public const int ic_gps_point = 2130837614; // aapt resource value: 0x7f02006f - public const int ic_seekbar_open = 2130837615; + public const int ic_wd_arc_scale_bg = 2130837615; // aapt resource value: 0x7f020070 - public const int ic_wd_curtain_bg = 2130837616; + public const int ic_wd_curtain_bg_top = 2130837616; // aapt resource value: 0x7f020071 - public const int ic_wd_seekbar_open = 2130837617; + public const int ic_wd_curtain_h_bg = 2130837617; // aapt resource value: 0x7f020072 - public const int Icon = 2130837618; + public const int ic_wd_curtain_h_open = 2130837618; // aapt resource value: 0x7f020073 - public const int Loading = 2130837619; + public const int ic_wd_curtain_h_progress = 2130837619; // aapt resource value: 0x7f020074 - public const int notification_action_background = 2130837620; + public const int ic_wd_curtain_h_top = 2130837620; // aapt resource value: 0x7f020075 - public const int notification_bg = 2130837621; + public const int ic_wd_curtain_open = 2130837621; // aapt resource value: 0x7f020076 - public const int notification_bg_low = 2130837622; + public const int ic_wd_curtain_roll_bg = 2130837622; // aapt resource value: 0x7f020077 - public const int notification_bg_low_normal = 2130837623; + public const int ic_wd_curtain_roll_progress = 2130837623; // aapt resource value: 0x7f020078 - public const int notification_bg_low_pressed = 2130837624; + public const int Icon = 2130837624; // aapt resource value: 0x7f020079 - public const int notification_bg_normal = 2130837625; + public const int Loading = 2130837625; // aapt resource value: 0x7f02007a - public const int notification_bg_normal_pressed = 2130837626; + public const int notification_action_background = 2130837626; // aapt resource value: 0x7f02007b - public const int notification_icon_background = 2130837627; - - // aapt resource value: 0x7f020081 - public const int notification_template_icon_bg = 2130837633; - - // aapt resource value: 0x7f020082 - public const int notification_template_icon_low_bg = 2130837634; + public const int notification_bg = 2130837627; // aapt resource value: 0x7f02007c - public const int notification_tile_bg = 2130837628; + public const int notification_bg_low = 2130837628; // aapt resource value: 0x7f02007d - public const int notify_panel_notification_icon_bg = 2130837629; + public const int notification_bg_low_normal = 2130837629; // aapt resource value: 0x7f02007e - public const int selector_pickerview_btn = 2130837630; + public const int notification_bg_low_pressed = 2130837630; // aapt resource value: 0x7f02007f - public const int tooltip_frame_dark = 2130837631; + public const int notification_bg_normal = 2130837631; // aapt resource value: 0x7f020080 - public const int tooltip_frame_light = 2130837632; + public const int notification_bg_normal_pressed = 2130837632; + + // aapt resource value: 0x7f020081 + public const int notification_icon_background = 2130837633; + + // aapt resource value: 0x7f020087 + public const int notification_template_icon_bg = 2130837639; + + // aapt resource value: 0x7f020088 + public const int notification_template_icon_low_bg = 2130837640; + + // aapt resource value: 0x7f020082 + public const int notification_tile_bg = 2130837634; + + // aapt resource value: 0x7f020083 + public const int notify_panel_notification_icon_bg = 2130837635; + + // aapt resource value: 0x7f020084 + public const int selector_pickerview_btn = 2130837636; + + // aapt resource value: 0x7f020085 + public const int tooltip_frame_dark = 2130837637; + + // aapt resource value: 0x7f020086 + public const int tooltip_frame_light = 2130837638; static Drawable() { @@ -2897,82 +2915,85 @@ public const int hdl_widget_activity_geofence_round = 2130968606; // aapt resource value: 0x7f04001f - public const int hdl_widget_include_pickerview_topbar = 2130968607; + public const int hdl_widget_air_button = 2130968607; // aapt resource value: 0x7f040020 - public const int hdl_widget_layout_basepickerview = 2130968608; + public const int hdl_widget_include_pickerview_topbar = 2130968608; // aapt resource value: 0x7f040021 - public const int hdl_widget_pickerview = 2130968609; + public const int hdl_widget_layout_basepickerview = 2130968609; // aapt resource value: 0x7f040022 - public const int hdl_widget_pickerview_options = 2130968610; + public const int hdl_widget_pickerview = 2130968610; // aapt resource value: 0x7f040023 - public const int hdl_widget_pickerview_time = 2130968611; + public const int hdl_widget_pickerview_options = 2130968611; // aapt resource value: 0x7f040024 - public const int Main = 2130968612; + public const int hdl_widget_pickerview_time = 2130968612; // aapt resource value: 0x7f040025 - public const int notification_action = 2130968613; + public const int Main = 2130968613; // aapt resource value: 0x7f040026 - public const int notification_action_tombstone = 2130968614; + public const int notification_action = 2130968614; // aapt resource value: 0x7f040027 - public const int notification_media_action = 2130968615; + public const int notification_action_tombstone = 2130968615; // aapt resource value: 0x7f040028 - public const int notification_media_cancel_action = 2130968616; + public const int notification_media_action = 2130968616; // aapt resource value: 0x7f040029 - public const int notification_template_big_media = 2130968617; + public const int notification_media_cancel_action = 2130968617; // aapt resource value: 0x7f04002a - public const int notification_template_big_media_custom = 2130968618; + public const int notification_template_big_media = 2130968618; // aapt resource value: 0x7f04002b - public const int notification_template_big_media_narrow = 2130968619; + public const int notification_template_big_media_custom = 2130968619; // aapt resource value: 0x7f04002c - public const int notification_template_big_media_narrow_custom = 2130968620; + public const int notification_template_big_media_narrow = 2130968620; // aapt resource value: 0x7f04002d - public const int notification_template_custom_big = 2130968621; + public const int notification_template_big_media_narrow_custom = 2130968621; // aapt resource value: 0x7f04002e - public const int notification_template_icon_group = 2130968622; + public const int notification_template_custom_big = 2130968622; // aapt resource value: 0x7f04002f - public const int notification_template_lines_media = 2130968623; + public const int notification_template_icon_group = 2130968623; // aapt resource value: 0x7f040030 - public const int notification_template_media = 2130968624; + public const int notification_template_lines_media = 2130968624; // aapt resource value: 0x7f040031 - public const int notification_template_media_custom = 2130968625; + public const int notification_template_media = 2130968625; // aapt resource value: 0x7f040032 - public const int notification_template_part_chronometer = 2130968626; + public const int notification_template_media_custom = 2130968626; // aapt resource value: 0x7f040033 - public const int notification_template_part_time = 2130968627; + public const int notification_template_part_chronometer = 2130968627; // aapt resource value: 0x7f040034 - public const int select_dialog_item_material = 2130968628; + public const int notification_template_part_time = 2130968628; // aapt resource value: 0x7f040035 - public const int select_dialog_multichoice_material = 2130968629; + public const int select_dialog_item_material = 2130968629; // aapt resource value: 0x7f040036 - public const int select_dialog_singlechoice_material = 2130968630; + public const int select_dialog_multichoice_material = 2130968630; // aapt resource value: 0x7f040037 - public const int support_simple_spinner_dropdown_item = 2130968631; + public const int select_dialog_singlechoice_material = 2130968631; // aapt resource value: 0x7f040038 - public const int tooltip = 2130968632; + public const int support_simple_spinner_dropdown_item = 2130968632; + + // aapt resource value: 0x7f040039 + public const int tooltip = 2130968633; static Layout() { diff --git a/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj b/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj index 6d2fc6d..d4ea1b0 100644 --- a/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj +++ b/ZigbeeApp/GateWay.Ios/GateWay.Ios.csproj @@ -129,6 +129,15 @@ <Reference Include="Shared.IOS"> <HintPath>..\Shared\DLL\Shared.IOS.dll</HintPath> </Reference> + <Reference Include="Shared.IOS"> + <HintPath>..\Shared\DLL\IOS\Shared.IOS.dll</HintPath> + </Reference> + <Reference Include="Shared.IOS.TBL"> + <HintPath>..\Shared\DLL\IOS\Shared.IOS.TBL.dll</HintPath> + </Reference> + <Reference Include="Xamarin.Essentials"> + <HintPath>..\Shared\DLL\IOS\Xamarin.Essentials.dll</HintPath> + </Reference> </ItemGroup> <ItemGroup> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" /> @@ -201,462 +210,381 @@ </ItemGroup> <ItemGroup> <BundleResource Include="Resources\Language.ini" /> - <BundleResource Include="Resources\Phone\AC\Add.png" /> - <BundleResource Include="Resources\Phone\AC\Fan_Height.png" /> - <BundleResource Include="Resources\Phone\AC\Fan_HeightSelected.png" /> - <BundleResource Include="Resources\Phone\AC\Fan_Low.png" /> - <BundleResource Include="Resources\Phone\AC\Fan_LowSelected.png" /> - <BundleResource Include="Resources\Phone\AC\Fan_Middle.png" /> - <BundleResource Include="Resources\Phone\AC\Fan_MiddleSelected.png" /> - <BundleResource Include="Resources\Phone\AC\Group.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Auto.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_AutoSelected.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Cool.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Cool2.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_CoolSelected.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Dry.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Dry2.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_DrySelected.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Fan.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Fan2.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_FanSelected.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Heat.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_Heat2.png" /> - <BundleResource Include="Resources\Phone\AC\Mode_HeatSelected.png" /> - <BundleResource Include="Resources\Phone\AC\OpenOrClose.png" /> - <BundleResource Include="Resources\Phone\AC\OpenOrCloseSelected.png" /> - <BundleResource Include="Resources\Phone\AC\Path.png" /> - <BundleResource Include="Resources\Phone\AC\Reduce.png" /> - <BundleResource Include="Resources\Phone\AC\SelectedFanModeBG.png" /> - <BundleResource Include="Resources\Phone\AC\SelectedModeBG.png" /> - <BundleResource Include="Resources\Phone\Account\Account.png" /> - <BundleResource Include="Resources\Phone\Account\Cancle.png" /> - <BundleResource Include="Resources\Phone\Account\Cat.png" /> - <BundleResource Include="Resources\Phone\Account\ChangeSuccess.png" /> - <BundleResource Include="Resources\Phone\Account\Code.png" /> - <BundleResource Include="Resources\Phone\Account\HidePwd.png" /> - <BundleResource Include="Resources\Phone\Account\Logo_White.png" /> - <BundleResource Include="Resources\Phone\Account\Logo_loginBG.png" /> - <BundleResource Include="Resources\Phone\Account\Password.png" /> - <BundleResource Include="Resources\Phone\Account\PhoneEmail_White.png" /> - <BundleResource Include="Resources\Phone\Account\UnhidePwd.png" /> - <BundleResource Include="Resources\Phone\BindPic\BindAdd.png" /> - <BundleResource Include="Resources\Phone\BindPic\BindDown.png" /> - <BundleResource Include="Resources\Phone\BindPic\BindEmptyPic.png" /> - <BundleResource Include="Resources\Phone\BindPic\BindLeft.png" /> - <BundleResource Include="Resources\Phone\BindPic\BindRight.png" /> - <BundleResource Include="Resources\Phone\BindPic\BindRoomColor.png" /> - <BundleResource Include="Resources\Phone\BindPic\BindRoomColorOn.png" /> - <BundleResource Include="Resources\Phone\Center\Abount.png" /> - <BundleResource Include="Resources\Phone\Center\Admin.png" /> - <BundleResource Include="Resources\Phone\Center\Backup.png" /> - <BundleResource Include="Resources\Phone\Center\DeviceManagement.png" /> - <BundleResource Include="Resources\Phone\Center\ImperialCrown.png" /> - <BundleResource Include="Resources\Phone\Center\MenberManagement.png" /> - <BundleResource Include="Resources\Phone\Center\Opinion.png" /> - <BundleResource Include="Resources\Phone\Center\ResidenceManagement.png" /> - <BundleResource Include="Resources\Phone\Center\SafetyManagement.png" /> - <BundleResource Include="Resources\Phone\Device\AirConditioner.png" /> - <BundleResource Include="Resources\Phone\Device\AirConditionerEpoint.png" /> - <BundleResource Include="Resources\Phone\Device\AirConditionerEpointSelected.png" /> - <BundleResource Include="Resources\Phone\Device\AirConditionerZbGateway.png" /> - <BundleResource Include="Resources\Phone\Device\AirSwitch.png" /> - <BundleResource Include="Resources\Phone\Device\AirSwitchCloudContr.png" /> - <BundleResource Include="Resources\Phone\Device\ButtonPanel.png" /> - <BundleResource Include="Resources\Phone\Device\ButtonPanelFour.png" /> - <BundleResource Include="Resources\Phone\Device\ButtonPanelOne.png" /> - <BundleResource Include="Resources\Phone\Device\ButtonPanelThree.png" /> - <BundleResource Include="Resources\Phone\Device\ButtonPanelTwo.png" /> - <BundleResource Include="Resources\Phone\Device\Converter.png" /> - <BundleResource Include="Resources\Phone\Device\ConverterZb485.png" /> - <BundleResource Include="Resources\Phone\Device\Curtain.png" /> - <BundleResource Include="Resources\Phone\Device\CurtainAutoOpen.png" /> - <BundleResource Include="Resources\Phone\Device\CurtainSiphonate.png" /> - <BundleResource Include="Resources\Phone\Device\DimmableLight.png" /> - <BundleResource Include="Resources\Phone\Device\DimmableLightOneLoad.png" /> - <BundleResource Include="Resources\Phone\Device\DryContact.png" /> - <BundleResource Include="Resources\Phone\Device\IntelligentLocks.png" /> - <BundleResource Include="Resources\Phone\Device\IntelligentLocksH06C.png" /> - <BundleResource Include="Resources\Phone\Device\Light.png" /> - <BundleResource Include="Resources\Phone\Device\PanelTable.png" /> - <BundleResource Include="Resources\Phone\Device\Relay.png" /> - <BundleResource Include="Resources\Phone\Device\RelayEpoint.png" /> - <BundleResource Include="Resources\Phone\Device\RelayThreeLoad.png" /> - <BundleResource Include="Resources\Phone\Device\Repeater.png" /> - <BundleResource Include="Resources\Phone\Device\RepeaterZigbee.png" /> - <BundleResource Include="Resources\Phone\Device\Sensor.png" /> - <BundleResource Include="Resources\Phone\Device\SensorCarbonMonoxide.png" /> - <BundleResource Include="Resources\Phone\Device\SensorDoorWindow.png" /> - <BundleResource Include="Resources\Phone\Device\SensorEmergencyButton.png" /> - <BundleResource Include="Resources\Phone\Device\SensorFire.png" /> - <BundleResource Include="Resources\Phone\Device\SensorHumidity.png" /> - <BundleResource Include="Resources\Phone\Device\SensorInfrared.png" /> - <BundleResource Include="Resources\Phone\Device\SensorMotion.png" /> - <BundleResource Include="Resources\Phone\Device\SensorPir.png" /> - <BundleResource Include="Resources\Phone\Device\SensorTemperature.png" /> - <BundleResource Include="Resources\Phone\Device\SensorWater.png" /> - <BundleResource Include="Resources\Phone\Device\Socket1.png" /> - <BundleResource Include="Resources\Phone\Device\Switch.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AddFailedPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AddFingerprintTipPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AddIcCardTipPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AddIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AddPasswordTicPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AllMethod.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AllMethodIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\AllMethodOn.png" /> - <BundleResource Include="Resources\Phone\DoorLock\CancelIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DateIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DelBackground.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DelIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DistributeUnlockIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DooorLockPicOpen.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DoorLockClose.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DoorLockOpen.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DoorLockPicClose.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DoorLockUserPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DoorlockIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\DoorlockPicture.png" /> - <BundleResource Include="Resources\Phone\DoorLock\EntrySuccessIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\FavoriteIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\Fingerprint.png" /> - <BundleResource Include="Resources\Phone\DoorLock\Fingerprint207.png" /> - <BundleResource Include="Resources\Phone\DoorLock\FingerprintOn.png" /> - <BundleResource Include="Resources\Phone\DoorLock\Left.png" /> - <BundleResource Include="Resources\Phone\DoorLock\MemberIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\Password.png" /> - <BundleResource Include="Resources\Phone\DoorLock\PasswordOn.png" /> - <BundleResource Include="Resources\Phone\DoorLock\RecordIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\RemoteUnlockIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\RightIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\RoomPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\SelectedIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\SettingIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\ShareIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\SideslipPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\Switch.png" /> - <BundleResource Include="Resources\Phone\DoorLock\SwitchOn.png" /> - <BundleResource Include="Resources\Phone\DoorLock\TemPasswordInvisiable.png" /> - <BundleResource Include="Resources\Phone\DoorLock\TemPasswordVisiable.png" /> - <BundleResource Include="Resources\Phone\DoorLock\TempPasswordBackground.png" /> - <BundleResource Include="Resources\Phone\DoorLock\TempPasswordBackground1.png" /> - <BundleResource Include="Resources\Phone\DoorLock\TypeIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\UnLockBlankPic.png" /> - <BundleResource Include="Resources\Phone\DoorLock\UnLockButton.png" /> - <BundleResource Include="Resources\Phone\DoorLock\UnLockSideslipIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\UndistributeIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\UnlockFailed.png" /> - <BundleResource Include="Resources\Phone\DoorLock\UnlockSuccess.png" /> - <BundleResource Include="Resources\Phone\DoorLock\UnselectedIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\VisitorIcon.png" /> - <BundleResource Include="Resources\Phone\DoorLock\proximityCard.png" /> - <BundleResource Include="Resources\Phone\DoorLock\proximityCardOn.png" /> - <BundleResource Include="Resources\Phone\Floor\Floor.png" /> - <BundleResource Include="Resources\Phone\Floor\FloorSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\10Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\10IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\11Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\11IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\12Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\12IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\13Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\13IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\14Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\14IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\15Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\15IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\16Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\16IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\17Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\17IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\18Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\18IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\19Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\19IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\1Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\1IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\20Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\20IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\2Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\2IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\3Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\3IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\4Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\4IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\5Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\5IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\6Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\6IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\7Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\7IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\8Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\8IconSelected.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\9Icon.png" /> - <BundleResource Include="Resources\Phone\FunctionIcon\9IconSelected.png" /> - <BundleResource Include="Resources\Phone\Gateway\GatewayIcon1.png" /> - <BundleResource Include="Resources\Phone\Gateway\GatewayIcon1Selected.png" /> - <BundleResource Include="Resources\Phone\Gateway\GatewayIcon6.png" /> - <BundleResource Include="Resources\Phone\Gateway\GatewayIcon6Selected.png" /> - <BundleResource Include="Resources\Phone\Gateway\RealGateway1.png" /> - <BundleResource Include="Resources\Phone\Gateway\RealGateway6.png" /> - <BundleResource Include="Resources\Phone\Gateway\SearchGateway.png" /> - <BundleResource Include="Resources\Phone\Gateway\WiredGateway.png" /> - <BundleResource Include="Resources\Phone\Gateway\WiredGatewayInstruct.png" /> - <BundleResource Include="Resources\Phone\Gateway\WiredGatewaySearching.png" /> - <BundleResource Include="Resources\Phone\Gateway\WiredGatewaySelected.png" /> - <BundleResource Include="Resources\Phone\Gateway\WirelessGateway.png" /> - <BundleResource Include="Resources\Phone\Gateway\WirelessGatewayImage.png" /> - <BundleResource Include="Resources\Phone\Gateway\WirelessGatewayInstruct.png" /> - <BundleResource Include="Resources\Phone\Gateway\WirelessGatewaySelected.png" /> - <BundleResource Include="Resources\Phone\Instruct\AirConditionerZbGateway.png" /> - <BundleResource Include="Resources\Phone\Instruct\AirSwitchCloudContr.png" /> - <BundleResource Include="Resources\Phone\Instruct\CurtainAutoOpen.png" /> - <BundleResource Include="Resources\Phone\Instruct\CurtainSiphonate.png" /> - <BundleResource Include="Resources\Phone\Instruct\DeviceSearch.png" /> - <BundleResource Include="Resources\Phone\Instruct\DimmableLightOneLoad.png" /> - <BundleResource Include="Resources\Phone\Instruct\IntelligentLocksH06C.png" /> - <BundleResource Include="Resources\Phone\Instruct\PanelFourButton.png" /> - <BundleResource Include="Resources\Phone\Instruct\PanelThreeButton.png" /> - <BundleResource Include="Resources\Phone\Instruct\PanelTwoButton.png" /> - <BundleResource Include="Resources\Phone\Instruct\RelayThreeLoad.png" /> - <BundleResource Include="Resources\Phone\Instruct\RepeaterZigbee.png" /> - <BundleResource Include="Resources\Phone\Instruct\SensorCarbonMonoxide.png" /> - <BundleResource Include="Resources\Phone\Instruct\SensorDoorWindow.png" /> - <BundleResource Include="Resources\Phone\Instruct\SensorFire.png" /> - <BundleResource Include="Resources\Phone\Instruct\SensorInfrared.png" /> - <BundleResource Include="Resources\Phone\Instruct\SensorWater.png" /> - <BundleResource Include="Resources\Phone\Item\Add.png" /> - <BundleResource Include="Resources\Phone\Item\Add_Category.png" /> - <BundleResource Include="Resources\Phone\Item\Add_GW.png" /> - <BundleResource Include="Resources\Phone\Item\Back.png" /> - <BundleResource Include="Resources\Phone\Item\BottomButtonGround.png" /> - <BundleResource Include="Resources\Phone\Item\BottomShadow.png" /> - <BundleResource Include="Resources\Phone\Item\CancelIcon.png" /> - <BundleResource Include="Resources\Phone\Item\Category_FunctionBG.png" /> - <BundleResource Include="Resources\Phone\Item\Category_FunctionBGSelected.png" /> - <BundleResource Include="Resources\Phone\Item\Check.png" /> - <BundleResource Include="Resources\Phone\Item\CloseIcon.png" /> - <BundleResource Include="Resources\Phone\Item\Collection.png" /> - <BundleResource Include="Resources\Phone\Item\Collection1.png" /> - <BundleResource Include="Resources\Phone\Item\CollectionSelected.png" /> - <BundleResource Include="Resources\Phone\Item\CollectionSelected1.png" /> - <BundleResource Include="Resources\Phone\Item\CreatFloor.png" /> - <BundleResource Include="Resources\Phone\Item\CreatFloorSelected.png" /> - <BundleResource Include="Resources\Phone\Item\DateSearchIcon.png" /> - <BundleResource Include="Resources\Phone\Item\DeleteIcon1.png" /> - <BundleResource Include="Resources\Phone\Item\DeleteIcon2.png" /> - <BundleResource Include="Resources\Phone\Item\DeleteIcon2Selected.png" /> - <BundleResource Include="Resources\Phone\Item\DeviceLimitGround.png" /> - <BundleResource Include="Resources\Phone\Item\DeviceLimitGroundSelected.png" /> - <BundleResource Include="Resources\Phone\Item\Down.png" /> - <BundleResource Include="Resources\Phone\Item\DownLoad.png" /> - <BundleResource Include="Resources\Phone\Item\DownTriangle.png" /> - <BundleResource Include="Resources\Phone\Item\Drop_Down.png" /> - <BundleResource Include="Resources\Phone\Item\FailIcon.png" /> - <BundleResource Include="Resources\Phone\Item\FixedPosition.png" /> - <BundleResource Include="Resources\Phone\Item\FixedPositionSelected.png" /> - <BundleResource Include="Resources\Phone\Item\Floor.png" /> - <BundleResource Include="Resources\Phone\Item\ForgotPswList.png" /> - <BundleResource Include="Resources\Phone\Item\FunctionCardView.png" /> - <BundleResource Include="Resources\Phone\Item\FunctionCardViewSelected.png" /> - <BundleResource Include="Resources\Phone\Item\FunctionViewBG.png" /> - <BundleResource Include="Resources\Phone\Item\GarrisonList.png" /> - <BundleResource Include="Resources\Phone\Item\GarrisonListSelected.png" /> - <BundleResource Include="Resources\Phone\Item\GwSwitchIcon.png" /> - <BundleResource Include="Resources\Phone\Item\GwSwitchIconSelected.png" /> - <BundleResource Include="Resources\Phone\Item\HidenPWD.png" /> - <BundleResource Include="Resources\Phone\Item\House.png" /> - <BundleResource Include="Resources\Phone\Item\HouseSelected.png" /> - <BundleResource Include="Resources\Phone\Item\IndoorUnitGround.png" /> - <BundleResource Include="Resources\Phone\Item\InputAccountIcon.png" /> - <BundleResource Include="Resources\Phone\Item\InputAccountIconSelected.png" /> - <BundleResource Include="Resources\Phone\Item\ItemSelected.png" /> - <BundleResource Include="Resources\Phone\Item\ItemUnSelected.png" /> - <BundleResource Include="Resources\Phone\Item\MemberNotEsixtPic.png" /> - <BundleResource Include="Resources\Phone\Item\Message.png" /> - <BundleResource Include="Resources\Phone\Item\MessageSelected.png" /> - <BundleResource Include="Resources\Phone\Item\More.png" /> - <BundleResource Include="Resources\Phone\Item\MyHome.png" /> - <BundleResource Include="Resources\Phone\Item\NewVersion.png" /> - <BundleResource Include="Resources\Phone\Item\Next.png" /> - <BundleResource Include="Resources\Phone\Item\NextSelected.png" /> - <BundleResource Include="Resources\Phone\Item\NoBindGW.png" /> - <BundleResource Include="Resources\Phone\Item\NoFunction.png" /> - <BundleResource Include="Resources\Phone\Item\NotAuthority.png" /> - <BundleResource Include="Resources\Phone\Item\NotShardPic.png" /> - <BundleResource Include="Resources\Phone\Item\OpenIcon.png" /> - <BundleResource Include="Resources\Phone\Item\PersentIcon.png" /> - <BundleResource Include="Resources\Phone\Item\PickerColorWheel.png" /> - <BundleResource Include="Resources\Phone\Item\Point.png" /> - <BundleResource Include="Resources\Phone\Item\ProgressMsg.png" /> - <BundleResource Include="Resources\Phone\Item\PswSettion.png" /> - <BundleResource Include="Resources\Phone\Item\PswSettionSelected.png" /> - <BundleResource Include="Resources\Phone\Item\QRCode.png" /> - <BundleResource Include="Resources\Phone\Item\Remote.png" /> - <BundleResource Include="Resources\Phone\Item\ResidenceIcon.png" /> - <BundleResource Include="Resources\Phone\Item\RightIcon.png" /> - <BundleResource Include="Resources\Phone\Item\Room.png" /> - <BundleResource Include="Resources\Phone\Item\RoomIcon.png" /> - <BundleResource Include="Resources\Phone\Item\RoomIconBackground.png" /> - <BundleResource Include="Resources\Phone\Item\RoomIconBackgroundSelected.png" /> - <BundleResource Include="Resources\Phone\Item\RoomIconSelected.png" /> - <BundleResource Include="Resources\Phone\Item\ScanQRcodeIcon.png" /> - <BundleResource Include="Resources\Phone\Item\ScanQRcodeIconSelected.png" /> - <BundleResource Include="Resources\Phone\Item\Scene.png" /> - <BundleResource Include="Resources\Phone\Item\SceneCard.png" /> - <BundleResource Include="Resources\Phone\Item\SceneFunctionBG.png" /> - <BundleResource Include="Resources\Phone\Item\ScreeningType.png" /> - <BundleResource Include="Resources\Phone\Item\Search.png" /> - <BundleResource Include="Resources\Phone\Item\SelectFloor_Left.png" /> - <BundleResource Include="Resources\Phone\Item\SelectFloor_Right.png" /> - <BundleResource Include="Resources\Phone\Item\SelectHouse.png" /> - <BundleResource Include="Resources\Phone\Item\ShardMenu.png" /> - <BundleResource Include="Resources\Phone\Item\Shared.png" /> - <BundleResource Include="Resources\Phone\Item\Switch.png" /> - <BundleResource Include="Resources\Phone\Item\Switch1.png" /> - <BundleResource Include="Resources\Phone\Item\Switch2.png" /> - <BundleResource Include="Resources\Phone\Item\Switch2Selected.png" /> - <BundleResource Include="Resources\Phone\Item\SwitchSelected.png" /> - <BundleResource Include="Resources\Phone\Item\SwitchSelected1.png" /> - <BundleResource Include="Resources\Phone\Item\ThirdPartyDevice.png" /> - <BundleResource Include="Resources\Phone\Item\Timer.png" /> - <BundleResource Include="Resources\Phone\Item\Tips.png" /> - <BundleResource Include="Resources\Phone\Item\UnHidenPWD.png" /> - <BundleResource Include="Resources\Phone\Item\UnLockFail.png" /> - <BundleResource Include="Resources\Phone\Item\UnLockSuccess.png" /> - <BundleResource Include="Resources\Phone\Item\UpTriangle.png" /> - <BundleResource Include="Resources\Phone\Item\UpperTriangle.png" /> - <BundleResource Include="Resources\Phone\Item\VirtualFrame.png" /> - <BundleResource Include="Resources\Phone\Item\WarningIcon1.png" /> - <BundleResource Include="Resources\Phone\Item\WrongIcon.png" /> - <BundleResource Include="Resources\Phone\Light\DeskLamp.png" /> - <BundleResource Include="Resources\Phone\Light\DeskLampSelected.png" /> - <BundleResource Include="Resources\Phone\Logo\Logo.png" /> - <BundleResource Include="Resources\Phone\Navigation\Category.png" /> - <BundleResource Include="Resources\Phone\Navigation\CategorySelected.png" /> - <BundleResource Include="Resources\Phone\Navigation\Home.png" /> - <BundleResource Include="Resources\Phone\Navigation\HomeSelected.png" /> - <BundleResource Include="Resources\Phone\Navigation\Setting.png" /> - <BundleResource Include="Resources\Phone\Navigation\SettingSelected.png" /> - <BundleResource Include="Resources\Phone\RealDevice\AirSwitchCloudContr.png" /> - <BundleResource Include="Resources\Phone\RealDevice\CommonDevice.png" /> - <BundleResource Include="Resources\Phone\RealDevice\CurtainAutoOpen.png" /> - <BundleResource Include="Resources\Phone\RealDevice\CurtainSiphonate.png" /> - <BundleResource Include="Resources\Phone\RealDevice\PanelFourButton.png" /> - <BundleResource Include="Resources\Phone\RealDevice\PanelFourNotPowerButton.png" /> - <BundleResource Include="Resources\Phone\RealDevice\PanelThreeButton.png" /> - <BundleResource Include="Resources\Phone\RealDevice\PanelTwoButton.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorCarbonMonoxide.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorDoorWindow.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorEmergencyButton.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorFire.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorInfrared.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorMotion.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorPir.png" /> - <BundleResource Include="Resources\Phone\RealDevice\SensorWater.png" /> - <BundleResource Include="Resources\Phone\Room\FavoriteRoom.png" /> + <BundleResource Include="Resources\Phone\.DS_Store" /> + <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\NoNameRoom.png" /> - <BundleResource Include="Resources\Phone\Room\RoomCardView.png" /> - <BundleResource Include="Resources\Phone\Room\RoomCardView_Name.png" /> + <BundleResource Include="Resources\Phone\Room\Room_IconSelectedBackground.png" /> <BundleResource Include="Resources\Phone\Room\Room_Rectangle.png" /> - <BundleResource Include="Resources\Phone\Safeguard\ProtectionAtHome.png" /> - <BundleResource Include="Resources\Phone\Safeguard\ProtectionAtHomeSelected.png" /> - <BundleResource Include="Resources\Phone\Safeguard\ProtectionRemoveHome.png" /> - <BundleResource Include="Resources\Phone\Safeguard\ProtectionRemoveHomeSelected.png" /> - <BundleResource Include="Resources\Phone\Safeguard\WithdrawGarrison.png" /> - <BundleResource Include="Resources\Phone\Safeguard\WithdrawGarrisonSelected.png" /> - <BundleResource Include="Resources\Phone\Scene\SceneIcon.png" /> - <BundleResource Include="Resources\Phone\Scene\Selected.png" /> - <BundleResource Include="Resources\Phone\SceneIcon\1.png" /> + <BundleResource Include="Resources\Phone\Room\RoomCardView_Name.png" /> + <BundleResource Include="Resources\Phone\Room\Room_IconUnselectedBackground.png" /> + <BundleResource Include="Resources\Phone\Instruct\RelayThreeLoad.png" /> + <BundleResource Include="Resources\Phone\Instruct\PanelFourButton.png" /> + <BundleResource Include="Resources\Phone\Instruct\IntelligentLocksH06C.png" /> + <BundleResource Include="Resources\Phone\Instruct\PanelThreeButton.png" /> + <BundleResource Include="Resources\Phone\Instruct\DimmableLightOneLoad.png" /> + <BundleResource Include="Resources\Phone\Instruct\DeviceSearch.png" /> + <BundleResource Include="Resources\Phone\Instruct\PanelTwoButton.png" /> + <BundleResource Include="Resources\Phone\AC\Add.png" /> + <BundleResource Include="Resources\Phone\AC\Reduce.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_4.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_AutoSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Fan_MiddleSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_5.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_4Selected.png" /> + <BundleResource Include="Resources\Phone\AC\Fan_Height.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_1.png" /> + <BundleResource Include="Resources\Phone\AC\OpenOrCloseSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_1Selected.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_Dry.png" /> + <BundleResource Include="Resources\Phone\AC\Group.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_2.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_3.png" /> + <BundleResource Include="Resources\Phone\AC\Fan_Low.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_2Selected.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_Heat.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_Fan.png" /> + <BundleResource Include="Resources\Phone\AC\Path.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_Auto.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_Cool.png" /> + <BundleResource Include="Resources\Phone\AC\Fan_Middle.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_CoolSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_5Selected.png" /> + <BundleResource Include="Resources\Phone\AC\OpenOrClose.png" /> + <BundleResource Include="Resources\Phone\AC\SwingBackground.png" /> + <BundleResource Include="Resources\Phone\AC\Fan_HeightSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_DrySelected.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_AutoSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_Auto.png" /> + <BundleResource Include="Resources\Phone\AC\SelectedFanModeBG.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_HeatSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Swing_3Selected.png" /> + <BundleResource Include="Resources\Phone\AC\Mode_FanSelected.png" /> + <BundleResource Include="Resources\Phone\AC\Fan_LowSelected.png" /> + <BundleResource Include="Resources\Phone\AC\SelectedModeBG.png" /> + <BundleResource Include="Resources\Phone\Center\Abount.png" /> + <BundleResource Include="Resources\Phone\Center\ResidenceManagement.png" /> + <BundleResource Include="Resources\Phone\Center\Backup.png" /> + <BundleResource Include="Resources\Phone\Center\MenberManagement.png" /> + <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\Admin.png" /> + <BundleResource Include="Resources\Phone\Center\SafetyManagement.png" /> + <BundleResource Include="Resources\Phone\Navigation\CategorySelected.png" /> + <BundleResource Include="Resources\Phone\Navigation\Category.png" /> + <BundleResource Include="Resources\Phone\Navigation\HomeSelected.png" /> + <BundleResource Include="Resources\Phone\Navigation\Home.png" /> + <BundleResource Include="Resources\Phone\Navigation\Setting.png" /> + <BundleResource Include="Resources\Phone\Navigation\SettingSelected.png" /> + <BundleResource Include="Resources\Phone\RollerShade\Stop.png" /> + <BundleResource Include="Resources\Phone\RollerShade\DownSelected.png" /> + <BundleResource Include="Resources\Phone\RollerShade\Up.png" /> + <BundleResource Include="Resources\Phone\RollerShade\Down.png" /> + <BundleResource Include="Resources\Phone\RollerShade\StopSelected.png" /> + <BundleResource Include="Resources\Phone\RollerShade\OpenSelected.png" /> + <BundleResource Include="Resources\Phone\RollerShade\UpSelected.png" /> + <BundleResource Include="Resources\Phone\RollerShade\Open.png" /> + <BundleResource Include="Resources\Phone\RollerShade\CloseSelected.png" /> + <BundleResource Include="Resources\Phone\RollerShade\Close.png" /> + <BundleResource Include="Resources\Phone\SceneIcon\4.png" /> <BundleResource Include="Resources\Phone\SceneIcon\2.png" /> <BundleResource Include="Resources\Phone\SceneIcon\3.png" /> - <BundleResource Include="Resources\Phone\SceneIcon\4.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\1.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\2.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\3.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\AddSelected.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\Ddmmablelight.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\ac.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\add.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\airswitch.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\athome.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\back.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\connect.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\curtain.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\delay.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\delay1.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\deviceselectedbackgroundcolor.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\deviceunselectedbackgroundcolor.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\dimmableLight.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\doorlock.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\drop-down.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\dropdown.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\function.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\function1.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\humidity.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\iconBackgroundColor.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\iconSelectedBackgroundColor.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\leavehome.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\light.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\light_1.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\lockadd.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\logicaddcolor.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\logicbj1.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\logicbj2.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\logicclose.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\logicopen.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\next.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\nodelay.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\nofunction.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\noon.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\noscene.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\nosecurity.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\panel.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\point.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\position.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\scene.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\scene1.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\security.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\security1.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selected.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedac.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedairswitch.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedcurtain.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selecteddimmableLight.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selecteddoorlock.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedhumidity.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedlight.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedmonth.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedpanel.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsenor.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor13.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor21.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor22.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor277.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor40.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor42.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor43.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedsensor44.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\selectedtemperature.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor13.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor21.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor22.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor277.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor40.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor42.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor43.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sensor44.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sign.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sunrise.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\sunset.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\temperature.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\time.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\timeparagraph.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\timepoint.png" /> - <BundleResource Include="Resources\Phone\ZigeeLogic\withdrawal.png" /> + <BundleResource Include="Resources\Phone\SceneIcon\1.png" /> + <BundleResource Include="Resources\Phone\BindPic\BindEmptyPic.png" /> + <BundleResource Include="Resources\Phone\BindPic\BindLeft.png" /> + <BundleResource Include="Resources\Phone\BindPic\BindAdd.png" /> + <BundleResource Include="Resources\Phone\BindPic\BindDown.png" /> + <BundleResource Include="Resources\Phone\BindPic\BindRight.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DistributeUnlockIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\TypeIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\UnLockButton.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AddFailedPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\SelectedIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\Fingerprint207.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DoorLockPicClose.png" /> + <BundleResource Include="Resources\Phone\DoorLock\TempPasswordBackground.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AddFingerprintTipPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\FavoriteIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\RightIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\ShareIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DateIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DoorLockOpen.png" /> + <BundleResource Include="Resources\Phone\DoorLock\UnlockSuccess.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DoorLockClose.png" /> + <BundleResource Include="Resources\Phone\DoorLock\UnLockBlankPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DelIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\CancelIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\TemPasswordVisiable.png" /> + <BundleResource Include="Resources\Phone\DoorLock\proximityCard.png" /> + <BundleResource Include="Resources\Phone\DoorLock\EntrySuccessIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\proximityCardOn.png" /> + <BundleResource Include="Resources\Phone\DoorLock\RemoteUnlockIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\MemberIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\Left.png" /> + <BundleResource Include="Resources\Phone\DoorLock\Fingerprint.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DooorLockPicOpen.png" /> + <BundleResource Include="Resources\Phone\DoorLock\Password.png" /> + <BundleResource Include="Resources\Phone\DoorLock\UnselectedIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AddIcCardTipPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\Switch.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AddIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DoorLockUserPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AllMethod.png" /> + <BundleResource Include="Resources\Phone\DoorLock\RecordIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\FingerprintOn.png" /> + <BundleResource Include="Resources\Phone\DoorLock\VisitorIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\TempPasswordBackground1.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DoorlockPicture.png" /> + <BundleResource Include="Resources\Phone\DoorLock\UnlockFailed.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AddPasswordTicPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AllMethodOn.png" /> + <BundleResource Include="Resources\Phone\DoorLock\SettingIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\DoorlockIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\SideslipPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\SwitchOn.png" /> + <BundleResource Include="Resources\Phone\DoorLock\RoomPic.png" /> + <BundleResource Include="Resources\Phone\DoorLock\PasswordOn.png" /> + <BundleResource Include="Resources\Phone\DoorLock\AllMethodIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\UnLockSideslipIcon.png" /> + <BundleResource Include="Resources\Phone\DoorLock\UndistributeIcon.png" /> + <BundleResource Include="Resources\Phone\Logo\Logo.png" /> + <BundleResource Include="Resources\Phone\Item\Shared.png" /> + <BundleResource Include="Resources\Phone\Item\RoomIcon.png" /> + <BundleResource Include="Resources\Phone\Item\Add.png" /> + <BundleResource Include="Resources\Phone\Item\PickerColorWheel.png" /> + <BundleResource Include="Resources\Phone\Item\Switch1.png" /> + <BundleResource Include="Resources\Phone\Item\Check.png" /> + <BundleResource Include="Resources\Phone\Item\Add_GW.png" /> + <BundleResource Include="Resources\Phone\Item\Switch2.png" /> + <BundleResource Include="Resources\Phone\Item\MessageSelected.png" /> + <BundleResource Include="Resources\Phone\Item\PhoneBook.png" /> + <BundleResource Include="Resources\Phone\Item\PersentIcon.png" /> + <BundleResource Include="Resources\Phone\Item\WrongIcon.png" /> + <BundleResource Include="Resources\Phone\Item\DateSearchIcon.png" /> + <BundleResource Include="Resources\Phone\Item\Time.png" /> + <BundleResource Include="Resources\Phone\Item\DownLoad.png" /> + <BundleResource Include="Resources\Phone\Item\CloseIcon.png" /> + <BundleResource Include="Resources\Phone\Item\PirSensorLightScaleButton.png" /> + <BundleResource Include="Resources\Phone\Item\NoBindGW.png" /> + <BundleResource Include="Resources\Phone\Item\RightIcon.png" /> + <BundleResource Include="Resources\Phone\Item\SwitchSelected1.png" /> + <BundleResource Include="Resources\Phone\Item\QRCode.png" /> + <BundleResource Include="Resources\Phone\Item\PirSensorLightScale.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\ShardRoom.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\Down.png" /> + <BundleResource Include="Resources\Phone\Item\CollectionSelected.png" /> + <BundleResource Include="Resources\Phone\Item\Room.png" /> + <BundleResource Include="Resources\Phone\Item\Category_FunctionBG.png" /> + <BundleResource Include="Resources\Phone\Item\Remote.png" /> + <BundleResource Include="Resources\Phone\Item\ScreeningType.png" /> + <BundleResource Include="Resources\Phone\Item\BottomShadow.png" /> + <BundleResource Include="Resources\Phone\Item\CancelIcon.png" /> + <BundleResource Include="Resources\Phone\Item\HadAuthority.png" /> + <BundleResource Include="Resources\Phone\Item\Drop_Down.png" /> + <BundleResource Include="Resources\Phone\Item\HidenPWD.png" /> + <BundleResource Include="Resources\Phone\Item\House.png" /> + <BundleResource Include="Resources\Phone\Item\NewVersion.png" /> + <BundleResource Include="Resources\Phone\Item\List.png" /> + <BundleResource Include="Resources\Phone\Item\Point.png" /> + <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\Timer.png" /> + <BundleResource Include="Resources\Phone\Item\ShardMenu.png" /> + <BundleResource Include="Resources\Phone\Item\UnLockFail.png" /> + <BundleResource Include="Resources\Phone\Item\ProgressMsg.png" /> + <BundleResource Include="Resources\Phone\Item\Category_FunctionBGSelected.png" /> + <BundleResource Include="Resources\Phone\Item\NoFunction.png" /> + <BundleResource Include="Resources\Phone\Item\DeleteIcon2.png" /> + <BundleResource Include="Resources\Phone\Item\Switch2Selected.png" /> + <BundleResource Include="Resources\Phone\Item\MyHome.png" /> + <BundleResource Include="Resources\Phone\Item\PswSettionSelected.png" /> + <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\Tips.png" /> + <BundleResource Include="Resources\Phone\Item\Switch.png" /> + <BundleResource Include="Resources\Phone\Item\DeleteIcon1.png" /> + <BundleResource Include="Resources\Phone\Item\HouseSelected.png" /> + <BundleResource Include="Resources\Phone\Item\ShardRoomSelected.png" /> + <BundleResource Include="Resources\Phone\Item\Floor.png" /> + <BundleResource Include="Resources\Phone\Item\Delete.png" /> + <BundleResource Include="Resources\Phone\Item\FixedPositionSelected.png" /> + <BundleResource Include="Resources\Phone\Item\Collection1.png" /> + <BundleResource Include="Resources\Phone\Item\Collection.png" /> + <BundleResource Include="Resources\Phone\Item\SelectFloor_Right.png" /> + <BundleResource Include="Resources\Phone\Item\UpperTriangle.png" /> + <BundleResource Include="Resources\Phone\Item\SceneCard.png" /> + <BundleResource Include="Resources\Phone\Item\Next.png" /> + <BundleResource Include="Resources\Phone\Item\UnHidenPWD.png" /> + <BundleResource Include="Resources\Phone\Item\OpenIcon.png" /> + <BundleResource Include="Resources\Phone\Item\FunctionCardViewSelected.png" /> + <BundleResource Include="Resources\Phone\Item\More.png" /> + <BundleResource Include="Resources\Phone\Item\PswSettion.png" /> + <BundleResource Include="Resources\Phone\Item\CollectionSelected1.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\FunctionViewBG.png" /> + <BundleResource Include="Resources\Phone\Item\SceneFunctionBG.png" /> + <BundleResource Include="Resources\Phone\Item\SelectHouse.png" /> + <BundleResource Include="Resources\Phone\Device\CurtainSiphonate.png" /> + <BundleResource Include="Resources\Phone\Device\DimmableLight.png" /> + <BundleResource Include="Resources\Phone\Device\ButtonPanelTwo.png" /> + <BundleResource Include="Resources\Phone\Device\SensorPir.png" /> + <BundleResource Include="Resources\Phone\Device\RelayThreeLoad.png" /> + <BundleResource Include="Resources\Phone\Device\CurtainAutoOpen.png" /> + <BundleResource Include="Resources\Phone\Device\Relay.png" /> + <BundleResource Include="Resources\Phone\Device\SensorInfrared.png" /> + <BundleResource Include="Resources\Phone\Device\Curtain.png" /> + <BundleResource Include="Resources\Phone\Device\AirSwitchCloudContr.png" /> + <BundleResource Include="Resources\Phone\Device\Socket1.png" /> + <BundleResource Include="Resources\Phone\Device\ButtonPanelFour.png" /> + <BundleResource Include="Resources\Phone\Device\ConverterZb485.png" /> + <BundleResource Include="Resources\Phone\Device\Repeater.png" /> + <BundleResource Include="Resources\Phone\Device\SensorHumidity.png" /> + <BundleResource Include="Resources\Phone\Device\PanelTable.png" /> + <BundleResource Include="Resources\Phone\Device\Sensor.png" /> + <BundleResource Include="Resources\Phone\Device\IntelligentLocks.png" /> + <BundleResource Include="Resources\Phone\Device\SensorEmergencyButton.png" /> + <BundleResource Include="Resources\Phone\Device\AirSwitch.png" /> + <BundleResource Include="Resources\Phone\Device\Light.png" /> + <BundleResource Include="Resources\Phone\Device\ThirdPartyDevice.png" /> + <BundleResource Include="Resources\Phone\Device\SensorMotion.png" /> + <BundleResource Include="Resources\Phone\Device\AirConditionerEpoint.png" /> + <BundleResource Include="Resources\Phone\Device\Converter.png" /> + <BundleResource Include="Resources\Phone\Device\AirConditioner.png" /> + <BundleResource Include="Resources\Phone\Device\ColorLight.png" /> + <BundleResource Include="Resources\Phone\Device\Switch.png" /> + <BundleResource Include="Resources\Phone\Device\ButtonPanel.png" /> + <BundleResource Include="Resources\Phone\Device\AirConditionerZbGateway.png" /> + <BundleResource Include="Resources\Phone\Device\DryContact.png" /> + <BundleResource Include="Resources\Phone\Device\IntelligentLocksH06C.png" /> + <BundleResource Include="Resources\Phone\Device\SensorDoorWindow.png" /> + <BundleResource Include="Resources\Phone\Device\ButtonPanelOne.png" /> + <BundleResource Include="Resources\Phone\Device\SensorTemperature.png" /> + <BundleResource Include="Resources\Phone\Device\SensorFire.png" /> + <BundleResource Include="Resources\Phone\Device\ButtonPanelThree.png" /> + <BundleResource Include="Resources\Phone\Device\SensorCarbonMonoxide.png" /> + <BundleResource Include="Resources\Phone\Device\DimmableLightOneLoad.png" /> + <BundleResource Include="Resources\Phone\Device\RelayEpoint.png" /> + <BundleResource Include="Resources\Phone\Device\RepeaterZigbee.png" /> + <BundleResource Include="Resources\Phone\Device\SensorWater.png" /> + <BundleResource Include="Resources\Phone\Light\DeskLampSelected.png" /> + <BundleResource Include="Resources\Phone\Light\ON.png" /> + <BundleResource Include="Resources\Phone\Light\Plug.png" /> + <BundleResource Include="Resources\Phone\Light\PlugSelected.png" /> + <BundleResource Include="Resources\Phone\Light\OFFSelected.png" /> + <BundleResource Include="Resources\Phone\Light\ONSelected.png" /> + <BundleResource Include="Resources\Phone\Light\OFF.png" /> + <BundleResource Include="Resources\Phone\Light\OnOff.png" /> + <BundleResource Include="Resources\Phone\Light\DeskLamp.png" /> + <BundleResource Include="Resources\Phone\Safeguard\WithdrawGarrison.png" /> + <BundleResource Include="Resources\Phone\Safeguard\SafetyShortcut.png" /> + <BundleResource Include="Resources\Phone\Safeguard\ProtectionRemoveHomeSelected.png" /> + <BundleResource Include="Resources\Phone\Safeguard\ProtectionRemoveHome.png" /> + <BundleResource Include="Resources\Phone\Safeguard\WithdrawGarrisonSelected.png" /> + <BundleResource Include="Resources\Phone\Safeguard\SafeguardPasswordGround.png" /> + <BundleResource Include="Resources\Phone\Safeguard\SafetyShortcutSelected.png" /> + <BundleResource Include="Resources\Phone\Safeguard\ProtectionAtHomeSelected.png" /> + <BundleResource Include="Resources\Phone\Safeguard\ProtectionAtHome.png" /> + <BundleResource Include="Resources\Phone\Floor\FloorSelected.png" /> + <BundleResource Include="Resources\Phone\Floor\Floor.png" /> + <BundleResource Include="Resources\Phone\Account\Code.png" /> + <BundleResource Include="Resources\Phone\Account\Cancle.png" /> + <BundleResource Include="Resources\Phone\Account\HidePwd.png" /> + <BundleResource Include="Resources\Phone\Account\Account.png" /> + <BundleResource Include="Resources\Phone\Account\Cat.png" /> + <BundleResource Include="Resources\Phone\Account\Password.png" /> + <BundleResource Include="Resources\Phone\Account\Logo_White.png" /> + <BundleResource Include="Resources\Phone\Account\QQ.png" /> + <BundleResource Include="Resources\Phone\Account\PhoneEmail_White.png" /> + <BundleResource Include="Resources\Phone\Account\ChangeSuccess.png" /> + <BundleResource Include="Resources\Phone\Account\Wechat.png" /> + <BundleResource Include="Resources\Phone\Account\Logo_loginBG.png" /> + <BundleResource Include="Resources\Phone\Account\UnhidePwd.png" /> + <BundleResource Include="Resources\Phone\Scene\Selected.png" /> + <BundleResource Include="Resources\Phone\Scene\SceneIcon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\17Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\4Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\16IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\6IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\9IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\19IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\20Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\16Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\1IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\11IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\5Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\7Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\10IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\14Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\6Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\15Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\17IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\7IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\8IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\18IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\20IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\19Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\3Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\10Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\12IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\2IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\5IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\15IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\2Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\11Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\18Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\4IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\14IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\13Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\9Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\8Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\12Icon.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\13IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\3IconSelected.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\1Icon.png" /> + <BundleResource Include="Resources\Phone\RealDevice\CurtainSiphonate.png" /> + <BundleResource Include="Resources\Phone\RealDevice\SensorPir.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\SensorEmergencyButton.png" /> + <BundleResource Include="Resources\Phone\RealDevice\CommonDevice.png" /> + <BundleResource Include="Resources\Phone\RealDevice\SensorMotion.png" /> + <BundleResource Include="Resources\Phone\RealDevice\PanelFourButton.png" /> + <BundleResource Include="Resources\Phone\RealDevice\SensorDoorWindow.png" /> + <BundleResource Include="Resources\Phone\RealDevice\SensorFire.png" /> + <BundleResource Include="Resources\Phone\RealDevice\PanelFourNotPowerButton.png" /> + <BundleResource Include="Resources\Phone\RealDevice\PanelThreeButton.png" /> + <BundleResource Include="Resources\Phone\RealDevice\SensorCarbonMonoxide.png" /> + <BundleResource Include="Resources\Phone\RealDevice\SensorWater.png" /> + <BundleResource Include="Resources\Phone\RealDevice\PanelTwoButton.png" /> + <BundleResource Include="Resources\Phone\Gateway\WirelessGatewaySearching.png" /> + <BundleResource Include="Resources\Phone\Gateway\RealGateway6.png" /> + <BundleResource Include="Resources\Phone\Gateway\PhoneImage.png" /> + <BundleResource Include="Resources\Phone\Gateway\RealGateway1.png" /> + <BundleResource Include="Resources\Phone\Gateway\WiredGatewayInstruct.png" /> + <BundleResource Include="Resources\Phone\Gateway\GatewayIcon1.png" /> + <BundleResource Include="Resources\Phone\Gateway\GatewayIcon6.png" /> + <BundleResource Include="Resources\Phone\Gateway\WirelessGatewayImage.png" /> + <BundleResource Include="Resources\Phone\Gateway\WiredGateway.png" /> + <BundleResource Include="Resources\Phone\Gateway\WirelessGateway.png" /> + <BundleResource Include="Resources\Phone\Gateway\WirelessGatewayInstruct.png" /> + <BundleResource Include="Resources\Phone\Gateway\AddGatewaySuccess.png" /> </ItemGroup> <Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png new file mode 100644 index 0000000..a3073d5 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/SwingBackground.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png new file mode 100644 index 0000000..d4d0493 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png new file mode 100644 index 0000000..e794a92 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_1Selected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png new file mode 100644 index 0000000..e2daeca --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png new file mode 100644 index 0000000..bb5c206 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_2Selected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png new file mode 100644 index 0000000..8ff9f38 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png new file mode 100644 index 0000000..971c20d --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_3Selected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png new file mode 100644 index 0000000..77c1efa --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png new file mode 100644 index 0000000..3f6966f --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_4Selected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png new file mode 100644 index 0000000..4a9139c --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png new file mode 100644 index 0000000..e794a92 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_5Selected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png new file mode 100644 index 0000000..a7d3e34 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_Auto.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png new file mode 100644 index 0000000..987e6be --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/AC/Swing_AutoSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/FunctionIcon/2IconSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/FunctionIcon/2IconSelected.png old mode 100755 new mode 100644 index 2228105..34011fb --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/FunctionIcon/2IconSelected.png +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/FunctionIcon/2IconSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Add_Category.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Add_Category.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Category_FunctionBG.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Category_FunctionBG.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Category_FunctionBGSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Category_FunctionBGSelected.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Delete.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Delete.png new file mode 100755 index 0000000..fc4764f --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Delete.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Drop_Down.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Drop_Down.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/HouseSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/HouseSelected.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ItemSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ItemSelected.png old mode 100755 new mode 100644 index 52c55d6..526ab07 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ItemSelected.png +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ItemSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/List.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/List.png new file mode 100644 index 0000000..b63955c --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/List.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Message.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Message.png new file mode 100755 index 0000000..05d6834 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Message.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MessageSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MessageSelected.png new file mode 100755 index 0000000..236fd0c --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MessageSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MyHome.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MyHome.png new file mode 100755 index 0000000..760da25 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/MyHome.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Next.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Next.png old mode 100755 new mode 100644 index 5a7036e..dfb3a95 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Next.png +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Next.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/NextSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/NextSelected.png new file mode 100644 index 0000000..b8c3d12 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/NextSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SceneCard.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SceneCard.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectFloor_Left.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectFloor_Left.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectFloor_Right.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectFloor_Right.png new file mode 100644 index 0000000..3f91ce3 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectFloor_Right.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectHouse.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/SelectHouse.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoom.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoom.png new file mode 100755 index 0000000..69be3b0 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoom.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoomSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoomSelected.png new file mode 100755 index 0000000..615753b --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/ShardRoomSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Shared.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Shared.png new file mode 100755 index 0000000..b7b0cb9 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Shared.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Time.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Time.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Timer.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Timer.png index 736599d..e26dff3 100755 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Timer.png +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/Timer.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/VirtualFrame.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Item/VirtualFrame.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLamp.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLamp.png new file mode 100755 index 0000000..31f5e9f --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLamp.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLampSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLampSelected.png new file mode 100755 index 0000000..a0a01cc --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/DeskLampSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OFF.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OFF.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OFFSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OFFSelected.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/ON.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/ON.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/ONSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/ONSelected.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OnOff.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/OnOff.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/Plug.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/Plug.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/PlugSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Light/PlugSelected.png old mode 100755 new mode 100644 Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/FavoriteRoom.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/FavoriteRoom.png new file mode 100755 index 0000000..b516b16 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/FavoriteRoom.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/HomeBG.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/HomeBG.png deleted file mode 100755 index cd4994b..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/HomeBG.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemSelected.png new file mode 100755 index 0000000..526ab07 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected.png new file mode 100755 index 0000000..e585d3d --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected_Black.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected_Black.png new file mode 100644 index 0000000..fb408e5 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/ItemUnSelected_Black.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/NoNameRoom.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/NoNameRoom.png new file mode 100644 index 0000000..d831f53 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/NoNameRoom.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconSelectedBackground.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconSelectedBackground.png new file mode 100644 index 0000000..28f3760 --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconSelectedBackground.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconUnselectedBackground.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconUnselectedBackground.png new file mode 100644 index 0000000..cbc6eda --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/Room_IconUnselectedBackground.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r0.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r0.png deleted file mode 100755 index 48934fc..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r0.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r1.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r1.png deleted file mode 100755 index a2de21f..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r1.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r10.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r10.png deleted file mode 100755 index d413f1a..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r10.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r11.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r11.png deleted file mode 100755 index 4dbf445..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r11.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r12.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r12.png deleted file mode 100755 index 462e0c8..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r12.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r13.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r13.png deleted file mode 100755 index 9bdc9aa..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r13.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r14.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r14.png deleted file mode 100755 index dbfdb30..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r14.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r15.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r15.png deleted file mode 100755 index 0b447de..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r15.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r16.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r16.png deleted file mode 100755 index de1c4ed..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r16.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r17.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r17.png deleted file mode 100755 index a541cd1..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r17.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r18.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r18.png deleted file mode 100755 index f7cffea..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r18.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r19.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r19.png deleted file mode 100755 index de439f4..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r19.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r2.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r2.png deleted file mode 100755 index 8d6c085..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r2.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r20.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r20.png deleted file mode 100755 index c3fa6b9..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r20.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r21.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r21.png deleted file mode 100755 index 7a93d5b..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r21.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r22.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r22.png deleted file mode 100755 index 25f6057..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r22.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r23.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r23.png deleted file mode 100755 index 7e3e441..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r23.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r24.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r24.png deleted file mode 100755 index af9d1d8..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r24.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r3.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r3.png deleted file mode 100755 index 5386ba8..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r3.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r4.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r4.png deleted file mode 100755 index 32fabae..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r4.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r5.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r5.png deleted file mode 100755 index 346bde6..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r5.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r6.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r6.png deleted file mode 100755 index d16c81c..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r6.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r7.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r7.png deleted file mode 100755 index cccf7ac..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r7.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r8.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r8.png deleted file mode 100755 index 24ea738..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r8.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r9.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r9.png deleted file mode 100755 index 53a4c4d..0000000 --- a/ZigbeeApp/GateWay.Ios/Resources/Phone/Room/r9.png +++ /dev/null Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/SceneIcon.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/SceneIcon.png new file mode 100755 index 0000000..afa320a --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/SceneIcon.png Binary files differ diff --git a/ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/Selected.png b/ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/Selected.png new file mode 100755 index 0000000..53616fe --- /dev/null +++ b/ZigbeeApp/GateWay.Ios/Resources/Phone/Scene/Selected.png Binary files differ diff --git a/ZigbeeApp/Shared/.DS_Store b/ZigbeeApp/Shared/.DS_Store index 4927efb..f3f494c 100755 --- a/ZigbeeApp/Shared/.DS_Store +++ b/ZigbeeApp/Shared/.DS_Store Binary files differ diff --git a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll old mode 100755 new mode 100644 index 5d5933f..38431d2 --- 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.TouchID.dll b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.TouchID.dll old mode 100755 new mode 100644 index 0fdaa8e..75af8f6 --- a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.TouchID.dll +++ b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.TouchID.dll Binary files differ diff --git a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll old mode 100755 new mode 100644 index b5c515c..c13d6be --- 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 old mode 100755 new mode 100644 index ef1fa70..a9abded --- 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 old mode 100755 new mode 100644 index e131936..aa89735 --- 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/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs index 63e9498..0a8ec50 100644 --- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs @@ -72,10 +72,6 @@ /// </summary> private Button currentModeBtn; /// <summary> - /// 褰撳墠娓╁害 - /// </summary> - private Button currentTemperatureBtn; - /// <summary> /// 娣诲姞娓╁害 /// </summary> private Button addTemperatureBtn; @@ -112,6 +108,11 @@ /// 浼犺繃鏉ョ殑ac /// </summary> private ZigBee.Device.AC ac; + /// <summary> + /// mArcScaleSeekBar + /// </summary> + private ArcScaleSeekBar mArcScaleSeekBar = new ArcScaleSeekBar { }; + #endregion #region 鈼� 鎺ュ彛___________________________ @@ -174,7 +175,7 @@ ac.currentCoolingSetpoint = curTemp; if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 鈩�"; + mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } ac.LastDateTime = DateTime.Now; @@ -184,7 +185,7 @@ ac.currentHeatingSetpoint = curTemp; if (ac.currentSystemMode == 4) { - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 鈩�"; + mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } ac.LastDateTime = DateTime.Now; break; @@ -193,7 +194,7 @@ ac.currentAutoSetpoint = curTemp; if (ac.currentSystemMode == 1) { - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 鈩�"; + mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } ac.LastDateTime = DateTime.Now; break; @@ -210,8 +211,9 @@ modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode); modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode); currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode); - currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�"; + mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); + fanModeBtn.IsSelected = false; FanSwingModeBtn.IsSelected = false; } @@ -222,8 +224,8 @@ modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode); modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode); currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode); - currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�"; + mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); fanModeBtn.IsSelected = true; FanSwingModeBtn.IsSelected = true; } @@ -377,14 +379,26 @@ //鍙戦�佽鍙栫姸鎬佸懡浠� UserView.UserHomeView.ReadStatus(ac, () => { - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadLocalTemperature(); - ac.ReadCoolingSetpoint(); - ac.ReadHeatingSetpoint(); - ac.ReadAutoSetpoint(); - ac.ReadFanMode(); - ac.ReadSystemMode(); - ac.ReadSystemFansSwingMode(); + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100); + ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + System.Threading.Thread.Sleep(100); + ac.ReadLocalTemperature(); + System.Threading.Thread.Sleep(100); + ac.ReadCoolingSetpoint(); + System.Threading.Thread.Sleep(100); + ac.ReadHeatingSetpoint(); + System.Threading.Thread.Sleep(100); + ac.ReadAutoSetpoint(); + System.Threading.Thread.Sleep(100); + ac.ReadFanMode(); + System.Threading.Thread.Sleep(100); + ac.ReadSystemMode(); + System.Threading.Thread.Sleep(100); + ac.ReadSystemFansSwingMode(); + }) + { IsBackground = true }.Start(); }); } else @@ -392,14 +406,26 @@ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadLocalTemperature(); - ac.ReadCoolingSetpoint(); - ac.ReadHeatingSetpoint(); - ac.ReadAutoSetpoint(); - ac.ReadFanMode(); - ac.ReadSystemMode(); - ac.ReadSystemFansSwingMode(); + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100); + ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + System.Threading.Thread.Sleep(100); + ac.ReadLocalTemperature(); + System.Threading.Thread.Sleep(100); + ac.ReadCoolingSetpoint(); + System.Threading.Thread.Sleep(100); + ac.ReadHeatingSetpoint(); + System.Threading.Thread.Sleep(100); + ac.ReadAutoSetpoint(); + System.Threading.Thread.Sleep(100); + ac.ReadFanMode(); + System.Threading.Thread.Sleep(100); + ac.ReadSystemMode(); + System.Threading.Thread.Sleep(100); + ac.ReadSystemFansSwingMode(); + }) + { IsBackground = true }.Start(); } } @@ -435,15 +461,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); var moreBtn = new Button { @@ -516,72 +533,71 @@ }; itemView.AddChidren(indoorTemperatureBtn); - - var controlBG = new FrameLayout() + mArcScaleSeekBar = new ArcScaleSeekBar { Y = Application.GetRealHeight(412), - Height = Application.GetMinRealAverage(547), - Width = Application.GetMinRealAverage(671), + Width = Application.GetRealWidth(671), + Height = Application.GetRealHeight(671), Gravity = Gravity.CenterHorizontal, - BackgroundImagePath = "AC/Group.png" + MinValue=ACControlBase.Temperature_Low, + MaxValue=ACControlBase.Temperature_High, + Progress=ACControlBase.GetCurrentModeTemperature(ac) }; - itemView.AddChidren(controlBG); - - var controlBG2 = new Button() + itemView.AddChidren(mArcScaleSeekBar); + mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) => { - Y = Application.GetRealHeight(873), - Height = Application.GetMinRealAverage(121), - Width = Application.GetMinRealAverage(351), - UnSelectedImagePath = "AC/Path.png", - Gravity = Gravity.CenterHorizontal + //cool //dry + if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) + { + ac.currentCoolingSetpoint = e; + ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); + } + //heat + else if (ac.currentSystemMode == 4) + { + ac.currentHeatingSetpoint = e; + ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); + } + //auto + else if (ac.currentSystemMode == 1) + { + ac.currentAutoSetpoint = e; + ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); + } }; - itemView.AddChidren(controlBG2); + //褰撳墠妯″紡 currentModeBtn = new Button() { - Y = Application.GetRealHeight(187), + Y = Application.GetRealHeight(599), Height = Application.GetRealHeight(80), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextBlackColor, Gravity = Gravity.CenterHorizontal, Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode) }; - controlBG.AddChidren(currentModeBtn); + itemView.AddChidren(currentModeBtn); //闄嶄綆娓╁害 reduceTemperatureBtn = new Button() { - X = Application.GetRealWidth(112), - Y = Application.GetRealHeight(268), + X = Application.GetRealWidth(268), + Y = Application.GetRealHeight(680), Width = Application.GetMinRealAverage(80), Height = Application.GetMinRealAverage(80), UnSelectedImagePath = "AC/Reduce.png" }; - controlBG.AddChidren(reduceTemperatureBtn); - - //娓╁害 - currentTemperatureBtn = new Button() - { - //X = Application.GetRealWidth(239), - Y = Application.GetRealHeight(248), - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(100), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15, - Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C", - Gravity = Gravity.CenterHorizontal - }; - controlBG.AddChidren(currentTemperatureBtn); + itemView.AddChidren(reduceTemperatureBtn); //娣诲姞娓╁害 addTemperatureBtn = new Button() { - X = Application.GetRealWidth(472), - Y = Application.GetRealHeight(268), + X = Application.GetRealWidth(628), + Y = Application.GetRealHeight(680), Width = Application.GetMinRealAverage(80), Height = Application.GetMinRealAverage(80), UnSelectedImagePath = "AC/Add.png" }; - controlBG.AddChidren(addTemperatureBtn); + itemView.AddChidren(addTemperatureBtn); //鎵 FanSwingModeBtn = new Button() @@ -1075,7 +1091,7 @@ modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(acMode); currentModeBtn.Text = ACControlBase.GetModeNameByMode(acMode); ac.currentSystemMode = (int)acMode; - currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C"; + mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); ac.SetSystemModeAsync(acMode); @@ -1325,7 +1341,8 @@ } ac.currentCoolingSetpoint += 1; ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + //currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } //heat else if (ac.currentSystemMode == 4) @@ -1336,7 +1353,8 @@ } ac.currentHeatingSetpoint += 1; ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + //currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } //auto else if (ac.currentSystemMode == 1) @@ -1347,9 +1365,9 @@ } ac.currentAutoSetpoint += 1; ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; + //currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } - } @@ -1379,7 +1397,8 @@ ac.currentCoolingSetpoint -= 1; ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + //currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } //heat else if (ac.currentSystemMode == 4) @@ -1391,7 +1410,8 @@ ac.currentHeatingSetpoint -= 1; ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + //currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } //auto else if (ac.currentSystemMode == 1) @@ -1403,7 +1423,8 @@ ac.currentAutoSetpoint -= 1; ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; + //currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; + mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } } diff --git a/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs b/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs deleted file mode 100644 index 91cab32..0000000 --- a/ZigbeeApp/Shared/Phone/Device/AirSwitch/AirSwitchControl.cs +++ /dev/null @@ -1,542 +0,0 @@ -锘縰sing System; -using Shared.Common; -using Shared.Phone.UserView; -using ZigBee.Device; -namespace Shared.Phone.Device.AirSwitch -{ - /// <summary> - /// Air switch control. - /// </summary> - public class AirSwitchControl:FrameLayout, ZigBee.Common.IStatus - { - #region 鈼� 鍙橀噺__________________________ - /// <summary> - /// 璁惧鏄惁鍦ㄧ嚎鏍囪瘑--Online - /// </summary> - private readonly string DeviceStatus_Online = "Online"; - /// <summary> - /// 璁惧鐘舵�佸紑鍏虫爣璇�--Switch - /// </summary> - private readonly string DeviceStatus_OnOffStatus = "Switch"; - /// <summary> - /// 寮�鍏� - /// </summary> - public Button switchBtn; - /// <summary> - /// The action. - /// </summary> - public Action action; - /// <summary> - /// The light view. - /// </summary> - public FrameLayout deviceView; - /// <summary> - /// The light image. - /// </summary> - public Button deviceIMG; - /// <summary> - /// 鏀惰棌鎸夐挳 - /// </summary> - public Button collectionBtn; - /// <summary> - /// 鏇村璁剧疆 - /// </summary> - private Button moreBtn; - /// <summary> - /// 鎴块棿 - /// </summary> - private Button roomBtn; - /// <summary> - /// 鎴块棿鍚� - /// </summary> - private Button roomName; - /// <summary> - /// 浼犺繃鏉ョ殑璁惧 - /// </summary> - private DeviceUI device; - /// <summary> - /// 浼犺繃鏉ョ殑鎴块棿 - /// </summary> - private Shared.Common.Room room; - /// <summary> - /// 缃戝叧 - /// </summary> - private ZbGateway zbGateway = null; - /// <summary> - /// 鏄惁鍙戦�佹帶鍒跺懡浠ゆ垚鍔熶簡 - /// </summary> - private bool sendedControlCommand = false; - - #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 - { - var deviceUI = deviceView.Tag as DeviceUI; - //璁惧涓虹┖ - if (deviceUI.CommonDevice == null) - { - return; - } - //鏄惁涓哄綋鍓嶈澶� - if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr) - { - return; - } - if (deviceUI.CommonDevice.Type == DeviceType.AirSwitch) - { - if (common.DeviceStatusReport.CluterID == 6) - { - var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.DeviceStatusReport = common.DeviceStatusReport; - //璁板綍銆佹洿鏂扮姸鎬� - if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0) - { - return; - } - airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; - switchBtn.IsSelected = airSwitch.OnOffStatus == 1; - airSwitch.LastDateTime = DateTime.Now; - } - //***鏂版敼***璁惧鐘舵�佷笂鎶ヤ腑锛屽綋CluterID=3,璇佹槑璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - else if (common.DeviceStatusReport.CluterID == 3) - { - var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.IsOnline = 1; - deviceIMG.IsSelected = airSwitch.IsOnline == 1; - airSwitch.LastDateTime = DateTime.Now; - } - } - } - catch (Exception ex) - { - System.Console.WriteLine($"Error:{ex.Message}"); - } - }); - } - else if (typeTag == "OnlineStatusChange") - { - Application.RunOnMainThread(() => - { - try - { - var deviceUI = deviceView.Tag as DeviceUI; - //璁惧涓虹┖ - if (deviceUI.CommonDevice == null) - { - return; - } - //鏄惁涓哄綋鍓嶈澶� - if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr) - { - return; - } - if (deviceUI.CommonDevice.Type == DeviceType.AirSwitch) - { - var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.IsOnline = common.IsOnline; - deviceIMG.IsSelected = airSwitch.IsOnline == 1; - airSwitch.LastDateTime = DateTime.Now; - } - } - catch (Exception ex) - { - System.Console.WriteLine($"Error:{ex.Message}"); - } - }); - } - } - #endregion - - #region 鈼� 鍒濆鍖朹_________________________ - /// <summary> - /// 鏋勯�犳柟娉� - /// </summary> - public AirSwitchControl() - { - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; - ZbGateway.StatusList.Add(this); - } - /// <summary> - /// 閲嶅啓绉婚櫎鏂规硶 - /// </summary> - public override void RemoveFromParent() - { - ZbGateway.StatusList.Remove(this); - action?.Invoke(); - RemoveUpdateControlDeviceStatuAction(); - base.RemoveFromParent(); - } - /// <summary> - /// 鏄剧ず鐣岄潰 - /// </summary> - /// <param name="device">Device.</param> - /// <param name="room">Room.</param> - public void Show(DeviceUI device, Shared.Common.Room room) - { - - #region topview - var topBGView = new FrameLayout() - { - Height = Application.GetRealHeight(CommonPage.Navigation_Height), - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor - }; - AddChidren(topBGView); - var topView = new FrameLayout() - { - Y = Application.GetRealHeight(CommonPage.NavigationTitle_Y), - Height = Application.GetRealHeight(CommonPage.Navigation_Height - CommonPage.NavigationTitle_Y), - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - }; - AddChidren(topView); - - moreBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(CommonPage.AppRealWidth - 150), - Width = Application.GetMinReal(110), - Height = Application.GetMinReal(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/More.png", - SelectedImagePath = "Item/MoreSelected.png", - }; - topView.AddChidren(moreBtn); - - var back = new Device.CommonForm.BackButton() { }; - topView.AddChidren(back); - back.MouseUpEventHandler += (sender, e) => - { - this.RemoveFromParent(); - }; - - if (device == null || device.CommonDevice == null || room == null) - { - return; - } - this.device = device; - this.zbGateway = this.device.CommonDevice.Gateway; - this.room = room; - - var airSwitch = device.CommonDevice as ZigBee.Device.AirSwitch; - //琛ヤ笂闈炶繙绋� - if (airSwitch.Gateway == null) - { - return; - } - if (airSwitch.Gateway.IsVirtual) - { - UserHomeView.ReadStatus(airSwitch, () => - { - airSwitch.ReadOnOffStatus(); - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - }); - } - else - { - if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) - { - airSwitch.ReadOnOffStatus(); - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - } - } - #endregion - - #region midFL - var midFL = new FrameLayout() - { - Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.Navigation_Height), - Y = topView.Bottom, - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - }; - this.AddChidren(midFL); - - var itemView = new FrameLayout() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(50), - Width = Application.GetRealWidth(CommonPage.AppRealWidth - 100), - Height = Application.GetRealHeight(850), - Radius = CommonPage.BigFormRadius, - Gravity = Gravity.CenterHorizontal, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor - }; - midFL.AddChidren(itemView); - deviceView = new FrameLayout() - { - X = 2, - Y = 2, - Width = itemView.Width - 4, - Height = itemView.Height - Application.GetRealHeight(130), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - itemView.AddChidren(deviceView); - - collectionBtn = new Button() - { - X = deviceView.Width - Application.GetRealWidth(130), - Y = Application.GetRealHeight(20), - Width = Application.GetMinReal(110), - Height = Application.GetMinReal(110), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png" - }; - deviceView.AddChidren(collectionBtn); - - deviceIMG = new Button() - { - Y = Application.GetRealHeight(100), - Height = Application.GetMinRealAverage(240), - Width = Application.GetMinRealAverage(240), - Gravity = Gravity.CenterHorizontal, - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = airSwitch.IsOnline==1, - Tag = DeviceStatus_Online - }; - deviceView.AddChidren(deviceIMG); - - var airSwitchName = new Button() - { - Y = deviceIMG.Bottom, - Height = Application.GetRealHeight(85), - Gravity = Gravity.CenterHorizontal, - Text = device.CommonDevice.DeviceEpointName, - TextColor = ZigbeeColor.Current.GXCTextBlackColor - }; - deviceView.AddChidren(airSwitchName); - - switchBtn = new Button() - { - Y = airSwitchName.Bottom + Application.GetRealHeight(70), - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(120), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - Tag = DeviceStatus_OnOffStatus, - IsSelected = airSwitch.OnOffStatus == 1 - }; - deviceView.AddChidren(switchBtn); - - roomBtn = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(25) + deviceView.Bottom, - Width = Application.GetMinReal(80), - Height = Application.GetMinReal(80), - UnSelectedImagePath = "Item/Room.png", - SelectedImagePath = "Item/RoomSelected.png" - }; - itemView.AddChidren(roomBtn); - - roomName = new Button() - { - X = roomBtn.Right + Application.GetRealWidth(20), - Y = roomBtn.Y, - Width = Application.GetRealWidth(400), - Height = Application.GetRealHeight(80), - Text = room.Name, - TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor - }; - itemView.AddChidren(roomName); - - //var moreBtn = new Button() - //{ - // X = itemView.Width - Application.GetRealWidth(130), - // Y = roomBtn.Y, - // Width = Application.GetMinReal(80), - // Height = Application.GetMinReal(80), - // UnSelectedImagePath = "Item/More.png", - // SelectedImagePath = "Item/MoreSelected.png", - //}; - //itemView.AddChidren(moreBtn); - var dev = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) - { - collectionBtn.IsSelected = false; - } - else - { - collectionBtn.IsSelected = true; - } - - #endregion - - BindEvent(); - } - #endregion - - #region 鈼� 澶ф潅鐑______________________ - /// <summary> - /// 缁戝畾鎸夐挳鐨勪簨浠� - /// </summary> - private void BindEvent() - { - switchBtn.MouseUpEventHandler += Switch; - collectionBtn.MouseUpEventHandler += Collection; - moreBtn.MouseUpEventHandler += More; - roomBtn.MouseUpEventHandler += BackToRoomHandler; - roomName.MouseUpEventHandler += BackToRoomHandler; - } - - /// <summary> - /// 寮�鍏宠缃� - /// </summary> - /// <param name="sender">Sender.</param> - /// <param name="eventArgs">Event arguments.</param> - private void Switch(object sender, MouseEventArgs eventArgs) - { - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) - { - (device.CommonDevice as ZigBee.Device.AirSwitch).SwitchControl(1); - } - else - { - (device.CommonDevice as ZigBee.Device.AirSwitch).SwitchControl(0); - } - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - - /// <summary> - /// 鏇村璁剧疆 - /// </summary> - /// <param name="sender">Sender.</param> - /// <param name="e">E.</param> - private void More(object sender, MouseEventArgs e) - { - var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; - UserView.HomePage.Instance.AddChidren(detailInfo); - UserView.HomePage.Instance.PageIndex += 1; - detailInfo.Show(device, room); - detailInfo.action = () => - { - Show(device, room); - }; - } - - /// <summary> - /// 鏀惰棌鍒颁富椤� - /// </summary> - /// <param name="sender">Sender.</param> - /// <param name="e">E.</param> - private void Collection(object sender, MouseEventArgs e) - { - //collection - if (collectionBtn.IsSelected) - { - Shared.Common.Room.Lists[0].DeleteDevice(device.FileName); - collectionBtn.IsSelected = false; - } - else - { - Shared.Common.Room.Lists[0].AddDevice(device.FileName); - collectionBtn.IsSelected = true; - } - } - - /// <summary> - /// 鍥炲埌涓婚〉 - /// </summary> - /// <param name="sender">Sender.</param> - /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> - private void BackToRoomHandler(object sender, MouseEventArgs mouseEventArgs) - { - //backToRoom - - } - - /// <summary> - /// 鏄剧ず璁惧鎺у埗鐘舵�� - /// </summary> - /// <param name="command">Command.</param> - /// <param name="objValue">Object value.</param> - private void UpdateDeviceControllStatu(string command, object objValue) - { - if (command != "DeviceDefaultAck" || objValue == null) - { - return; - } - var tempDevice = (CommonDevice)objValue; - if (tempDevice.DeviceEpoint != this.device.CommonDevice.DeviceEpoint || tempDevice.DeviceAddr != this.device.CommonDevice.DeviceAddr) - { - //涓嶆槸褰撳墠璁惧鐨勬帹閫侊紝鍒欎笉澶勭悊 - return; - } - //鏍囪宸茬粡鍙戦�佹帶鍒跺懡浠ゅ埌缃戝叧 - sendedControlCommand = true; - //鎴愬姛涓嶆彁绀� - //DeviceUI.ShowStatuTip(R.MyInternationalizationString.Success); - } - - /// <summary> - /// 绉婚櫎鏇存柊鎺у埗璁惧鐨刟ction - /// </summary> - private void RemoveUpdateControlDeviceStatuAction() - { - //绉婚櫎action - if (zbGateway != null) - { - zbGateway.ReportAction -= UpdateDeviceControllStatu; - } - } - #endregion - } -} diff --git a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs index 2cbca49..71f5915 100644 --- a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs @@ -57,6 +57,11 @@ private CommonForm.CompleteButton confirmBtn; /// <summary> + /// backGround + /// </summary> + private Button backGround; + + /// <summary> /// 鏄惁淇敼 /// </summary> public bool isModify; @@ -327,12 +332,12 @@ }; bodyFrameLayout.AddChidren(imgFL); - var backGround = new Button() + backGround = new Button() { - Width = Application.GetRealWidth(930), - Height = Application.GetRealHeight(464), + Width = Application.GetMinRealAverage(930), + Height = Application.GetMinRealAverage(464), Gravity = Gravity.Center, - Radius = (uint)Application.GetRealHeight(CommonFormResouce.BigFormRadius), + Radius = (uint)Application.GetMinRealAverage(CommonFormResouce.BigFormRadius), //UnSelectedImagePath = ImagePath UnSelectedImagePath = "SceneIcon/3.png" }; @@ -547,23 +552,49 @@ selectPhotographBtn.MouseUpEventHandler += (send, ee) => { selectFL.RemoveFromParent(); - IconPathType = 1; + var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); + var fileName = $"Scene_{tradeTime}"; //閫氳繃鐩告満鎷嶇収瑁佸壀 CropImage.TakePicture((imagePath) => { - Console.WriteLine("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); - }, "HDLPIC"); + if (isModify) + { + if (IconPathType != 0) + { + Global.DeleteFilebyHomeId(backGround.UnSelectedImagePath); + } + } + + IconPathType = 1; + backGround.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath); + backGround.UnSelectedImagePath = imagePath; + System.IO.File.Delete(imagePath); + + }, fileName, 2, 1); }; selectAblumsBtn.MouseUpEventHandler += (send, ee) => { selectFL.RemoveFromParent(); - IconPathType = 2; + var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); + var fileName = $"Scene_{tradeTime}"; //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 CropImage.SelectPicture((imagePath) => { - Console.WriteLine("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); - }, "HDLPIC"); + if (isModify) + { + if (IconPathType != 0) + { + Global.DeleteFilebyHomeId(backGround.UnSelectedImagePath); + } + } + + IconPathType = 2; + backGround.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath); + backGround.UnSelectedImagePath = imagePath; + System.IO.File.Delete(imagePath); + + }, fileName, 2,1); }; cancelBtn.MouseUpEventHandler += (send, ee) => @@ -806,6 +837,8 @@ { try { + var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); + var fileName = $"Scene_{tradeTime}"; //鏀瑰悕 if (modifySceneUI.Name != nameRow.NameText.Text.Trim()) { @@ -837,9 +870,14 @@ //鍥剧墖 if(IconPathType==1 || IconPathType ==2) { - + Shared.IO.FileUtils.WriteFileByBytes(System.IO.Path.Combine(Config.Instance.FullPath, fileName), backGround.ImageBytes); + modifySceneUI.IconPath = System.IO.Path.Combine(Config.Instance.FullPath, fileName); } - modifySceneUI.IconPath = backGround.UnSelectedImagePath; + else + { + modifySceneUI.IconPath = backGround.UnSelectedImagePath; + } + modifySceneUI.IconPathType = IconPathType; CommonPage.Loading.Start(); var memberDataList = new List<ZigBee.Device.Scene.AddSceneMemberData>(); @@ -985,6 +1023,19 @@ { try { + var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); + var fileName = $"Scene_{tradeTime}"; + string imgPath; + //鍥剧墖 + if (IconPathType == 1 || IconPathType == 2) + { + Shared.IO.FileUtils.WriteFileByBytes(System.IO.Path.Combine(Config.Instance.FullPath, fileName), backGround.ImageBytes); + imgPath = System.IO.Path.Combine(Config.Instance.FullPath, fileName); + } + else + { + imgPath = backGround.UnSelectedImagePath; + } if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null) { Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist); @@ -1039,7 +1090,7 @@ } } - var result = await curRoom.AddScene(nameRow.NameText.Text, backGround.UnSelectedImagePath, memberDataList); + var result = await curRoom.AddScene(nameRow.NameText.Text, imgPath, memberDataList); if (result == 1) { RemoveFromParent(); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs index f99c5f9..43d7b0b 100644 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs @@ -272,19 +272,19 @@ }; }; - sharedRow = new DeviceInfoRow(723); - sharedRow.Init(); - sharedRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.Share)} : "); - sharedRow.SetTitle("2浜�"); - infoFL.AddChidren(sharedRow); + //sharedRow = new DeviceInfoRow(723); + //sharedRow.Init(); + //sharedRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.Share)} : "); + //sharedRow.SetTitle("2浜�"); + //infoFL.AddChidren(sharedRow); } else { - sharedRow = new DeviceInfoRow(585); - sharedRow.Init(); - sharedRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.Share)} : "); - sharedRow.SetTitle("2浜�"); - infoFL.AddChidren(sharedRow); + //sharedRow = new DeviceInfoRow(585); + //sharedRow.Init(); + //sharedRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.Share)} : "); + //sharedRow.SetTitle("2浜�"); + //infoFL.AddChidren(sharedRow); } var confirmBtn = new CommonForm.CompleteButton(962, 907, 127); diff --git a/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs b/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs index 1cf9c08..acec5e6 100644 --- a/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs @@ -65,6 +65,15 @@ /// StopBtn /// </summary> public Button StopBtn; + /// <summary> + /// 寮�鍚堝笜 + /// </summary> + private CurtainSeekBar curtainSeekBar = new CurtainSeekBar { }; + /// <summary> + /// 鍗峰笜 + /// </summary> + private CurtainRollSeekBar curtainRollSeekBar = new CurtainRollSeekBar { }; + #endregion #region 鈼� 鎺ュ彛___________________________ @@ -115,6 +124,14 @@ rollerShade.DeviceStatusReport = common.DeviceStatusReport; rollerShade.WcdCurrentPositionLiftPercentage = common.DeviceStatusReport.AttriBute[0].AttriButeData; StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} { deviceUI.GetDeviceStatu()}"; + if(rollerShade.WcdType==0) + { + curtainRollSeekBar.Progress = rollerShade.WcdCurrentPositionLiftPercentage; + } + else if(rollerShade.WcdType==4) + { + curtainSeekBar.Progress = rollerShade.WcdCurrentPositionLiftPercentage; + } //SeekBar.Progress = rollerShade.WcdCurrentPositionLiftPercentage; //seekBarTitle.Text = $"{SeekBar.Progress} %"; rollerShade.LastDateTime = DateTime.Now; @@ -294,15 +311,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); var moreBtn = new Button { @@ -417,7 +425,6 @@ (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); }; - SetRollerShadeIcon((device.CommonDevice as Rollershade).WcdType); if ((device.CommonDevice as Rollershade).WcdType == -1) { CommonPage.Loading.Start(); @@ -434,6 +441,9 @@ }) { IsBackground = true }.Start(); } + + SetCurtainType(itemView, (device.CommonDevice as Rollershade).WcdType); + var roomBG = new Button { Y = Application.GetRealHeight(1178 - 50), @@ -645,11 +655,22 @@ } /// <summary> + /// SetCurtainType + /// </summary> + /// <param name="layout"></param> + /// <param name="type"></param> + private void SetCurtainType(FrameLayout layout, int type) + { + SetRollerShadeIcon(type); + SetRollerSeekBar(layout, type); + } + + /// <summary> /// WcdType=4锛氬紑鍚堝笜 /// WcdType=0锛氬嵎甯� /// </summary> /// <param name="type"></param> - public void SetRollerShadeIcon(int type) + private void SetRollerShadeIcon(int type) { if (type == 0) { @@ -669,6 +690,44 @@ } } + /// <summary> + /// SetRollerSeekBar + /// </summary> + /// <param name="layout"></param> + /// <param name="type"></param> + private void SetRollerSeekBar(FrameLayout layout,int type) + { + if(type == 0) + { + curtainRollSeekBar.Y = Application.GetRealHeight(300); + curtainRollSeekBar.Width = Application.GetRealWidth(438); + curtainRollSeekBar.Height = Application.GetRealHeight(576); + curtainRollSeekBar.Gravity = Gravity.CenterHorizontal; + curtainRollSeekBar.Progress = (device.CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage; + layout.AddChidren(curtainRollSeekBar); + + curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) => + { + (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); + }; + } + else + { + curtainSeekBar.Y = Application.GetRealHeight(334); + curtainSeekBar.Width = Application.GetRealWidth(570); + curtainSeekBar.Height = Application.GetRealHeight(513); + curtainSeekBar.Gravity = Gravity.CenterHorizontal; + layout.AddChidren(curtainSeekBar); + + curtainSeekBar.OnStopTrackingTouchEvent += (sender, e) => + { + (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); + }; + } + } + + + #endregion #region 鈼� 鏀惰棌鍒颁富椤礯______________________ diff --git a/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs index b23b5bc..a9a1676 100644 --- a/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs @@ -243,16 +243,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); - var moreBtn = new Button { X = Application.GetRealWidth(953), diff --git a/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs index 4fb4f82..c3be1ed 100644 --- a/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs @@ -270,16 +270,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); - var moreBtn = new Button { X = Application.GetRealWidth(953), diff --git a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs index 965a4d8..4c19d06 100644 --- a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs @@ -266,15 +266,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); var moreBtn = new Button { diff --git a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs index dae9d4c..0049e42 100644 --- a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs @@ -274,16 +274,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); - var moreBtn = new Button { X = Application.GetRealWidth(953), diff --git a/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs index 18c2427..9cb132f 100644 --- a/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs @@ -267,16 +267,6 @@ RemoveFromParent(); }; - var sharedBtn = new Button - { - X = Application.GetRealWidth(850), - Width = Application.GetMinReal(69), - Height = Application.GetMinReal(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Shared.png" - }; - top.topView.AddChidren(sharedBtn); - var moreBtn = new Button { X = Application.GetRealWidth(953), diff --git a/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs b/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs index 4ff8617..a9e7def 100644 --- a/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs +++ b/ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using System.Globalization; using Shared.Common; using Shared.Phone.Device.CommonForm; using Shared.Phone.UserCenter; @@ -18,12 +19,21 @@ /// <summary> /// The room. /// </summary> - public Shared.Common.Room room; + public Shared.Common.Room room; /// <summary> /// The action. /// </summary> public Action action; + + /// <summary> + /// backGround + /// </summary> + private Button backGround; + /// <summary> + /// IconPathType + /// </summary> + public int IconPathType = 0; #endregion @@ -38,7 +48,7 @@ public void Show(Shared.Common.Room r) { room = r; - + IconPathType = r.BackgroundImageType; AddTop(); AddBodyView(); @@ -83,17 +93,17 @@ }; AddChidren(bodyFrameLayout); - var imgFL = new FrameLayout + var imgFL = new Button { - Y=Application.GetRealHeight(60), - Width=Application.GetMinRealAverage(916), - Height = Application.GetMinRealAverage(478), - Gravity=Gravity.CenterHorizontal, - BackgroundImagePath= "Room/Room_Rectangle.png" + Y = Application.GetRealHeight(60), + Width = Application.GetMinRealAverage(916), + Height = Application.GetMinRealAverage(487), + Gravity = Gravity.CenterHorizontal, + UnSelectedImagePath = "Room/Room_Rectangle.png" }; bodyFrameLayout.AddChidren(imgFL); - var backGround = new Button() + backGround = new Button() { Y = Application.GetRealHeight(60), Width = Application.GetMinRealAverage(887), @@ -103,6 +113,7 @@ UnSelectedImagePath = room.BackgroundImage }; bodyFrameLayout.AddChidren(backGround); + backGround.MouseUpEventHandler += backGroundIMGHander; var infoFL = new FrameLayout { @@ -115,7 +126,7 @@ var infoEdit = new Button { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y=Application.GetRealHeight(80), + Y = Application.GetRealHeight(80), Height = Application.GetRealHeight(60), Width = Application.GetRealWidth(700), TextID = R.MyInternationalizationString.EditInfo, @@ -134,29 +145,31 @@ var floorRow = new DeviceInfoRow(308); floorRow.Init(); floorRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.BelongFloor)} :"); - floorRow.SetTitle(room.FloorName); infoFL.AddChidren(floorRow); - floorRow.ClickBtn.MouseUpEventHandler += (sender, e) => + if (!room.IsLove) { - if (Config.Instance.Home.FloorDics != null) + floorRow.SetTitle(room.FloorName); + floorRow.ClickBtn.MouseUpEventHandler += (sender, e) => { - List<string> floorIds = new List<string> { }; - List<string> floorNames = new List<string> { }; - foreach (var floor in Config.Instance.Home.FloorDics) + if (Config.Instance.Home.FloorDics != null) { - floorIds.Add(floor.Key); - floorNames.Add(floor.Value); + List<string> floorIds = new List<string> { }; + List<string> floorNames = new List<string> { }; + foreach (var floor in Config.Instance.Home.FloorDics) + { + floorIds.Add(floor.Key); + floorNames.Add(floor.Value); + } + + PickerView.Show(floorNames, (index) => + { + room.FloorId = floorIds[index]; + floorRow.SetTitle(room.FloorName); + }, floorIds.IndexOf(room.FloorId), Language.StringByID(R.MyInternationalizationString.BelongFloor), Language.StringByID(R.MyInternationalizationString.Confrim), Language.StringByID(R.MyInternationalizationString.Cancel)); } - - PickerView.Show(floorNames, (index) => - { - room.FloorId = floorIds[index]; - floorRow.SetTitle(room.FloorName); - }, floorIds.IndexOf(room.FloorId), Language.StringByID(R.MyInternationalizationString.BelongFloor), Language.StringByID(R.MyInternationalizationString.Confrim), Language.StringByID(R.MyInternationalizationString.Cancel)); - } - }; - - + }; + } + var temperatureRow = new DeviceInfoRow(446); temperatureRow.Init(); temperatureRow.SetTipTitle(R.MyInternationalizationString.Temperature); @@ -172,12 +185,12 @@ tem.Show(room); tem.selectDeviceAction = (selectTemp) => { - if(selectTemp==null) + if (selectTemp == null) { return; } - room.TemperatrueDevice =$"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}"; - + room.TemperatrueDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}"; + HdlDeviceAttributeLogic.Current.RemoveEvent("TemperatrueDevice"); HdlDeviceAttributeLogic.Current.AddAttributeEvent("TemperatrueDevice", "DeviceStatusReport", (Action<ZigBee.Device.CommonDevice>)((report) => { @@ -361,34 +374,180 @@ } } - var shareRow = new DeviceInfoRow(723); - shareRow.Init(); - shareRow.SetTipTitle(R.MyInternationalizationString.Share); - shareRow.SetTitle("2 浜�"); - shareRow.NameText.TextAlignment = TextAlignment.CenterRight; - infoFL.AddChidren(shareRow); - shareRow.NextBtn.MouseUpEventHandler += (sender, e) => - { - var tem = new RoomShareSetting { }; - HomePage.Instance.AddChidren(tem); - HomePage.Instance.PageIndex += 1; - tem.Show(room); - tem.action = (selectTemp) => - { - - }; - }; - var confirm = new Device.CommonForm.CompleteButton(1700, 700, 127); confirm.SetTitle(R.MyInternationalizationString.Confrim); AddChidren(confirm); confirm.MouseUpEventHandler += (sender, e) => { + var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); + var fileName = $"Room_{tradeTime}"; room.Name = nameRow.NameText.Text.Trim(); + if (IconPathType == 0) + { + room.BackgroundImage = backGround.UnSelectedImagePath; + } + else + { + Shared.IO.FileUtils.WriteFileByBytes(System.IO.Path.Combine(Config.Instance.FullPath, fileName), backGround.ImageBytes); + room.BackgroundImage = System.IO.Path.Combine(Config.Instance.FullPath, fileName); + } + room.BackgroundImageType = IconPathType; room.Save(); RemoveFromParent(); }; + + } + + /// <summary> + /// 閫夋嫨鑳屾櫙鍥� + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void backGroundIMGHander(object sender, MouseEventArgs e) + { + if (room != null && room.IsSharedRoom) + { + RoomCommon.ShowTipRoomIsShared(); + return; + } + + int selectRow_Height = 150; + int selectRow_Width = 1034; + var selectFL = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor + }; + AddChidren(selectFL); + + var itemFL = new FrameLayout() + { + Y = Application.GetRealHeight(1276), + Height = Application.GetRealHeight(450), + Width = Application.GetRealWidth(selectRow_Width), + Gravity = Gravity.CenterHorizontal, + Radius = (uint)Application.GetRealHeight(17), + BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor + }; + selectFL.AddChidren(itemFL); + itemFL.Animate = Animate.DownToUp; + + var selectLocalPicture = new Button() + { + Height = Application.GetRealHeight(selectRow_Height) - 1, + TextID = R.MyInternationalizationString.LocalPicture, + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + }; + itemFL.AddChidren(selectLocalPicture); + var selectLocalLine = new Button() + { + Y = selectLocalPicture.Bottom, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCLineColor + }; + itemFL.AddChidren(selectLocalLine); + + var selectPhotographBtn = new Button() + { + Y = selectLocalLine.Bottom, + Height = Application.GetRealHeight(selectRow_Height) - 1, + TextID = R.MyInternationalizationString.Photograph, + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + }; + itemFL.AddChidren(selectPhotographBtn); + var selectPhotographLine = new Button() + { + Y = selectPhotographBtn.Bottom, + Height = 1, + BackgroundColor = ZigbeeColor.Current.GXCLineColor, + }; + itemFL.AddChidren(selectPhotographLine); + + var selectAblumsBtn = new Button() + { + Y = selectPhotographLine.Bottom, + Height = Application.GetRealHeight(selectRow_Height) - 1, + TextID = R.MyInternationalizationString.MyAblums, + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4 + }; + itemFL.AddChidren(selectAblumsBtn); + + var cancelBtn = new Button() + { + Y = Application.GetRealHeight(1742), + Height = Application.GetRealHeight(selectRow_Height), + Width = Application.GetRealWidth(selectRow_Width), + Gravity = Gravity.CenterHorizontal, + TextID = R.MyInternationalizationString.Cancel, + TextColor = ZigbeeColor.Current.GXCTextSelectedColor4, + BackgroundColor = ZigbeeColor.Current.GXCTextWhiteColor, + Radius = (uint)Application.GetRealHeight(17) + }; + selectFL.AddChidren(cancelBtn); + + selectLocalPicture.MouseUpEventHandler += (send, ee) => + { + selectFL.RemoveFromParent(); + var localPic = new AddRoomSelectPicByLocal(); + Shared.Phone.UserView.HomePage.Instance.AddChidren(localPic); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + localPic.Show(); + localPic.action = (imgPath) => + { + IconPathType = 0; + backGround.UnSelectedImagePath = imgPath; + }; + }; + selectPhotographBtn.MouseUpEventHandler += (send, ee) => + { + selectFL.RemoveFromParent(); + var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); + var fileName = $"Room_{tradeTime}"; + //閫氳繃鐩告満鎷嶇収瑁佸壀 + CropImage.TakePicture((imagePath) => + { + if (IconPathType != 0) + { + Global.DeleteFilebyHomeId(backGround.UnSelectedImagePath); + } + + IconPathType = 1; + backGround.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath); + backGround.UnSelectedImagePath = imagePath; + System.IO.File.Delete(imagePath); + + }, fileName, 2, 1); + }; + + selectAblumsBtn.MouseUpEventHandler += (send, ee) => + { + selectFL.RemoveFromParent(); + var tradeTime = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); + var fileName = $"Room_{tradeTime}"; + //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 + CropImage.SelectPicture((imagePath) => + { + if (IconPathType != 0) + { + Global.DeleteFilebyHomeId(backGround.UnSelectedImagePath); + } + + IconPathType = 2; + backGround.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath); + backGround.UnSelectedImagePath = imagePath; + System.IO.File.Delete(imagePath); + + }, fileName, 2, 1); + }; + + cancelBtn.MouseUpEventHandler += (send, ee) => + { + selectFL.RemoveFromParent(); + }; + selectFL.MouseUpEventHandler += (send, ee) => + { + selectFL.RemoveFromParent(); + }; } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs index 5228f2b..fd437d9 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/GatewayBackupEnum.cs @@ -38,16 +38,20 @@ /// </summary> A骞叉帴鐐圭鏈夊睘鎬� = 7, /// <summary> + /// 绐楀笜涓婁笅闄愪綅(杩欎釜涓滆タ闇�瑕佸湪绗竴) + /// </summary> + A绐楀笜涓婁笅闄愪綅 = 8, + /// <summary> /// 绐楀笜鎵嬫媺鎺у埗 /// </summary> - A绐楀笜鎵嬫媺鎺у埗 = 8, - /// <summary> - /// 绐楀笜涓婁笅闄愪綅 - /// </summary> - A绐楀笜涓婁笅闄愪綅 = 9, + A绐楀笜鎵嬫媺鎺у埗 = 9, /// <summary> /// 绐楀笜鏂瑰悜 /// </summary> A绐楀笜鏂瑰悜 = 10, + /// <summary> + /// 绌鸿皟鑷畾涔夋ā寮� + /// </summary> + A绌鸿皟鑷畾涔夋ā寮� = 11 } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs index 9720e27..ff34a16 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs @@ -189,6 +189,10 @@ dic = dicMsg[keys]; //璐﹀彿鏈敞鍐� dic["AccountNoExists"] = R.MyInternationalizationString.GetAccountInfo_AccountNoExists; + //璇锋眰鍙傛暟閿欒 + dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError; + //鏃犳晥鐨勭櫥褰昑oken + dic["NoLogin"] = R.MyInternationalizationString.uNoLogin; //鑾峰彇浣忓畢鍒嗛〉 keys = "App/GetHomePager"; @@ -502,7 +506,25 @@ dic = dicMsg[keys]; //璇锋眰鍙傛暟閿欒 dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError; - //纭瀵嗙爜涓嶄竴鑷达紝璇烽噸鏂拌緭鍏� + //鏃犳晥鐧诲綍Token + dic["NoLogin"] = R.MyInternationalizationString.uNoLogin; + + //鏇存柊楠岃瘉瀵嗙爜 + keys = "ZigbeeUsers/UpdatEexpandPwd"; + dicMsg[keys] = new Dictionary<string, int>(); + dic = dicMsg[keys]; + //璇锋眰鍙傛暟閿欒 + dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError; + //鏃犳晥鐧诲綍Token + dic["NoLogin"] = R.MyInternationalizationString.uNoLogin; + + //娣诲姞鎰忚鍙嶉 + keys = "App/AddOpinionFeedback"; + dicMsg[keys] = new Dictionary<string, int>(); + dic = dicMsg[keys]; + //璇锋眰鍙傛暟閿欒 + dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError; + //鏃犳晥鐧诲綍Token dic["NoLogin"] = R.MyInternationalizationString.uNoLogin; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs index d704e95..f13c53d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterColor.cs @@ -135,8 +135,11 @@ /// <summary> /// 鈽嗘鑹茬殑鏂囨湰棰滆壊(0xfffc744b) /// </summary> - public uint TextOrangeColor = 0xfffc744b; - + public uint TextOrangeColor = 0xfffc744b; + /// <summary> + /// 鈽嗚鎺т欢閫夋嫨鐘舵�佹椂鐨勮儗鏅壊 + /// </summary> + public uint RowSelectBackColor = 0xfffbfbfb; @@ -153,10 +156,6 @@ /// 閫変腑鐨勯鑹�(钃濊壊) /// </summary> public uint SelectTextColor = 0xff00aaf0; - /// <summary> - /// 琛屾帶浠堕�夋嫨鐘舵�佹椂鐨勮儗鏅壊 - /// </summary> - public uint RowSelectBackColor = 0xfffbfbfb; /// <summary> /// 娣辫摑鑹� /// </summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs index 5004d73..113ad7b 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs @@ -68,9 +68,17 @@ [Newtonsoft.Json.JsonIgnore] public bool UserIconFileChanged = false; /// <summary> - /// 鐢ㄦ埛澶村儚鏁版嵁 + /// 鐢ㄦ埛澶村儚鏁版嵁(涓存椂鐢�,浼氱疆绌�) /// </summary> public byte[] HeadImage = null; + /// <summary> + /// 鎵嬪娍瀵嗙爜(涓存椂鐢�,浼氱疆绌�) + /// </summary> + public string GesturePwd = string.Empty; + /// <summary> + /// 瀵嗙爜楠岃瘉(涓存椂鐢�,浼氱疆绌�) + /// </summary> + public string StringPwd = string.Empty; } /// <summary> @@ -162,6 +170,10 @@ /// 鎵嬫満鍙� /// </summary> public string Phone = string.Empty; + /// <summary> + /// 澶村儚鏁版嵁 + /// </summary> + public byte[] HeadImage = null; } #endregion @@ -1000,4 +1012,38 @@ } #endregion + + #region 鈻� 浣忓畢淇℃伅绫籣_________________________ + + /// <summary> + /// 缂栬緫浣忓畢鐨勫惎鍔ㄥ弬鏁� + /// </summary> + public class EditorResidencePra : 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 = ""; + /// <summary> + /// Name + /// </summary> + public string Name = string.Empty; + /// <summary> + /// 缁忓害 + /// </summary> + public double Longitude = 0; + /// <summary> + /// 绾害 + /// </summary> + public double Latitude = 0; + } + #endregion } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs new file mode 100755 index 0000000..4d6dd4c --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs @@ -0,0 +1,246 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢 + /// </summary> + public class ProgressFormBar + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢 + /// </summary> + private static ProgressFormBar m_Current = null; + /// <summary> + /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢 + /// </summary> + public static ProgressFormBar Current + { + get + { + if (m_Current == null) + { + m_Current = new ProgressFormBar(); + } + return m_Current; + } + } + + /// <summary> + /// 瀹瑰櫒鎺т欢 + /// </summary> + private FrameLayout bodyFrameLayout = null; + /// <summary> + /// 淇℃伅鎺т欢 + /// </summary> + private NormalViewControl btnText = null; + /// <summary> + /// 杩涘害鍊兼枃鏈殑鏄剧ず鎺т欢 + /// </summary> + private NormalViewControl btnProgressView = null; + /// <summary> + /// 杩涘害鍊艰兘澶熺Щ鍔ㄧ殑閭d釜妗嗘帶浠� + /// </summary> + private FrameLayout frameProgress = null; + /// <summary> + /// 杩涘害鏉� + /// </summary> + private FrameLayout btnProgressBar = null; + /// <summary> + /// 杩涘害鏉″鍣ㄧ殑鏈�澶у搴� + /// </summary> + private int ProRowWidth = 0; + /// <summary> + /// 鍘熸潵鐨勬粦鍔ㄦ爣璇� + /// </summary> + private bool oldScrollEnabled = false; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鍒濆鍖栬繘搴︽潯 + /// </summary> + private void InitProgressFormBar() + { + var nowForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1); + if (nowForm == null || (nowForm is ViewGroup) == false) + { + //杩欑鎯呭喌搴旇涓嶅瓨鍦� + var alert = new ShowMsgControl(ShowMsgType.Error, "ERROR:Not Found The ActionForm!"); + alert.Show(); + return; + } + //瀹夊崜鍙互鐐瑰嚮绯荤粺鐨勮繑鍥為敭 + this.oldScrollEnabled = UserView.HomePage.Instance.ScrollEnabled; + UserView.HomePage.Instance.ScrollEnabled = false; + Shared.Common.CommonPage.BackKeyCanClick = false; + + //瀹瑰櫒 + bodyFrameLayout = new FrameLayout(); + bodyFrameLayout.BackgroundColor = UserCenterColor.Current.DialogBackColor; + ((ViewGroup)nowForm).AddChidren(bodyFrameLayout); + + var frameBack = new FrameLayout(); + frameBack.Width = Application.GetRealWidth(674); + frameBack.Height = Application.GetRealHeight(386); + frameBack.BackgroundColor = UserCenterColor.Current.White; + frameBack.Gravity = Gravity.CenterHorizontal; + frameBack.Y = Application.GetRealHeight(683); + frameBack.Radius = 6; + bodyFrameLayout.AddChidren(frameBack); + + //杩涘害鏄剧ず鏂囨湰 + this.btnText = new NormalViewControl(frameBack.Width, Application.GetRealHeight(58), false); + btnText.Y = Application.GetRealHeight(248); + btnText.TextColor = UserCenterColor.Current.TextGrayColor1; + btnText.TextAlignment = TextAlignment.Center; + frameBack.AddChidren(btnText); + + //杩涘害鏉� + var btnProRow = new FrameLayout(); + btnProRow.Gravity = Gravity.CenterHorizontal; + btnProRow.Y = Application.GetRealHeight(161); + btnProRow.Width = Application.GetRealWidth(559); + btnProRow.Height = Application.GetRealHeight(29); + btnProRow.BackgroundColor = 0xfff5f5f5; + btnProRow.Radius = (uint)Application.GetRealHeight(29) / 2; + frameBack.AddChidren(btnProRow); + this.btnProgressBar = new FrameLayout(); + btnProgressBar.Width = 0; + btnProgressBar.Height = btnProRow.Height; + btnProgressBar.Radius = btnProRow.Radius; + btnProgressBar.BackgroundColor = 0xfffb744a; + btnProgressBar.Radius = (uint)Application.GetRealHeight(29) / 2; + btnProRow.AddChidren(btnProgressBar); + + //杩涘害鍊兼枃鏈� + this.frameProgress = new FrameLayout(); + frameProgress.Width = Application.GetRealWidth(84); + frameProgress.Height = Application.GetRealHeight(60); + frameProgress.Y = Application.GetRealHeight(86); + frameBack.AddChidren(frameProgress); + frameProgress.X = btnProRow.X + btnProgressBar.Right - frameProgress.Width / 2; + var btnProgressPic = new PicViewControl(84, 60); + btnProgressPic.UnSelectedImagePath = "Item/ProgressMsg.png"; + frameProgress.AddChidren(btnProgressPic); + this.btnProgressView = new NormalViewControl(84, 32, true); + btnProgressView.TextSize = 10; + btnProgressView.TextAlignment = TextAlignment.Center; + btnProgressView.Text = "0%"; + frameProgress.AddChidren(btnProgressView); + + this.ProRowWidth = btnProRow.Width; + } + + #endregion + + #region 鈻� 璁剧疆淇℃伅___________________________ + + /// <summary> + /// 璁剧疆鏄剧ず淇℃伅 + /// </summary> + /// <param name="msg"></param> + public void SetMsg(string msg) + { + HdlThreadLogic.Current.RunMain(() => + { + btnText.Text = msg; + }); + } + + #endregion + + #region 鈻� 璁剧疆杩涘害鍊糭________________________ + + /// <summary> + /// 璁剧疆杩涘害鍊� + /// </summary> + /// <param name="value">姝ゅ�间负鐧惧垎姣斿��(涔熷氨鏄皬浜庢垨鑰呯瓑浜�1鐨�)</param> + public void SetValue(decimal value) + { + this.SetValueEx(value); + } + + /// <summary> + /// 璁剧疆杩涘害鍊� + /// </summary> + /// <param name="value">杩涘害鍊�,鍐呴儴浼氶櫎浠axValue</param> + /// <param name="maxValue">鏈�澶у��</param> + public void SetValue2(decimal value, decimal maxValue) + { + decimal result = value / maxValue; + this.SetValueEx(result); + } + + /// <summary> + /// 璁剧疆杩涘害鍊� + /// </summary> + /// <param name="value"></param> + private void SetValueEx(decimal value) + { + HdlThreadLogic.Current.RunMain(() => + { + int width = (int)(value * ProRowWidth); + btnProgressBar.Width = width; + //鏂囨湰鏄剧ず + btnProgressView.Text = ((int)(value * 100)) + "%"; + //鏂囨湰鏄剧ず鐨勯偅涓浘鐗囨绉诲姩 + frameProgress.X = ControlCommonResourse.XXLeft + btnProgressBar.Right - frameProgress.Width / 2; + }); + } + + #endregion + + #region 鈻� 寮�鍚繘搴︽潯_________________________ + + /// <summary> + /// 寮�鍚繘搴︽潯 + /// </summary> + public void Start() + { + if (this.bodyFrameLayout == null) + { + HdlThreadLogic.Current.RunMain(() => + { + //鍒濆鍖栬繘搴︽潯 + this.InitProgressFormBar(); + }); + } + } + + #endregion + + #region 鈻� 鍏抽棴杩涘害鏉________________________ + + /// <summary> + /// 鍏抽棴杩涘害鏉� + /// </summary> + public void Close() + { + if (this.oldScrollEnabled == true) + { + //濡傛灉瀹冨師鏉ュ氨鏄笉鍙互婊戝姩鐨勮瘽锛屼笉澶勭悊 + UserView.HomePage.Instance.ScrollEnabled = true; + } + Shared.Common.CommonPage.BackKeyCanClick = true; + + HdlThreadLogic.Current.RunMain(() => + { + bodyFrameLayout?.RemoveFromParent(); + bodyFrameLayout = null; + btnText = null; + btnProgressView = null; + frameProgress = null; + btnProgressBar = null; + }); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs index ab75e36..711cbee 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/PswNumberInputControl.cs @@ -290,8 +290,7 @@ /// 閲嶇疆鎺т欢 /// </summary> /// <param name="i_title">鏍囬淇℃伅</param> - /// <param name="clearError">鏄惁娓呴櫎閿欒淇℃伅</param> - public void ResetControlInfo(string i_title, bool clearError = true) + public void ResetControlInfo(string i_title) { //鏍囬 btnTitle.Text = i_title; @@ -302,11 +301,8 @@ { listPswIcon[i].BackgroundColor = UserCenterColor.Current.Transparent; } - if (clearError == true) - { - //閿欒淇℃伅 - btnError.Text = string.Empty; - } + //閿欒淇℃伅 + btnError.Text = string.Empty; } #endregion @@ -324,6 +320,14 @@ btnError.Visible = true; } btnError.Text = i_msg; + + //璁板綍鐨勫瘑鐮� + inputPassword = string.Empty; + //瀵嗙爜鍥炬爣 + for (int i = 0; i < listPswIcon.Count; i++) + { + listPswIcon[i].BackgroundColor = UserCenterColor.Current.Transparent; + } } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs index 0a8b19e..fece7db 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs @@ -89,10 +89,14 @@ //鍒楄〃鎺т欢 this.listView = new VerticalListControl(); listView.Height = frameTable.Height; - if (rowCount == 5 && titleText != null) + if (rowCount == 5) { //杩炲甫鏍囬,鍙兘鏄剧ず5琛� listView.Height = frameTable.Height - Application.GetRealHeight(RowHeight); + } + if (titleText != null) + { + //鎷ユ湁鏍囬 listView.Y = Application.GetRealHeight(RowHeight); } listView.Radius = frameTable.Radius; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs index c3a0bc0..ebaab67 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/GatewayRowControl.cs @@ -121,7 +121,11 @@ frameTable.AddChidren(btnName, ChidrenBindMode.BindEventOnly); //鎴块棿 - string strIp = HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(tempWay, "IpAddress").ToString(); + string strIp = string.Empty; + if (tempWay != null) + { + strIp = tempWay.getGatewayBaseInfo.IpAddress; + } this.btnIp = frameTable.AddLeftCaption(strIp, 600, 50, true); //杩欎釜鍧愭爣鏈夌偣鐗规畩 btnIp.Y = Application.GetRealHeight(72) + this.chidrenYaxis; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs index 05f38cb..7b0c5ef 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs @@ -91,6 +91,13 @@ this.BindChidrenEvent(view, chidrenBindMode); } + else if (view is ImageView) + { + view.MouseUpEventHandler -= ChildrenUpEvent; + view.MouseDownEventHandler -= ChildrenDownEvent; + + this.BindChidrenEvent(view, chidrenBindMode); + } else if (view is ViewGroup) { ViewGroup groupContr = (ViewGroup)view; @@ -124,7 +131,11 @@ /// <param name="chidrenBindMode"></param> private void BindChidrenEvent(View view, ChidrenBindMode chidrenBindMode) { - if (view is ButtonBase && chidrenBindMode != ChidrenBindMode.NotBind) + if (chidrenBindMode == ChidrenBindMode.NotBind) + { + return; + } + if (view is ButtonBase) { //涓哄瓙鎺т欢娣诲姞浜嬩欢 ButtonBase button = (ButtonBase)view; @@ -134,7 +145,16 @@ button.ButtonClickEvent += ChildrenUpEvent; button.MouseDownEventHandler += ChildrenDownEvent; } - else if (view is ViewGroup && chidrenBindMode != ChidrenBindMode.NotBind) + else if (view is ImageView) + { + //鑷韩涔熸坊鍔犱簨浠� + view.MouseUpEventHandler -= ChildrenUpEvent; + view.MouseDownEventHandler -= ChildrenDownEvent; + + view.MouseUpEventHandler += ChildrenUpEvent; + view.MouseDownEventHandler += ChildrenDownEvent; + } + else if (view is ViewGroup) { //涓哄瓙鎺т欢娣诲姞浜嬩欢 ViewGroup groupContr = (ViewGroup)view; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs index 9d31add..5dc08ac 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs @@ -129,6 +129,41 @@ } } + /// <summary> + /// 閽堝搴曢儴鐐瑰嚮鎸夐挳,璋冩暣鎺т欢鐪熷疄楂樺害 + /// </summary> + /// <param name="bottomSpace">搴曢儴绌虹櫧闂磋窛(鐪熷疄鍊�,濡傛灉鍒楄〃鎺т欢鐪熷疄楂樺害娌℃湁瓒呰繃鏃�,浣跨敤姝ゅ��)</param> + public void AdjustRealHeightByBottomButton(int bottomSpace) + { + if (this.ChildrenCount == 0) + { + frameBackTemp?.RemoveFromParent(); + frameBackTemp = null; + if (maxHeight != -1) + { + //杩樺師涓烘渶澶ч珮搴� + this.Height = maxHeight; + } + return; + } + var realHeight = this.ChildrenCount * this.GetChildren(0).Height + this.Y; + var btnTemp = new BottomClickButton(); + if (btnTemp.Yaxis >= realHeight) + { + //娌℃湁瓒呰繃 + this.AdjustRealHeight(bottomSpace); + return; + } + //瓒呰繃鏃�,閲嶇疆鑷虫渶澶� + this.RecoverHeight(); + + //娣诲姞涓存椂鎺т欢,鐩磋嚦鍙互婊戝姩瓒呰繃搴曢儴鎸夐挳 + frameBackTemp?.RemoveFromParent(); + frameBackTemp = new FrameLayout(); + frameBackTemp.Height = ControlCommonResourse.BodyFrameHeight - btnTemp.Y; + this.AddChidren(frameBackTemp); + } + #endregion } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs new file mode 100755 index 0000000..979d63f --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/LoadingControl.cs @@ -0,0 +1,45 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// Loading鎺т欢 + /// </summary> + public class LoadingControl : Button + { + /// <summary> + /// 鍒濆鍖� + /// </summary> + public LoadingControl() + { + this.Width = Application.GetMinRealAverage(74); + this.Height = Application.GetMinRealAverage(76); + } + + /// <summary> + /// 寮�鍚姩鐢绘晥鏋� + /// </summary> + public void StartAction() + { + HdlThreadLogic.Current.RunThread(() => + { + int index = 1; + while (this.Parent != null) + { + System.Threading.Thread.Sleep(50); + Application.RunOnMainThread(() => + { + this.UnSelectedImagePath = "Loading/" + index + ".png"; + }); + index++; + if (index > 32) + { + index = 1; + } + } + }); + } + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/PswErrorRowLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/PswErrorRowLayout.cs deleted file mode 100644 index bebda79..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/PswErrorRowLayout.cs +++ /dev/null @@ -1,185 +0,0 @@ -锘縰sing System; -namespace Shared.Phone.UserCenter -{ - /// <summary> - /// 瀵嗙爜閿欒淇℃伅鎻愮ず鎺т欢 - /// </summary> - public class PswErrorRowLayout : RowLayout - { - /// <summary> - /// 鐜伴樁娈垫槸鍚﹂敊璇� - /// </summary> - public bool IsError = true; - /// <summary> - /// 瀵嗙爜闀垮害涓嶄綆浜�8浣嶆暟 - /// </summary> - private Button btnLength = null; - /// <summary> - /// 鑷冲皯鏈変竴涓ぇ鍐欏瓧姣� - /// </summary> - private Button btnUpper = null; - /// <summary> - /// 鑷冲皯鏈変竴涓皬鍐欏瓧姣� - /// </summary> - private Button btnLower = null; - /// <summary> - /// 鑷冲皯鏈変竴涓暟瀛楁垨绗﹀彿 - /// </summary> - private Button btnNumber = null; - /// <summary> - /// 鍏跺畠 - /// </summary> - private Button btnOther = null; - /// <summary> - /// 姝g‘鐨勫浘鏍� - /// </summary> - private string rightIcon = "鈭� "; - /// <summary> - /// 閿欒鐨勫浘鏍� - /// </summary> - private string wrongIcon = "脳 "; - /// <summary> - /// 瀵嗙爜闀垮害涓嶄綆浜�8浣嶆暟 - /// </summary> - private string LengthMsg = Language.StringByID(R.MyInternationalizationString.PswLengthMsg); - /// <summary> - /// 鑷冲皯鏈変竴涓ぇ鍐欏瓧姣� - /// </summary> - private string UpperMsg = Language.StringByID(R.MyInternationalizationString.PswLowerMsg); - /// <summary> - /// 鑷冲皯鏈変竴涓皬鍐欏瓧姣� - /// </summary> - private string LowerMsg = Language.StringByID(R.MyInternationalizationString.PswLowerMsg); - /// <summary> - /// 鑷冲皯鏈変竴涓暟瀛楁垨绗﹀彿 - /// </summary> - private string NumberMsg = Language.StringByID(R.MyInternationalizationString.PswNumberMsg); - - /// <summary> - /// 鍒濆鍖� - /// </summary> - /// <param name="width">Width.</param> - /// <param name="height">Height.</param> - public void Init(int width = 300, int height = 35) - { - //X杞村亸绉婚噺 - //int XX = UserCenterResourse.XXLeft; - - //btnLength = UserCenterControls.MakeViewButton(width, height, true); - //btnLength.X = XX; - //btnLength.Y = Application.GetRealHeight(6); - //btnLength.TextAlignment = TextAlignment.CenterLeft; - //btnLength.TextColor = UserCenterColor.Current.Red; - //btnLength.Text = wrongIcon + LengthMsg; - //this.AddChidren(btnLength); - - //btnUpper = UserCenterControls.MakeViewButton(width, height, true); - //btnUpper.X = XX; - //btnUpper.Y = btnLength.Bottom + Application.GetRealHeight(6); - //btnUpper.TextAlignment = TextAlignment.CenterLeft; - //btnUpper.TextColor = UserCenterColor.Current.Red; - //btnUpper.Text = wrongIcon + UpperMsg; - //this.AddChidren(btnUpper); - - //btnLower = UserCenterControls.MakeViewButton(width, height, true); - //btnLower.X = XX; - //btnLower.Y = btnUpper.Bottom + Application.GetRealHeight(6); - //btnLower.TextAlignment = TextAlignment.CenterLeft; - //btnLower.TextColor = UserCenterColor.Current.Red; - //btnLower.Text = wrongIcon + LowerMsg; - //this.AddChidren(btnLower); - - //btnNumber = UserCenterControls.MakeViewButton(width, height, true); - //btnNumber.X = XX; - //btnNumber.Y = btnLower.Bottom + Application.GetRealHeight(6); - //btnNumber.TextAlignment = TextAlignment.CenterLeft; - //btnNumber.TextColor = UserCenterColor.Current.Red; - //btnNumber.Text = wrongIcon + NumberMsg; - //this.AddChidren(btnNumber); - - //btnOther = UserCenterControls.MakeViewButton(width, height, true); - //btnOther.X = XX; - //btnOther.Y = btnNumber.Bottom + Application.GetRealHeight(6); - //btnOther.TextAlignment = TextAlignment.CenterLeft; - //btnOther.TextColor = UserCenterColor.Current.Red; - //this.AddChidren(btnOther); - } - - /// <summary> - /// 瀵嗙爜妫�娴� - /// </summary> - /// <returns><c>true</c>, if password was checked, <c>false</c> otherwise.</returns> - /// <param name="password">Password.</param> - public bool CheckPassword(string password) - { - btnOther.Visible = false; - - //鍒ゆ柇瀵嗙爜闀垮害 - bool flag1 = password.Length >= 8; - if (flag1) - { - btnLength.TextColor = UserCenterColor.Current.Green; - btnLength.Text = rightIcon + LengthMsg; - } - else - { - btnLength.TextColor = UserCenterColor.Current.Red; - btnLength.Text = wrongIcon + LengthMsg; - } - - //鍒ゆ柇鏄惁鍖呭惈澶у啓瀛楁瘝 - bool flag2 = UserCenterLogic.CheckContainUpper(password); - if (flag2 == true) - { - btnUpper.TextColor = UserCenterColor.Current.Green; - btnUpper.Text = rightIcon + UpperMsg; - } - else - { - btnUpper.TextColor = UserCenterColor.Current.Red; - btnUpper.Text = wrongIcon + UpperMsg; - } - - //鍒ゆ柇鏄惁鍖呭惈灏忓啓瀛楁瘝 - bool flag3 = UserCenterLogic.CheckContainLower(password); - if (flag3 == true) - { - btnLower.TextColor = UserCenterColor.Current.Green; - btnLower.Text = rightIcon + LowerMsg; - } - else - { - btnLower.TextColor = UserCenterColor.Current.Red; - btnLower.Text = wrongIcon + LowerMsg; - } - - //鍒ゆ柇鏄惁鍖呭惈鏁板瓧鎴栬�呯鍙� - bool flag4 = UserCenterLogic.CheckContainNum(password); - bool flag5 = UserCenterLogic.CheckContainSymbol(password); - if (flag4 == true && flag5 == true) - { - btnNumber.TextColor = UserCenterColor.Current.Green; - btnNumber.Text = rightIcon + NumberMsg; - } - else - { - btnNumber.TextColor = UserCenterColor.Current.Red; - btnNumber.Text = wrongIcon + NumberMsg; - } - IsError = flag1 && flag2 && flag3 && flag4 && flag5; - - return IsError; - } - - /// <summary> - /// 鍦ㄦ渶鍚庝竴琛屾樉绀哄叾瀹冮敊璇俊鎭� - /// </summary> - /// <param name="error">Error.</param> - public void ShowOtherError(string error) - { - IsError = true; - btnOther.Text = wrongIcon + error; - btnOther.Visible = true; - } - } -} \ No newline at end of file diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs index cd3d842..3afd627 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs @@ -72,27 +72,50 @@ #region 鈻� 鍏抽棴鐣岄潰___________________________ /// <summary> + /// 鐢婚潰鍏抽棴涔嬪墠(搴曞眰鍙樻洿,涓嶈兘閲嶈浇CloseForm鏂规硶浜�) + /// </summary> + public virtual void CloseFormBefore() + { + } + + /// <summary> + /// 鐢婚潰鍏抽棴涔嬪悗(鏂板) + /// </summary> + public virtual void CloseFormAfter() + { + } + + /// <summary> /// 鐢婚潰鍏抽棴 /// </summary> public virtual void CloseForm() { //Log鍑哄姏 HdlLogLogic.Current.WriteLog(1, this.FormID + " 鐣岄潰鍏抽棴"); + try + { + //绉婚櫎鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫� + this.RemoveGatewayOnlinePush(); + //绉婚櫎璁惧灞炴�у彉鏇存帹閫� + this.RemoveDeviceAttributePush(); - //绉婚櫎鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫� - this.RemoveGatewayOnlinePush(); - //绉婚櫎璁惧灞炴�у彉鏇存帹閫� - this.RemoveDeviceAttributePush(); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); + //璋冪敤鐨勬槸Base鐨勭Щ闄ゆ帶浠跺嚱鏁� + //鑰屼笉鏄皟鐢╰his鐨勭Щ闄ゆ帶浠跺嚱 + base.RemoveFromParent(); - //璋冪敤鐨勬槸Base鐨勭Щ闄ゆ帶浠跺嚱鏁� - //鑰屼笉鏄皟鐢╰his鐨勭Щ闄ゆ帶浠跺嚱 - base.RemoveFromParent(); - - //浠庡垪琛ㄤ腑绉婚櫎(闃叉鐢婚潰浜岄噸娣诲姞) - UserCenterLogic.RemoveActionForm(this); + //浠庡垪琛ㄤ腑绉婚櫎(闃叉鐢婚潰浜岄噸娣诲姞) + UserCenterLogic.RemoveActionForm(this); + } + catch (Exception ex) + { + //鍑虹幇鏈煡閿欒 + this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError)); + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(ex); + } } /// <summary> @@ -370,7 +393,6 @@ } var myMethod = form.GetType().GetMethod(method); return myMethod.Invoke(form, parameter); - //return form.GetType().InvokeMember(method, System.Reflection.BindingFlags.InvokeMethod, null, form, parameter); } catch (Exception ex) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomDialogSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs similarity index 97% rename from ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomDialogSelectForm.cs rename to ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs index 38dca06..6665467 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomDialogSelectForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomItemSelectForm.cs @@ -5,9 +5,9 @@ namespace Shared.Phone.UserCenter { /// <summary> - /// 搴曢儴寮圭獥閫夋嫨鐣岄潰(鍒楄〃鏁板敖鍙兘鍒紕閭d箞澶�) + /// 搴曢儴寮圭獥椤圭洰閫夋嫨鐣岄潰(鍒楄〃鏁板敖鍙兘鍒紕閭d箞澶�) /// </summary> - public class BottomDialogSelectForm : DialogCommonForm + public class BottomItemSelectForm : DialogCommonForm { #region 鈻� 鍙橀噺澹版槑___________________________ diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs new file mode 100755 index 0000000..1a9f925 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/BottomMenuSelectForm.cs @@ -0,0 +1,144 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 搴曢儴寮圭獥鐨勮彍鍗曢�夋嫨鎺т欢 + /// </summary> + public class BottomMenuSelectForm : DialogCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鑿滃崟楂樺害 + /// </summary> + private int menuHeight = Application.GetRealHeight(156); + /// <summary> + /// 鑿滃崟鎬绘暟 + /// </summary> + private int m_MenuCount = 0; + /// <summary> + /// 鑿滃崟妗屽竷鎺т欢 + /// </summary> + private FrameLayout frameMenuTable = null; + /// <summary> + /// 瀹瑰櫒 + /// </summary> + private FrameLayout frameAnimateTable = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="menuCount">鑿滃崟鎬绘暟(涓嶅惈鍙栨秷鑿滃崟)</param> + public void ShowForm(int menuCount) + { + this.m_MenuCount = menuCount; + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(menuCount); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + /// <param name="menuCount">鑿滃崟鎬绘暟(涓嶅惈鍙栨秷鑿滃崟)</param> + private void InitMiddleFrame(int menuCount) + { + //瀹瑰櫒 + int framebackHeight = this.menuHeight * (menuCount + 1) + Application.GetRealHeight(23) * 2; + this.frameAnimateTable = new FrameLayout(); + frameAnimateTable.Height = framebackHeight; + frameAnimateTable.Y = bodyFrameLayout.Height - framebackHeight; + bodyFrameLayout.AddChidren(frameAnimateTable); + + //鑿滃崟鐨勬甯冩帶浠� + this.frameMenuTable = new FrameLayout(); + frameMenuTable.Gravity = Gravity.CenterHorizontal; + frameMenuTable.Radius = 12; + frameMenuTable.Width = Application.GetRealWidth(1034); + frameMenuTable.Height = this.menuHeight * menuCount; + frameMenuTable.BackgroundColor = UserCenterColor.Current.White; + frameAnimateTable.AddChidren(frameMenuTable); + + //鍙栨秷 + var frameCancel = new FrameLayout(); + frameCancel.Y = frameAnimateTable.Height - this.menuHeight - Application.GetRealHeight(23); + frameCancel.Gravity = Gravity.CenterHorizontal; + frameCancel.Radius = 12; + frameCancel.Width = Application.GetRealWidth(1034); + frameCancel.Height = this.menuHeight; + frameCancel.BackgroundColor = UserCenterColor.Current.White; + frameAnimateTable.AddChidren(frameCancel); + var btnCancel = new NormalViewControl(Application.GetRealWidth(900), this.menuHeight, false); + btnCancel.Y = frameAnimateTable.Height - this.menuHeight - Application.GetRealHeight(23); + btnCancel.Gravity = Gravity.CenterHorizontal; + btnCancel.TextAlignment = TextAlignment.Center; + btnCancel.TextColor = 0xff0075ff; + btnCancel.TextSize = 17; + btnCancel.TextID = R.MyInternationalizationString.uCancel; + frameAnimateTable.AddChidren(btnCancel); + btnCancel.ButtonClickEvent += (sender, e) => + { + //鍏抽棴鐣岄潰 + this.CloseForm(); + }; + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 娣诲姞鑿滃崟 + /// </summary> + /// <param name="strMenu">鑿滃崟鏂囨湰</param> + /// <param name="selectEvent">鑿滃崟閫夋嫨鐨勪簨浠�</param> + /// <param name="clickClose">鑿滃崟鐐瑰嚮鏃�,鏄惁鏃犳潯浠跺叧闂晫闈�</param> + public void AddMenu(string strMenu, Action selectEvent, bool clickClose = true) + { + //绾� + if (this.frameMenuTable.ChildrenCount > 0) + { + var btnLine = new NormalViewControl(frameMenuTable.Width, ControlCommonResourse.BottomLineHeight, false); + btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine; + btnLine.Y = this.frameMenuTable.GetChildren(this.frameMenuTable.ChildrenCount - 1).Bottom; + this.frameMenuTable.AddChidren(btnLine); + } + + //鑿滃崟 + var btnMenu = new NormalViewControl(Application.GetRealWidth(900), this.menuHeight, false); + if (this.frameMenuTable.ChildrenCount > 0) + { + btnMenu.Y = this.frameMenuTable.GetChildren(this.frameMenuTable.ChildrenCount - 1).Bottom; + } + btnMenu.Gravity = Gravity.CenterHorizontal; + btnMenu.TextAlignment = TextAlignment.Center; + btnMenu.TextColor = 0xff0075ff; + btnMenu.TextSize = 17; + btnMenu.Text = strMenu; + this.frameMenuTable.AddChidren(btnMenu); + btnMenu.ButtonClickEvent += (sender, e) => + { + if (clickClose == true) + { + //鍏抽棴鐣岄潰 + this.CloseForm(); + } + selectEvent?.Invoke(); + selectEvent = null; + }; + + if ((this.frameMenuTable.ChildrenCount / 2) + 1 == this.m_MenuCount) + { + this.frameAnimateTable.Animate = Animate.DownToUp; + } + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DialogInputFrameControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs similarity index 91% rename from ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DialogInputFrameControl.cs rename to ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs index 2e11d1d..f29c96d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DialogInputFrameControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/DialogInputForm.cs @@ -9,7 +9,7 @@ /// <para>瀛愭帶浠舵坊鍔犲畬鎴愬悗锛岃璋冪敤銆怚nitLastControl銆戝嚱鏁板畬鎴愭渶鍚庣殑鍒濆鍖�(浠呴檺None妯″紡)</para> /// <para>纭鎸夐挳鐨勫崟鍑讳簨浠朵负锛欳omfirmClickEvent</para> /// </summary> - public class DialogInputFrameControl : FrameLayout + public class DialogInputForm : DialogCommonForm { #region 鈻� 鍙橀噺澹版槑___________________________ @@ -77,37 +77,20 @@ /// <para>瀛愭帶浠舵坊鍔犲畬鎴愬悗锛岃璋冪敤銆怓inishInitControl銆戝嚱鏁板畬鎴愭渶鍚庣殑鍒濆鍖�(浠呴檺None妯″紡)</para> /// <para>纭鎸夐挳鐨勫崟鍑讳簨浠朵负锛欳omfirmClickEvent</para> /// </summary> - /// <param name="mainFrame"> - /// <para>杞戒綋鐖舵帶浠�(浼氳嚜鍔ㄥ皢璇ユ帶浠跺姞鍏ユ杞戒綋鐖舵帶浠�)</para> - /// <para>鍙互涓虹┖,褰撲负绌烘椂,璇峰湪娣诲姞鍏ヨ浇浣撶埗鎺т欢鍚�,璋冪敤InitframeControl鍑芥暟杩涜鍒濆鍖�</para> - /// </param> /// <param name="i_dialogFrameMode">寮圭獥妯″紡</param> - public DialogInputFrameControl(FrameLayout mainFrame, DialogFrameMode i_dialogFrameMode = DialogFrameMode.None) + public void ShowForm(DialogFrameMode i_dialogFrameMode = DialogFrameMode.None) { this.dialogFrameMode = i_dialogFrameMode; - if (mainFrame != null) - { - mainFrame.AddChidren(this); - //鍒濆鍖栨甯冩帶浠� - this.InitframeControl(); - } + //鍒濆鍖栨甯冩帶浠� + this.InitMiddleFrame(); } /// <summary> /// 鍒濆鍖栨甯冩帶浠� /// </summary> - public void InitframeControl() + public void InitMiddleFrame() { - if (this.frameLayout != null) - { - this.frameLayout.RemoveAll(); - } - else - { - this.BackgroundColor = UserCenterColor.Current.DialogBackColor; - } - //杩欐槸涓�涓 this.frameLayout = new FrameLayout(); frameLayout.Height = Application.GetRealHeight(538); @@ -282,7 +265,7 @@ frameLayout.AddChidren(btnCancel); btnCancel.MouseUpEventHandler += (sender, e) => { - this.RemoveFromParent(); + this.CloseForm(); }; //纭 @@ -291,9 +274,15 @@ frameLayout.AddChidren(btnOk); btnOk.MouseUpEventHandler += (sender, e) => { + if (this.Text == string.Empty && this.txtInput != null && string.IsNullOrEmpty(this.txtInput.PlaceholderText) == false) + { + var alert = new ShowMsgControl(ShowMsgType.Error, this.txtInput.PlaceholderText); + alert.Show(); + return; + } if (this.ComfirmClickEvent == null) { - this.RemoveFromParent(); + this.CloseForm(); return; } this.ComfirmClickEvent(this.Text); @@ -334,10 +323,11 @@ /// <summary> /// 鐢婚潰鍏抽棴 /// </summary> - public void CloseDialog() + public override void CloseFormBefore() { this.ComfirmClickEvent = null; - this.RemoveFromParent(); + + base.CloseFormBefore(); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs new file mode 100755 index 0000000..c140919 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/NumberPswInputDialogForm.cs @@ -0,0 +1,105 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 鏁板瓧琛ㄧ洏瀵嗙爜杈撳叆鐨勫脊绐楃晫闈� + /// </summary> + public class NumberPswInputDialogForm : DialogCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 杈撳叆缁撴潫浜嬩欢 + /// </summary> + public Action<string> FinishInputEvent = null; + /// <summary> + /// 瀵嗙爜杈撳叆鎺т欢 + /// </summary> + private PswNumberInputControl pswControl = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_PasswordText">鏍囬鎻愮ず</param> + /// <param name="i_pswLenth">瀵嗙爜闀垮害</param> + public void ShowForm(string i_PasswordText, int i_pswLenth) + { + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(i_PasswordText, i_pswLenth); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + /// <param name="i_PasswordText">鏍囬鎻愮ず</param> + /// <param name="i_pswLenth">瀵嗙爜闀垮害</param> + private void InitMiddleFrame(string i_PasswordText, int i_pswLenth) + { + var frameBack = new FrameLayout(); + frameBack.Y = Application.GetRealHeight(160); + frameBack.Gravity = Gravity.CenterHorizontal; + frameBack.Width = Application.GetRealWidth(965); + frameBack.Height = Application.GetRealHeight(1584); + frameBack.BackgroundColor = UserCenterColor.Current.White; + frameBack.Radius = 6; + bodyFrameLayout.AddChidren(frameBack); + + //瀵嗙爜杈撳叆鎺т欢 + this.pswControl = new PswNumberInputControl(i_PasswordText, i_pswLenth); + pswControl.Gravity = Gravity.CenterHorizontal; + pswControl.Y = Application.GetRealHeight(81); + frameBack.AddChidren(pswControl); + pswControl.InitControl(); + //鏀瑰彉鍒犻櫎鎸夐挳鐨勫潗鏍� + pswControl.ChangedDeleteButtonPoint(-1, pswControl.Height, false); + //娣诲姞鍏抽棴鎸夐挳 + var btnClose = pswControl.AddCloseButton(); + btnClose.ButtonClickEvent += (sender, e) => + { + this.CloseForm(); + }; + pswControl.FinishInputEvent += (strPsw) => + { + this.FinishInputEvent?.Invoke(strPsw); + }; + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 璁剧疆閿欒淇℃伅 + /// </summary> + /// <param name="i_Msg"></param> + public void SetErrorMsg(string i_Msg) + { + this.pswControl?.SetErrorMsg(i_Msg); + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseFormBefore() + { + //鍙栨秷浜嬩欢 + this.FinishInputEvent = null; + this.pswControl = null; + + base.CloseFormBefore(); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs index 7017148..0467e69 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs @@ -75,7 +75,6 @@ } //瀵嗙爜閿欒锛岃閲嶆柊杈撳叆 pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uOldPsswordIsError)); - pswControl.ResetControlInfo(i_PasswordText, false); return; } //閲嶇疆鍓╀綑瀵嗙爜娆℃暟 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs index e92ecfe..af1fb24 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs @@ -500,11 +500,11 @@ string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile); if (System.IO.File.Exists(fullName) == false) { - Application.RunOnMainThread(() => - { - var form = new HdlBackup.HdlAutoBackupSettionForm(); - form.AddForm(); - }); + //Application.RunOnMainThread(() => + //{ + // var form = new HdlBackup.HdlAutoBackupSettionForm(); + // form.AddForm(); + //}); return; } BackupNotPrompted info = null; @@ -517,12 +517,12 @@ } if (info.Day == 0) { - Application.RunOnMainThread(() => - { - var form = new HdlBackup.HdlAutoBackupSettionForm(); - form.AddForm(); - }); - return; + //Application.RunOnMainThread(() => + //{ + // var form = new HdlBackup.HdlAutoBackupSettionForm(); + // form.AddForm(); + //}); + //return; } DateTime oldTime = Convert.ToDateTime(info.OldDay); @@ -530,11 +530,11 @@ //鏃堕棿宸茬粡瓒呰繃 if (intDay > info.Day) { - Application.RunOnMainThread(() => - { - var form = new HdlBackup.HdlAutoBackupSettionForm(); - form.AddForm(); - }); + //Application.RunOnMainThread(() => + //{ + // var form = new HdlBackup.HdlAutoBackupSettionForm(); + // form.AddForm(); + //}); } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs index b8c406b..24712e7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs @@ -141,9 +141,11 @@ { //璁剧疆绌鸿皟妯″紡澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uSetAcModeFail); - this.ShowTipMsg(msg); ; + this.ShowTipMsg(msg); return false; } + await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A绌鸿皟鑷畾涔夋ā寮�, data); + return true; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs index cbd5a0a..9801090 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceCurtainLogic.cs @@ -139,7 +139,7 @@ /// <param name="upLimit">涓婇檺浣嶇殑鍊�,鐧惧垎姣�(澶囦唤鐢�)</param> /// <param name="downLimit">涓嬮檺浣嶇殑鍊�,鐧惧垎姣�(澶囦唤鐢�)</param> /// <returns></returns> - public async Task<bool> CommitCurtainLimitPoint(Rollershade rollershade, Rollershade.CurtainPrivateInstalledLimi limiType,int upLimit,int downLimit) + public async Task<bool> CommitCurtainLimitPoint(Rollershade rollershade, Rollershade.CurtainPrivateInstalledLimi limiType, int upLimit, int downLimit) { var result = await rollershade.SetCurtainInstalledLimitAsync(limiType); //妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜 @@ -171,7 +171,7 @@ //澶囦唤璁惧 await this.BackupCurtainLimitPoint(rollershade, upLimit, downLimit); } - + return true; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs new file mode 100755 index 0000000..b641687 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayBackupLogic.cs @@ -0,0 +1,346 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 缃戝叧澶囦唤涓氬姟鐨勯�昏緫 + /// </summary> + public class HdlGatewayBackupLogic + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 澶囦唤涓氬姟鐨勯�昏緫 + /// </summary> + private static HdlGatewayBackupLogic m_Current = null; + /// <summary> + /// 澶囦唤涓氬姟鐨勯�昏緫 + /// </summary> + public static HdlGatewayBackupLogic Current + { + get + { + if (m_Current == null) + { + m_Current = new HdlGatewayBackupLogic(); + } + return m_Current; + } + } + + #endregion + + #region 鈻� 缃戝叧澶囦唤___________________________ + + /// <summary> + /// 缃戝叧鎵ц澶囦唤 + /// </summary> + /// <param name="realGateway">鐪熷疄鐗╃悊缃戝叧瀵硅薄</param> + /// <param name="backupName">闇�瑕佸垱寤虹殑澶囦唤鐨勫悕瀛�</param> + public async void DoBackupGateway(ZbGateway realGateway, string backupName) + { + //灞曞紑杩涘害鏉� + ProgressFormBar.Current.Start(); + //鍒涘缓澶囦唤鏂囦欢 + ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uCreatBackupFile)); + await System.Threading.Tasks.Task.Delay(1000); + + //鍒涘缓涓�涓浠藉悕瀛� + string backupClassId = await HdlBackupLogic.Current.CreatNewBackupNameToDB(backupName, 2, HdlGatewayLogic.Current.GetGatewayId(realGateway)); + if (backupClassId == null) + { + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); + return; + } + + //淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅 + bool result = this.SaveNVFile(realGateway); + if (result == false) + { + //濡傛灉涓婁紶澶辫触鐨勮瘽锛屽氨鎶婂畠鍒犻櫎 + await HdlBackupLogic.Current.DeleteDbBackupData(backupClassId); + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); + return; + } + + //鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳� + result = this.OpenZbMsComSend(realGateway); + if (result == false) + { + //濡傛灉涓婁紶澶辫触鐨勮瘽锛屽氨鎶婂畠鍒犻櫎 + await HdlBackupLogic.Current.DeleteDbBackupData(backupClassId); + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); + return; + } + + //寮�濮嬩笂浼犳暟鎹� + result = this.StartUpLoadData(realGateway, backupClassId); + if (result == false) + { + //濡傛灉涓婁紶澶辫触鐨勮瘽锛屽氨鎶婂畠鍒犻櫎 + await HdlBackupLogic.Current.DeleteDbBackupData(backupClassId); + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); + return; + } + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); + } + + #endregion + + #region 鈻� 淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅_________ + + /// <summary> + /// 淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅 + /// </summary> + /// <param name="realGateway"></param> + /// <returns></returns> + private bool SaveNVFile(ZbGateway realGateway) + { + //姝e湪淇濆瓨鍗忚皟鍣╪v鍒嗗尯缁勭綉淇℃伅 + ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uGatewayNVFileSaving)); + ProgressFormBar.Current.SetValue(0); + System.Threading.Thread.Sleep(1000); + + int result = -1; + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + if (topic == gatewayID + "/" + "ZbGwOperation/SaveNVFile_Respon") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + result = Convert.ToInt32(jobject["Data"]["Flag"].ToString()); + } + }; + realGateway.Actions += action; + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 500 } }; + var data = new Newtonsoft.Json.Linq.JObject { { "ImageName", "NVImage.bin" }, { "ImagePath", "/etc/hdlDat/" } }; + jObject.Add("Data", data); + realGateway.Send("ZbGwOperation/SaveNVFile", jObject.ToString()); + + int TimeOut = 0; + while (result == -1 && TimeOut < 60) + { + System.Threading.Thread.Sleep(1000); + TimeOut++; + ProgressFormBar.Current.SetValue2(TimeOut, 60); + } + realGateway.Actions -= action; + if (result != 0) + { + //淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uSaveGatewayNVFileFail); + if (result == -1) + { + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + } + this.ShowErrorMsg(msg); + return false; + } + + return true; + } + + #endregion + + #region 鈻� 鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳絖____________ + + /// <summary> + /// 鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳� + /// </summary> + /// <param name="realGateway"></param> + /// <returns></returns> + private bool OpenZbMsComSend(ZbGateway realGateway) + { + //姝e湪鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳� + ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uZbMsComSendOpening)); + ProgressFormBar.Current.SetValue(0); + System.Threading.Thread.Sleep(1000); + + int result = -1; + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + if (topic == gatewayID + "/" + "OpenZbMsComSend_Respon") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + result = Convert.ToInt32(jobject["Data"]["Status"].ToString()); + } + }; + realGateway.Actions += action; + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 6119 } }; + realGateway.Send("OpenZbMsComSend", jObject.ToString()); + + int TimeOut = 0; + while (result == -1 && TimeOut < 30) + { + System.Threading.Thread.Sleep(100); + TimeOut++; + } + realGateway.Actions -= action; + if (result != 0) + { + //鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳藉け璐� + string msg = Language.StringByID(R.MyInternationalizationString.uOpenZbMsComSendFail); + if (result == -1) + { + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + } + this.ShowErrorMsg(msg); + return false; + } + + return true; + } + + #endregion + + #region 鈻� 寮�濮嬬綉鍏虫暟鎹浠絖__________________ + + /// <summary> + /// 寮�濮嬩笂浼犳暟鎹� + /// </summary> + /// <param name="realGateway"></param> + /// <param name="backupClassId"></param> + private bool StartUpLoadData(ZbGateway realGateway, string backupClassId) + { + //寮�濮嬪浠界綉鍏虫暟鎹� + ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uStartBackupgatewayData)); + ProgressFormBar.Current.SetValue(0); + System.Threading.Thread.Sleep(1000); + + bool threadAction = true; + bool success = false; + //绛夊緟鏃堕棿 + int waitime = 60; + //璁℃椂鏃堕棿 + int TimeOut = 0; + + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + if (topic == gatewayID + "/BackupGwDataFile_Respon") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + var statu = Convert.ToInt32(jobject["Data"]["Status"].ToString()); + if (statu == 1) + { + threadAction = false; + //缃戝叧鏁版嵁澶囦唤澶辫触 + this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uBackupgatewayDataFail)); + return; + } + if (statu == 2) + { + threadAction = false; + success = true; + //涓婁紶鏁版嵁鎴愬姛 + string msg2 = Language.StringByID(R.MyInternationalizationString.uUploadDataSuccess); + this.ShowTipMsg(msg2); + } + //灏嗘椂闂村埛鏂�,鐒跺悗绛夊緟鏃堕棿鍙樻洿涓�30绉� + TimeOut = 0; + waitime = 300; + } + else if (topic == gatewayID + "/BackupGwDataFileProgress_Respon") + { + //鍒锋柊绛夊緟鏃堕棿 + TimeOut = 0; + //涓婁紶杩涘害鐧惧垎姣� + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + var statu = Convert.ToInt32(jobject["Data"]["Status"].ToString()); + if (statu != 0) + { + threadAction = false; + //缃戝叧鏁版嵁澶囦唤澶辫触 + this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uBackupgatewayDataFail)); + return; + } + //璁剧疆杩涘害鐧惧垎姣� + var persent = Convert.ToInt32(jobject["Data"]["BackupPercent"].ToString()); + ProgressFormBar.Current.SetValue2(persent, 100); + } + }; + realGateway.Actions += action; + + //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� + string fullUrl = string.Empty; + var connectMode = UserCenterLogic.GetHttpConnectMode(true); + if (connectMode == HttpConnectMode.Normal) + { + //鏅�氳闂� + fullUrl = $"{Common.CommonPage.RequestHttpsHost}/{"App/UploadHomeAppGatewaySubFiles"}"; + } + else if (connectMode == HttpConnectMode.Admin) + { + //浠ョ鐞嗗憳鐨勮韩浠借闂紝鑷韩鏄垚鍛� + fullUrl = $"{Common.Config.Instance.AdminRequestBaseUrl}/{"App/UploadHomeAppGatewaySubFiles"}"; + } + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 6200 } }; + var data = new Newtonsoft.Json.Linq.JObject { + { "url", fullUrl }, { "RequestVersion", Common.CommonPage.RequestVersion }, + { "LoginAccessToken", UserCenterLogic.GetConnectMainToken() }, { "BackupClassId", backupClassId }, + { "ManualBackupType", 2 },{ "IsOtherAccountCtrl",connectMode == HttpConnectMode.Admin?1:0} + }; + jObject.Add("Data", data); + realGateway.Send("BackupGwDataFile", jObject.ToString()); + + while (threadAction == true && TimeOut < waitime) + { + System.Threading.Thread.Sleep(100); + TimeOut++; + } + realGateway.Actions -= action; + if (TimeOut >= waitime) + { + //鍝嶅簲瓒呮椂,缃戝叧鏁版嵁澶囦唤澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uResponseTimeoutsAndBackupgatewayDataFail); + this.ShowErrorMsg(msg); + return false; + } + return success; + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鏄剧ず閿欒淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowErrorMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Error, msg); + contr.Show(); + }); + } + + /// <summary> + /// 鏄剧ずTip淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowTipMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, msg); + contr.Show(); + }); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index 7bfa527..168cc2b 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -15,11 +15,11 @@ #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> - /// 澶囦唤涓氬姟鐨勯�昏緫 + /// 缃戝叧涓氬姟鐨勯�昏緫绫� /// </summary> private static HdlGatewayLogic m_Current = null; /// <summary> - /// 澶囦唤涓氬姟鐨勯�昏緫 + /// 缃戝叧涓氬姟鐨勯�昏緫绫� /// </summary> public static HdlGatewayLogic Current { @@ -179,20 +179,34 @@ #region 鈻� 娣诲姞缃戝叧___________________________ /// <summary> - /// 娣诲姞鏂扮綉鍏�(浠呴檺杩藉姞鏂扮殑缃戝叧 1:姝e父 -1:寮傚父 0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈�) + /// 娣诲姞鏂扮綉鍏�(浠呴檺杩藉姞鏂扮殑缃戝叧) /// </summary> /// <param name="zbGateway">缃戝叧</param> /// <param name="mode">鏄惁鏄剧ず閿欒</param> - public async Task<int> AddNewGateway(ZbGateway zbGateway, ShowErrorMode mode) + public async Task<bool> AddNewGateway(ZbGateway zbGateway, ShowErrorMode mode) { //鎵ц娣诲姞缃戝叧鍒板唴瀛� var result = await this.DoAddGatewayToMemory(zbGateway, mode); + //鍓嶇殑缃戝叧缁戝畾鍦ㄤ簡褰撳墠璐﹀彿涓嬬殑涓嶅悓浣忓畢閲岄潰 + if (result == 0) + { + if (mode == ShowErrorMode.YES) + { + //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯 + string msg = Language.StringByID(R.MyInternationalizationString.uTheGatewayInOtherResidenceMsg); + if (msg.Contains("{0}") == true) + { + msg = string.Format(msg, "\r\n"); + } + this.ShowTipMsg(msg); + } + return false; + } if (result != 1) { - return result; + return false; } - - return 1; + return true; } /// <summary> @@ -1013,6 +1027,198 @@ #endregion + #region 鈻� 鑾峰彇鍗忚皟鍣ㄥ綋鍓嶄俊閬揰________________ + + /// <summary> + /// 鑾峰彇鍗忚皟鍣ㄥ綋鍓嶄俊閬�(浼氭湁绛夊緟寤惰繜,杩斿洖-1浠h〃閿欒) + /// </summary> + /// <param name="zbGateway"></param> + /// <returns></returns> + public int GetGatewayChannelId(ZbGateway zbGateway) + { + ZbGateway realWay = null; + if (this.GetRealGateway(ref realWay, zbGateway) == false) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg)); + return -1; + } + ChannelIdInfo data = null; + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + if (topic == gatewayID + "/" + "ZbGw/GetChannel_Respon") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + data = Newtonsoft.Json.JsonConvert.DeserializeObject<ChannelIdInfo>(jobject["Data"].ToString()); + } + }; + realWay.Actions += action; + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 64512 }, { "Command", 8 } }; + realWay.Send("ZbGw/GetChannel", jObject.ToString()); + + int TimeOut = 0; + while (data == null && TimeOut < 30) + { + System.Threading.Thread.Sleep(100); + TimeOut++; + } + + realWay.Actions -= action; + if (data == null) + { + //鑾峰彇鍗忚皟鍣ㄤ俊閬撳け璐� + string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayChannelIdFail); + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + this.ShowTipMsg(msg); + return -1; + } + + return data.Channel; + } + + /// <summary> + /// 缃戝叧淇¢亾淇℃伅 + /// </summary> + private class ChannelIdInfo + { + /// <summary> + /// 缃戝叧淇¢亾 + /// </summary> + public int Channel = -1; + } + + #endregion + + #region 鈻� 鑾峰彇鍗忚皟鍣∕AC______________________ + + /// <summary> + /// 鑾峰彇鍗忚皟鍣∕AC鍦板潃(浼氭湁绛夊緟寤惰繜,杩斿洖null浠h〃閿欒) + /// </summary> + /// <param name="zbGateway"></param> + /// <returns></returns> + public string GetGatewayCoordinatorMac(ZbGateway zbGateway) + { + ZbGateway realWay = null; + if (this.GetRealGateway(ref realWay, zbGateway) == false) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg)); + return null; + } + CoordinatorMacInfo data = null; + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + if (topic == gatewayID + "/" + "ZbGw/GetMac_Respon") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + data = Newtonsoft.Json.JsonConvert.DeserializeObject<CoordinatorMacInfo>(jobject["Data"].ToString()); + } + }; + realWay.Actions += action; + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 64512 }, { "Command", 13 } }; + realWay.Send("ZbGw/GetMac", jObject.ToString()); + + int TimeOut = 0; + while (data == null && TimeOut < 30) + { + System.Threading.Thread.Sleep(100); + TimeOut++; + } + + realWay.Actions -= action; + if (data == null) + { + //鑾峰彇鍗忚皟鍣∕ac澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayCoordinatorMacFail); + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + this.ShowTipMsg(msg); + return null; + } + + return data.MacAddr; + } + + /// <summary> + /// 缃戝叧鍗忚皟鍣∕ac淇℃伅 + /// </summary> + private class CoordinatorMacInfo + { + /// <summary> + /// 璋冨櫒Mac + /// </summary> + public string MacAddr = string.Empty; + } + + #endregion + + #region 鈻� 鑾峰彇鍗忚皟鍣≒anID____________________ + + /// <summary> + /// 鑾峰彇鍗忚皟鍣≒anID(浼氭湁绛夊緟寤惰繜,杩斿洖-1浠h〃閿欒) + /// </summary> + /// <param name="zbGateway"></param> + /// <returns></returns> + public int GetGatewayPanId(ZbGateway zbGateway) + { + ZbGateway realWay = null; + if (this.GetRealGateway(ref realWay, zbGateway) == false) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + this.ShowTipMsg(Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg)); + return -1; + } + PanIdInfo data = null; + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + if (topic == gatewayID + "/" + "ZbGw/GetPanId_Respon") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + data = Newtonsoft.Json.JsonConvert.DeserializeObject<PanIdInfo>(jobject["Data"].ToString()); + } + }; + realWay.Actions += action; + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 64512 }, { "Command", 12 } }; + realWay.Send("ZbGw/GetPanId", jObject.ToString()); + + int TimeOut = 0; + while (data == null && TimeOut < 30) + { + System.Threading.Thread.Sleep(100); + TimeOut++; + } + + realWay.Actions -= action; + if (data == null) + { + //鑾峰彇鍗忚皟鍣≒anID澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayPanIDFail); + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + this.ShowTipMsg(msg); + return -1; + } + + return data.PANID; + } + + /// <summary> + /// 缃戝叧PanId淇℃伅 + /// </summary> + private class PanIdInfo + { + /// <summary> + /// PanId + /// </summary> + public int PANID = -1; + } + + #endregion + #region 鈻� 鑾峰彇缃戝叧GwInfo閲岄潰鐨勫睘鎬__________ /// <summary> @@ -1044,44 +1250,6 @@ { //鑾峰彇鏈湴鐨勫睘鎬� objValue = localWay.getGwInfo.GetType().InvokeMember(attributeName, System.Reflection.BindingFlags.GetField, null, localWay.getGwInfo, null); - } - - if (objValue == null) - { - return defult; - } - return objValue; - } - - /// <summary> - /// 鑾峰彇缃戝叧GatewayBaseInfo閲岄潰鐨勫睘鎬� - /// </summary> - /// <param name="zbGateway">缃戝叧瀵硅薄</param> - /// <param name="attributeName">GatewayBaseInfo閲岄潰灞炴�х殑鍚嶅瓧</param> - /// <param name="defult">濡傛灉鑾峰彇涓嶅埌鏃讹紝璁剧疆鐨勯粯璁ゅ��</param> - /// <returns></returns> - public object GetGatewayBaseInfoAttribute(ZbGateway zbGateway, string attributeName, string defult = "") - { - string gwID = this.GetGatewayId(zbGateway); - var localWay = this.GetLocalGateway(gwID); - - object objValue = null; - if (localWay == null || localWay.getGatewayBaseInfo == null) - { - //鏈湴娌℃湁璁板綍鏈夎繖涓笢瑗�,鍒欑洿鎺ヨ繑鍥炲弬鏁扮殑鏁版嵁 - if (zbGateway.getGatewayBaseInfo != null) - { - objValue = zbGateway.getGatewayBaseInfo.GetType().InvokeMember(attributeName, System.Reflection.BindingFlags.GetField, null, zbGateway.getGatewayBaseInfo, null); - } - else - { - return defult; - } - } - else - { - //鑾峰彇鏈湴灞炴�� - objValue = localWay.getGatewayBaseInfo.GetType().InvokeMember(attributeName, System.Reflection.BindingFlags.GetField, null, localWay.getGatewayBaseInfo, null); } if (objValue == null) @@ -1966,6 +2134,74 @@ #endregion + #region 鈻� 璁剧疆缃戝叧缁忕含搴____________________ + + /// <summary> + /// 璁剧疆缃戝叧缁忕含搴� + /// </summary> + /// <param name="gateway">缃戝叧瀵硅薄</param> + /// <param name="Longitude">缁忓害</param> + /// <param name="Latitude">缁村害</param> + /// <returns></returns> + public bool SetGatewaySite(ZbGateway gateway, double Longitude, double Latitude) + { + ZbGateway realWay = null; + if (this.GetRealGateway(ref realWay, gateway) == false) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg); + this.ShowTipMsg(msg); + return false; + } + + int result = -1; + Action<string, string> action = (topic, message) => + { + var gatewayID = topic.Split('/')[0]; + if (topic == gatewayID + "/" + "Logic/SetSite_Respon") + { + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + result = Convert.ToInt32(jobject["Data"]["Result"].ToString()); + } + }; + realWay.Actions += action; + //涓や綅灏忔暟 + Longitude = Math.Round(Longitude, 2); + Latitude = Math.Round(Latitude, 2); + + int intLongitude = Convert.ToInt32(Longitude.ToString().Replace(".", string.Empty)); + int intLatitude = Convert.ToInt32(Latitude.ToString().Replace(".", string.Empty)); + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 2013 } }; + var data = new Newtonsoft.Json.Linq.JObject { { "Longitude", intLongitude }, { "Latitude", intLatitude } }; + jObject.Add("Data", data); + realWay.Send("Logic/SetSite", jObject.ToString()); + + int TimeOut = 0; + while (result == -1 && TimeOut < 30) + { + System.Threading.Thread.Sleep(100); + TimeOut++; + } + + realWay.Actions -= action; + if (result != 0) + { + //璁剧疆缃戝叧缁忕含搴﹀け璐� + string msg = Language.StringByID(R.MyInternationalizationString.uSetGatewaySiteFail); + if (result == -1) + { + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + } + this.ShowTipMsg(msg); + return false; + } + + return true; + } + + #endregion + #region 鈻� 瑙g粦浜戠缃戝叧_______________________ /// <summary> @@ -2120,6 +2356,7 @@ { //鑾峰彇浠庝簯绔偅閲屽緱鏉ョ殑鍏ㄩ儴鏂囦欢 var listBackFile = HdlAutoBackupLogic.GetFileFromDirectory(UserCenterLogic.CombinePath(backDirectory)); + listBackFile.Sort(); //娣诲姞闄勫姞鎯呮姤:杩樺師璁惧閰嶇疆 ProgressBar.SetAppendText(Language.StringByID(R.MyInternationalizationString.uRecoverDeviceSettion)); ProgressBar.SetMaxValue(listBackFile.Count); @@ -2276,12 +2513,62 @@ } else if (backType == GatewayBackupEnum.A绐楀笜鏂瑰悜) { + var statu = Newtonsoft.Json.JsonConvert.DeserializeObject<bool>(System.Text.Encoding.UTF8.GetString(byteData)); + result = await HdlDeviceCurtainLogic.Current.SetCurtainDirection((Rollershade)device, statu); } else if (backType == GatewayBackupEnum.A绐楀笜鎵嬫媺鎺у埗) { + var statu = Newtonsoft.Json.JsonConvert.DeserializeObject<bool>(System.Text.Encoding.UTF8.GetString(byteData)); + result = await HdlDeviceCurtainLogic.Current.SetHandPullControl((Rollershade)device, statu); } else if (backType == GatewayBackupEnum.A绐楀笜涓婁笅闄愪綅) { + var curtainDevice = (Rollershade)device; + var recoverData = Newtonsoft.Json.JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JObject>(System.Text.Encoding.UTF8.GetString(byteData)); + int upLimit = Convert.ToInt32(recoverData["upLimit"]); + int downLimit = Convert.ToInt32(recoverData["downLimit"]); + //鍏堥噸缃獥甯� + result = await HdlDeviceCurtainLogic.Current.RestoreCurtain(curtainDevice); + if (result == false) { return -1; } + await Task.Delay(5000); + //閲嶇疆涓婇檺浣� + result = await HdlDeviceCurtainLogic.Current.DeleteCurtainLimitPoint(curtainDevice, Rollershade.LimiType.UpLimit); + if (result == false) { return -1; } + //灏嗙獥甯樿皟鏁村埌鎸囧畾鐧惧垎姣� + curtainDevice.WcdGoToTiltValue(upLimit); + await Task.Delay(3000); + //鎵ц纭鍙婅鐩栫獥甯橀檺浣嶇偣 + result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.UpLimit, -1, -1); + if (result == false) { return -1; } + + await Task.Delay(2000); + //閲嶇疆涓嬮檺浣� + result = await HdlDeviceCurtainLogic.Current.DeleteCurtainLimitPoint(curtainDevice, Rollershade.LimiType.DownLimit); + if (result == false) { return -1; } + //灏嗙獥甯樿皟鏁村埌鎸囧畾鐧惧垎姣� + curtainDevice.WcdGoToTiltValue(downLimit); + await Task.Delay(3000); + //鎵ц纭鍙婅鐩栫獥甯橀檺浣嶇偣 + result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.DownLimit, -1, -1); + } + else if (backType == GatewayBackupEnum.A绌鸿皟鑷畾涔夋ā寮�) + { + var data = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(System.Text.Encoding.UTF8.GetString(byteData)); + result = await HdlDeviceAirConditionerLogic.Current.SetAcModeSupport((AC)device, data); + if (result == true) + { + //杞崲涓轰簩杩涘埗 + var value = Convert.ToString(data, 2).PadLeft(16, '0'); + //杩欎簲涓缃槸鏀惧湪鍚庨潰鐨� + var fixValue = value.Substring(0, value.Length - 5); + var reportValue = value.Substring(fixValue.Length); + //鏇存敼缂撳瓨 + for (int i = 0; i < reportValue.Length; i++) + { + ((AC)device).listSupportMode[i] = Convert.ToInt32(reportValue[i]); + } + device.ReSave(); + } } return result == true ? 1 : -1; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs index e5b8bcd..9f5fe85 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs @@ -1640,22 +1640,13 @@ /// </summary> public async Task<string> ShowInputUserPasswordForm() { - //鑾峰彇褰撳墠姝e湪婵�娲荤殑鐢婚潰 - var form = UserCenterLogic.GetNowActionForm(); - if (form == null) - { - //杩欑鎯呭喌搴旇涓嶅瓨鍦� - this.ShowErrorMsg("ERROR:Not Found The ActionForm!"); - return null; - } - - DialogInputFrameControl Dialogform = null; + NumberPswInputDialogForm Dialogform = null; bool isShowingProgressBar = false; string ProgressBarText = string.Empty; string pasword = null; - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { isShowingProgressBar = CommonPage.Loading.Visible; ProgressBarText = CommonPage.Loading.Text; @@ -1665,21 +1656,12 @@ CommonPage.Loading.Hide(); } - Dialogform = new DialogInputFrameControl(form, DialogFrameMode.OnlyPassword); - //鐢ㄦ埛瀵嗙爜 - Dialogform.SetTitleText(Language.StringByID(R.MyInternationalizationString.uSafetyPassword)); - //璁剧疆鎻愮ず淇℃伅:璇疯緭鍏ョ敤鎴峰瘑鐮� - Dialogform.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword)); + Dialogform = new NumberPswInputDialogForm(); + Dialogform.AddForm(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword), 4); //纭鎸夐挳 - Dialogform.ComfirmClickEvent += ((textValue) => + Dialogform.FinishInputEvent += ((textValue) => { - if (textValue == string.Empty) - { - this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword)); - return; - } - Dialogform.CloseDialog(); - + Dialogform.CloseForm(); //鐢ㄦ埛瀵嗙爜 pasword = textValue; //鍔犲瘑瀵嗙爜 @@ -1874,36 +1856,66 @@ /// <summary> /// 璁剧疆鑳佽揩鐨勮仈绯讳汉鏂瑰紡 /// </summary> - /// <param name="dicPhone">keys:鑱旂郴鏂瑰紡 values:鍦板尯鐮�</param> + /// <param name="listPhone">鍦板尯鐮�-鑱旂郴鏂瑰紡</param> + /// <param name="listNote">鑱旂郴浜哄娉�</param> + /// <param name="addPhone">鏄惁鏄柊寤鸿仈绯讳汉,false鐨勬椂鍊�,鍙敼澶囨敞</param> /// <returns></returns> - public async Task<bool> SetCoercePhoneNumber(Dictionary<string, string> dicPhone) + public async Task<bool> SetCoercePhoneNumber(List<string> listPhone, List<string> listNote, bool addPhone = true) { - var Pra = new Safeguard.SetCoercePhoneNumberData(); - var Actonobj = new Safeguard.PushTargetActionObj(); - Actonobj.Type = 2; - Pra.Actions.Add(Actonobj); - Pra.LoginToken = this.GetLoginToken(); - - foreach (string phoneNum in dicPhone.Keys) + if (addPhone == true) { - var phoneInfo = new Safeguard.PushTargetInfo(); - Actonobj.PushTarget.Add(phoneInfo); - //鐢佃瘽鍙风爜 - phoneInfo.PushNumber = dicPhone[phoneNum] + "-" + phoneNum; - } + var Pra = new Safeguard.SetCoercePhoneNumberData(); + var Actonobj = new Safeguard.PushTargetActionObj(); + Actonobj.Type = 2; + Pra.Actions.Add(Actonobj); + Pra.LoginToken = this.GetLoginToken(); - var result = await Safeguard.SetCoercePhoneNumberAsync(Pra); - if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0) + for (int i = 0; i < listPhone.Count; i++) + { + var phoneInfo = new Safeguard.PushTargetInfo(); + Actonobj.PushTarget.Add(phoneInfo); + //鐢佃瘽鍙风爜 + phoneInfo.PushNumber = listPhone[i]; + } + var result = await Safeguard.SetCoercePhoneNumberAsync(Pra); + if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0) + { + //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail); + //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result); + + this.ShowErrorMsg(msg); + return false; + } + } + for (int i = 0; i < listNote.Count; i++) { - //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail); - //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg - msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result); - - this.ShowErrorMsg(msg); - return false; + var result = await Safeguard.SetCoercePhoneNumberNoteAsync(listPhone[i], listNote[i]); + if (result == null) + { + //淇敼澶囨敞淇℃伅澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail); + //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + this.ShowErrorMsg(msg); + return false; + } + if (result.Result == -2) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg); + this.ShowErrorMsg(msg); + return false; + } + if (result.Result != 0) + { + //淇敼澶囨敞淇℃伅澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail); + this.ShowErrorMsg(msg); + return false; + } } - return true; } @@ -1939,6 +1951,29 @@ } return true; + } + + /// <summary> + /// 缁欒仈绯诲彿鐮佹坊鍔犲娉ㄧ殑淇℃伅 + /// </summary> + private class AddPushNumberNoteInfo + { + /// <summary> + /// 鍥哄畾253 + /// </summary> + public int ActionType = 253; + /// <summary> + /// LoginToken + /// </summary> + public string LoginToken = string.Empty; + /// <summary> + /// 鍦板尯鐮�-鑱旂郴鏂瑰紡 + /// </summary> + public string PushNumber = string.Empty; + /// <summary> + /// 鑱旂郴浜哄彿鐮佸娉紝鏈�澶�63byte + /// </summary> + public string PushNumberNote = string.Empty; } #endregion @@ -2201,10 +2236,11 @@ /// 鑾峰彇鐧婚檰鑰呯殑Token(濂藉儚绠$悊鍛樼櫥闄嗙殑鏃跺��,闇�瑕佸彉鏇碩oken,鎵�浠ユ殏涓斿畾涔変竴涓嚱鏁板嚭鏉�) /// </summary> /// <returns></returns> - private string GetLoginToken() + public string GetLoginToken() { //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken - return UserCenterLogic.GetConnectMainToken(); + //return UserCenterLogic.GetConnectMainToken(); + return Config.Instance.Token; } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs new file mode 100755 index 0000000..b8058f2 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs @@ -0,0 +1,121 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// WiFi鐨勯�昏緫 + /// </summary> + public class HdlWifiLogic + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// WiFi鐨勯�昏緫 + /// </summary> + private static HdlWifiLogic m_Current = null; + /// <summary> + /// WiFi鐨勯�昏緫 + /// </summary> + public static HdlWifiLogic Current + { + get + { + if (m_Current == null) + { + m_Current = new HdlWifiLogic(); + } + return m_Current; + } + } + + /// <summary> + /// 褰撳墠wifi鐨凷SID,涔熷彨Wifi鐨勫悕瀛� + /// </summary> + public string SSID + { + get + { + string ssiD = Shared.WiimuUPnP.SSID; + if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\"")) + { + ssiD = ssiD.Substring(1, ssiD.Length - 2); + } + return ssiD; + } + } +#if Android + /// <summary> + /// 瀹氫箟鍏ㄥ眬鍙橀噺 + /// </summary> + private Com.Hdl.Hdlelianzigbee.ElianNative hdlWiFi = null; +#endif + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + +#if Android + /// <summary> + /// 寮�濮媁i-Fi閰嶇綉 + /// </summary> + /// <param name="wifiName">wifi鍚嶅瓧</param> + /// <param name="wifiPsw">wifi瀵嗙爜</param> + /// <param name="p2">鎴戜篃涓嶇煡閬撹繖涓槸浠�涔堜笢瑗�</param> + /// <returns></returns> + public bool StartSmartConnection(string wifiName, string wifiPsw, string p2 = "1") + { + if (hdlWiFi == null) + { + //鍒濆鍖朩i-Fi閰嶇綉 + this.hdlWiFi = new Com.Hdl.Hdlelianzigbee.ElianNative(); + hdlWiFi.InitSmartConnection(null, 1, 1); + } + //寮�濮媁i-Fi閰嶇綉 + var result = hdlWiFi.StartSmartConnection(wifiName, wifiPsw, p2); + return true; + } + + /// <summary> + /// 鍋滄Wi-Fi閰嶇綉 + /// </summary> + public void StopSmartConnection() + { + if (hdlWiFi != null) + { + //鍋滄Wi-Fi閰嶇綉 + hdlWiFi.StopSmartConnection(); + } + } +#endif +#if iOS + /// <summary> + /// 寮�濮媁i-Fi閰嶇綉 + /// </summary> + /// <param name="wifiName">wifi鍚嶅瓧</param> + /// <param name="wifiPsw">wifi瀵嗙爜</param> + /// <param name="p2">鎴戜篃涓嶇煡閬撹繖涓槸浠�涔堜笢瑗�</param> + /// <returns></returns> + public bool StartSmartConnection(string wifiName, string wifiPsw, string p2 = "1") + { + //鍒濆鍖朩i-Fi杩炴帴 + Com.Mediatek.Elian.ElianNative.InitSmartConnection(null, 1, 1); + //寮�濮媁i-Fi杩炴帴 + var result = Com.Mediatek.Elian.ElianNative.StartSmartConnection(wifiName, wifiPsw, p2); + return true; + } + + /// <summary> + /// 鍋滄Wi-Fi閰嶇綉 + /// </summary> + public void StopSmartConnection() + { + //鍋滄Wi-Fi閰嶇綉 + Com.Mediatek.Elian.ElianNative.StopSmartConnection(); + } +#endif + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs old mode 100644 new mode 100755 index 7ad4afc..b778f68 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs @@ -1,1326 +1,1332 @@ -锘縰sing System; -using Shared.Common; -using Newtonsoft.Json; -using Shared.Common.ResponseEntity; -using System.Threading.Tasks; -using System.Text.RegularExpressions; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter -{ - /// <summary> - /// 涓汉涓績閫昏緫绫� - /// </summary> - public class UserCenterLogic - { - #region 鈻� 浜戠鎺ュ彛璁块棶_______________________ - - /// <summary> - /// 璁块棶鎸囧畾鎺ュ彛锛岃繑鍥炴槸鍚︽垚鍔� - /// </summary> - /// <returns>鏄惁鎴愬姛</returns> - /// <param name="RequestName">璁块棶鍦板潃</param> - /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> - /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖銆恌alse銆�</pra> - /// </param> - public static async Task<bool> GetResultStatuByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) - { - //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� - var connectMode = GetHttpConnectMode(checkAuthority); - //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var byteData = await GettByteResponsePack(RequestName, connectMode, obj); - if (byteData == null) - { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) - { - return false; - } - byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); - if (byteData == null) - { - return false; - } - } - var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); - //妫�娴嬫槸鍚﹀瓨鍦ㄩ敊璇俊鎭� - return CheckNotEorrorMsg(revertObj, RequestName, listNotShowError, obj); - } - - /// <summary> - /// 璁块棶鎸囧畾鎺ュ彛锛岃繑鍥炵姸鎬佺爜(鍑虹幇寮傚父鏃讹紝杩斿洖 Error) - /// </summary> - /// <returns>鎺ュ彛鐨勭姸鎬佺爜(鍑虹幇寮傚父鏃讹紝杩斿洖 Error)</returns> - /// <param name="RequestName">璁块棶鍦板潃</param> - /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> - /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�怱uccess銆�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖銆怑rrorEx銆�</pra> - /// </param> - public static async Task<string> GetResultCodeByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) - { - //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� - var connectMode = GetHttpConnectMode(checkAuthority); - //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var byteData = await GettByteResponsePack(RequestName, connectMode, obj); - if (byteData == null) - { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) - { - return "ErrorEx"; - } - byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); - if (byteData == null) - { - return "Error"; - } - } - var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); - return revertObj.StateCode; - } - - /// <summary> - /// 璁块棶鎸囧畾鎺ュ彛锛屽苟杩斿洖鎺ュ彛鎶婂璞″凡缁忓簭鍒楀寲浜嗙殑瀛楃涓诧紝瀛樺湪閿欒淇℃伅鏃讹紝杩斿洖null - /// </summary> - /// <returns>杩斿洖锛氭帴鍙f妸瀵硅薄宸茬粡搴忓垪鍖栦簡鐨勫瓧绗︿覆锛屽瓨鍦ㄩ敊璇俊鎭椂锛岃繑鍥瀗ull</returns> - /// <param name="RequestName">璁块棶鍦板潃</param> - /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> - /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炵┖瀛楃涓�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖绌哄瓧绗︿覆</pra> - /// </param> - public static async Task<string> GetResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) - { - //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� - var connectMode = GetHttpConnectMode(checkAuthority); - //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var byteData = await GettByteResponsePack(RequestName, connectMode, obj); - if (byteData == null) - { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) - { - return string.Empty; - } - byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); - if (byteData == null) - { - return null; - } - } - var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); - //妫�娴嬮敊璇� - bool notError = CheckNotEorrorMsg(revertObj, RequestName, listNotShowError, obj); - if (notError == false) - { - return null; - } - if (revertObj == null || revertObj.ResponseData == null) - { - return string.Empty; - } - return revertObj.ResponseData.ToString(); - } - - /// <summary> - /// 璁块棶鎸囧畾鎺ュ彛锛屽苟鐩存帴杩斿洖鎺ュ彛杩斿洖鐨勬瘮鐗癸紝瀛樺湪閿欒淇℃伅鏃讹紝杩斿洖null - /// </summary> - /// <returns>杩斿洖锛氬苟鐩存帴杩斿洖鎺ュ彛杩斿洖鐨勬瘮鐗癸紝瀛樺湪閿欒淇℃伅鏃讹紝杩斿洖null</returns> - /// <param name="RequestName">璁块棶鍦板潃</param> - /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> - /// <param name="obj">涓�涓被</param> - /// <param name="listNotShowError"> - /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炵┖瀛楃涓�</pra> - /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖null</pra> - /// </param> - public static async Task<byte[]> GetByteResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) - { - //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� - var connectMode = GetHttpConnectMode(checkAuthority); - //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 - var revertObj = await GettByteResponsePack(RequestName, connectMode, obj); - - if (revertObj == null) - { - if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) - { - return null; - } - //閲嶆柊鍙戦�� - revertObj = await ResetByteRequestHttps(RequestName, checkAuthority, obj); - if (revertObj == null) - { - return null; - } - } - if (revertObj != null && revertObj.Length > 0) - { - if (revertObj[0] == '{' && revertObj[revertObj.Length - 1] == '}') - { - string data2 = System.Text.Encoding.UTF8.GetString(revertObj); - var data = JsonConvert.DeserializeObject<ResponsePack>(data2); - if (data != null && string.IsNullOrEmpty(data.StateCode) == false) - { - bool notError = CheckNotEorrorMsg(data, RequestName, listNotShowError, obj); - if (notError == false) - { - return null; - } - } - } - } - return revertObj; - } - - /// <summary> - /// 绉佹湁绫诲瀷:浠庢柊鍙戦��(鎳傜殑浜鸿嚜鐒舵噦锛屽緢闅捐В閲婃竻妤�) - /// </summary> - /// <param name="RequestName">璁块棶鍦板潃</param> - /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> - /// <param name="obj">涓�涓被</param> - /// <returns></returns> - private static async Task<byte[]> ResetByteRequestHttps(string RequestName, bool checkAuthority, object obj) - { - //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� - var connectMode = GetHttpConnectMode(checkAuthority); - - byte[] responsePack = null; - int count = 0; - while (true) - { - await Task.Delay(1000); - //璋冪敤鎺ュ彛 - responsePack = await GettByteResponsePack(RequestName, connectMode, obj); - if (responsePack != null) - { - break; - } - count++; - if (count == 3) - { - Application.RunOnMainThread(() => - { - //缃戠粶涓嶇ǔ瀹�,璇风◢鍚庡啀璇� - string msg = Language.StringByID(R.MyInternationalizationString.uNetIsUnStabilityAndDoAgain); - var control = new ShowMsgControl(ShowMsgType.Tip, msg); - control.Show(); - }); - break; - } - } - return responsePack; - } - - /// <summary> - /// 鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑鍐呭 - /// </summary> - /// <returns>鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑鏂囨湰鍐呭</returns> - /// <param name="RequestName">璁块棶鍦板潃</param> - /// <param name="connectMode">鎺ュ彛鐨勮繛鎺ユā寮�</param> - /// <param name="obj">涓�涓被</param> - private static async Task<byte[]> GettByteResponsePack(string RequestName, HttpConnectMode connectMode, object obj) - { - try - { - //搴忓垪鍖栧璞� - var requestJson = JsonConvert.SerializeObject(obj); - //璁块棶鎺ュ彛 - byte[] result = null; - if (connectMode == HttpConnectMode.Normal) - { - //鏅�氳闂� - result = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, Encoding.UTF8.GetBytes(requestJson)); - } - else if (connectMode == HttpConnectMode.Admin) - { - //浠ョ鐞嗗憳鐨勮韩浠借闂紝鑷韩鏄垚鍛� - result = await CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, Encoding.UTF8.GetBytes(requestJson)); - } - return result; - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - return null; - } - } - - /// <summary> - /// 妫�娴嬫槸鍚﹀瓨鍦ㄩ敊璇俊鎭�,骞舵樉绀洪敊璇� - /// </summary> - /// <returns>鏄惁瀛樺湪閿欒淇℃伅</returns> - /// <param name="revertObj">浠庢帴鍙f帴鏀跺埌鐨勬暟鎹�</param> - /// <param name="RequestName">璇锋眰鎺ュ彛</param> - /// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�)</param> - /// <param name="pra">璇锋眰鐨勫弬鏁�</param> - public static bool CheckNotEorrorMsg(ResponsePack revertObj, string RequestName, List<string> listNotShowError = null, object pra = null) - { - if (revertObj == null) - { - Application.RunOnMainThread(() => - { - //缃戠粶涓嶇ǔ瀹�,璇风◢鍚庡啀璇� - string msg = Language.StringByID(R.MyInternationalizationString.uNetIsUnStabilityAndDoAgain); - var control = new ShowMsgControl(ShowMsgType.Tip, msg); - control.Show(); - }); - - return false; - } - if (revertObj.StateCode.ToUpper() != "SUCCESS") - { - if (listNotShowError != null && listNotShowError.Contains(revertObj.StateCode) == true) - { - //涓嶆樉绀洪敊璇�,鐒跺悗杩斿洖true - return true; - } - Application.RunOnMainThread(() => - { - if (HdlCheckLogic.Current.IsAccountLoginOut() == true) - { - //濡傛灉鐢ㄦ埛宸茬粡閫�鍑轰簡鐧婚檰,鍒欎笉澶勭悊 - return; - } - string msg = IMessageCommon.Current.GetMsgByRequestName(RequestName, revertObj.StateCode, pra); - if (msg != null) - { - var control = new ShowMsgControl(ShowMsgType.Tip, msg); - control.Show(); - - //鏃犳晥鐧诲綍Token - if (revertObj.StateCode == "NoLogin") - { - UserCenterLogic.ReLoginAgain(Config.Instance.Account, false); - } - } - }); - - return false; - } - return true; - } - - /// <summary> - /// 鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� - /// </summary> - /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄�</param> - /// <returns></returns> - private static HttpConnectMode GetHttpConnectMode(bool checkAuthority) - { - if (checkAuthority == false) - { - return HttpConnectMode.Normal; - } - if (Config.Instance.isAdministrator == true) - { - return HttpConnectMode.Admin; - } - return HttpConnectMode.Normal; - } - - #endregion - - #region 鈻� 娣诲姞鐣岄潰鐩稿叧_______________________ - - /// <summary> - /// 妫�娴嬭兘鍚︽坊鍔犵敾闈� - /// </summary> - /// <returns>true:鍙互杩藉姞 false:涓嶅彲杩藉姞</returns> - /// <param name="form">Form</param> - public static bool CheckCanAddForm(CommonFormBase form) - { - //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 - string formName = GetFormName(form); - - //浜岄噸杩藉姞涓嶅彲 - if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false) - { - return true; - } - //鏆傛椂杩欐牱寮勭湅鐪嬶紝濡傛灉閲嶅锛屽垯鍏抽棴鎺夊師鏉ョ殑鐣岄潰 - var formTemp = UserCenterResourse.DicActionForm[formName]; - formTemp.CloseForm(); - UserCenterResourse.DicActionForm.Remove(formName); - formTemp = null; - - return true; - } - - /// <summary> - /// 鎶婃墦寮�鐨勭敾闈㈡坊鍔犲埌鍐呭瓨涓� - /// </summary> - /// <param name="form">Form.</param> - public static void AddActionForm(CommonFormBase form) - { - //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 - string formName = GetFormName(form); - - //浜岄噸杩藉姞涓嶅彲 - if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false) - { - form.FormID = formName; - //鍐呭瓨娣诲姞 - UserCenterResourse.DicActionForm[formName] = form; - //娣诲姞鐢婚潰鏃讹紝瀹冭嚜韬氨鏄縺娲荤殑鐣岄潰 - UserCenterResourse.NowActionFormID = form.FormID; - - UserCenterResourse.listActionFormId.Add(form.FormID); - } - } - - /// <summary> - /// 浠庡垪琛ㄤ腑绉婚櫎鐢婚潰 - /// </summary> - /// <param name="form">Form</param> - public static void RemoveActionForm(CommonFormBase form) - { - //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 - string formName = GetFormName(form); - - if (UserCenterResourse.DicActionForm.ContainsKey(formName) == true) - { - //鍒锋柊褰撳墠姝e湪鎿嶄綔鐨勭敾闈D - if (UserCenterResourse.NowActionFormID == UserCenterResourse.DicActionForm[formName].FormID) - { - //鍚戝墠鎺ㄤ竴浣嶅嵆涓轰笅涓�涓縺娲荤殑鐣岄潰 - int index = UserCenterResourse.listActionFormId.IndexOf(UserCenterResourse.NowActionFormID) - 1; - //鍒濆鍊� - UserCenterResourse.NowActionFormID = string.Empty; - if (index >= 0) - { - var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1); - if (actionForm != null && actionForm is CommonFormBase) - { - //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID - UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; - //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊 - if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) - { - try - { - var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; - if (Myform is EditorCommonForm) - { - //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 - int value = ((EditorCommonForm)Myform).FormActionAgainEvent(); - if (value == 1) - { - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); - } - } - } - catch (Exception ex) - { - //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け - var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost)); - alert.Show(); - - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(ex); - } - } - } - else if (actionForm != null && actionForm is UserView.UserPage) - { - //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡,濡傛灉瀹冨寘鍚釜浜轰腑蹇冧富椤电殑璇� - if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == true) - { - //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID - UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; - //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊 - if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) - { - try - { - var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; - if (Myform is EditorCommonForm) - { - //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 - int value = ((EditorCommonForm)Myform).FormActionAgainEvent(); - if (value == 1) - { - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); - } - } - } - catch (Exception ex) - { - //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け - var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost)); - alert.Show(); - - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(ex); - } - } - } - } - } - } - //绉婚櫎ID - UserCenterResourse.listActionFormId.Remove(UserCenterResourse.DicActionForm[formName].FormID); - //绉婚櫎鐢婚潰 - var formTemp = UserCenterResourse.DicActionForm[formName]; - UserCenterResourse.DicActionForm.Remove(formName); - formTemp = null; - } - } - - /// <summary> - /// 鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 - /// </summary> - /// <returns>The form name.</returns> - /// <param name="form">Form.</param> - public static string GetFormName(CommonFormBase form) - { - if (form.FormID != string.Empty) - { - return form.FormID; - } - //灏嗗懡鍚嶇┖闂村幓鎺� - string[] Arry = form.ToString().Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries); - string formName = Arry[Arry.Length - 1].Trim(); - return formName; - } - - /// <summary> - /// 鑾峰彇褰撳墠姝e湪婵�娲荤殑鐢婚潰 - /// </summary> - /// <returns></returns> - public static CommonFormBase GetNowActionForm() - { - if (UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) - { - return UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; - } - return null; - } - - #endregion - - #region 鈻� 鍒锋柊鏈湴缂撳瓨_______________________ - /// <summary> - /// 鍒锋柊鏈湴鎵�鏈夌紦瀛� - /// </summary> - public static void RefreshAllMemory() - { - //澶囦唤鐨勬暟鎹紝鏈夊彲鑳芥槸涓讳汉鑷繁涓婁紶鐨勶紝濡傛灉绠$悊鍛樼櫥闄嗘椂锛屼粬鑾峰彇鐨勫浠芥暟鎹湁鐐圭壒娈� - //姣斿涓嬮潰杩欎笁涓笢瑗垮湪涓昏处鍙烽偅閲屾槸涓嶉渶瑕佺殑 - bool isOthreShare = Config.Instance.Home.IsOthreShare; - int accountType = Config.Instance.Home.AccountType; - string mainMark = Config.Instance.Home.MainUserDistributedMark; - //杩樺師浣忓畢瀵硅薄 - Config.Instance.Home = House.GetHouseByHouseId(Config.Instance.Home.Id); - Config.Instance.Home.IsOthreShare = isOthreShare; - Config.Instance.Home.AccountType = accountType; - Config.Instance.Home.MainUserDistributedMark = mainMark; - Config.Instance.Home.Save(); - - //鍒锋柊鏈湴缃戝叧鏂囦欢 - HdlGatewayLogic.Current.ReFreshByLocal(); - //鍒锋柊鏈湴璁惧 - Common.LocalDevice.Current.ReFreshByLocal(); - //闇�浼樺厛浜庡埛鏂版埧闂�,鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� - HdlGatewayLogic.Current.SynchronizeDbGateway(); - //浠庢湰鍦伴噸鏂板姞杞藉叏閮ㄧ殑鎴块棿 - Common.Room.RefreshAllRoomByLocation(); - } - - #endregion - - #region 鈻� 鍒犻櫎鏈湴鏂囦欢_______________________ - - /// <summary> - /// 鍒犻櫎鏈湴鎵�鏈夋枃浠� - /// </summary> - /// <param name="all">true:鍏ㄩ儴鍒犻櫎(鐢ㄤ簬浣忓畢鍒犻櫎) false:閲嶈鐨勬枃浠朵笉鍒犻櫎</param> - public static void DeleteAllLocationFile(bool all = true) - { - string dPath = Config.Instance.FullPath; - if (System.IO.Directory.Exists(dPath) == false) - { - return; - } - - //鐒跺悗鑾峰彇鍏ㄩ儴鐨勬枃浠� - List<string> listFile = Global.FileListByHomeId(); - foreach (string file in listFile) - { - if (all == false && IsNotDeleteFile(file) == true) - { - //杩欐槸涓嶈兘鍒犻櫎鐨勬枃浠� - continue; - } - //鍒犻櫎鏂囦欢 - Global.DeleteFilebyHomeId(file); - } - //濡傛灉鏄妸鏂囦欢鍏ㄩ儴鍒犻櫎鐨勮瘽锛岄偅涔堟枃浠跺す涔熶竴璧峰垹闄ゆ帀 - if (all == true) - { - //鍒犻櫎鏂囦欢澶� - System.IO.Directory.Delete(dPath, true); - } - } - - /// <summary> - /// 鍒ゆ柇鏄笉鏄笉搴旇鍒犻櫎鐨勬枃浠� - /// </summary> - /// <param name="fileName"></param> - /// <returns></returns> - public static bool IsNotDeleteFile(string fileName) - { - if (fileName == "Config.json") - { - //涓嶈兘鍒犻櫎Config鏂囦欢 - return true; - } - else if (fileName.StartsWith("House_") == true) - { - //涓嶈兘鍒犻櫎浣忓畢鏂囦欢 - return true; - } - return false; - } - - #endregion - - #region 鈻� 閲嶆柊鐧诲綍___________________________ - - /// <summary> - /// 閲嶆柊鐧诲綍 - /// </summary> - /// <param name="account">璐﹀彿</param> - /// <param name="noticeDb">鏄惁閫氱煡浜戠</param> - public static void ReLoginAgain(string account = "", bool noticeDb = true) - { - UserCenterResourse.Option.OldAccountId = string.Empty; - //鍏抽棴鎵�鏈夋帴鏀� - HdlDeviceAttributeLogic.Current.RemoveAllEvent(); - //娓呴櫎鍗囩骇鍒楄〃 - FirmwareUpdateResourse.dicDeviceUpdateList.Clear(); - FirmwareUpdateResourse.dicGatewayUpdateList.Clear(); - - HdlThreadLogic.Current.RunThread(async () => - { - //妫�娴婣PP鏄惁鑳藉閫�鍑� - while (UserCenterResourse.Option.AppCanSignout == false) - { - await Task.Delay(500); - } - //璁惧畾涓�涓椂闂� - Config.Instance.LoginDateTime = new DateTime(1970, 1, 1); - Config.Instance.Save(); - - //娓呯┖褰撳墠浣忓畢id - Shared.Common.Config.Instance.HomeId = string.Empty; - HdlGatewayLogic.Current.ClearAllRealGateway(); - try - { - ZigBee.Device.ZbGateway.RemoteMqttClient?.DisconnectAsync(); - } - catch { } - - if (noticeDb == true) - { - //閫氱煡浜戠锛屽凡缁忛��鍑虹櫥闄� - var result = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/SignOut", null, "GET"); - } - HdlThreadLogic.Current.RunMain(() => - { - //鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 - CloseAllOpenForm(); - - //鏄剧ず鐧婚檰鐢婚潰 - var formLogin = new Shared.Phone.Device.Account.AccountLogin(); - Shared.Common.CommonPage.Instance.AddChidren(formLogin); - formLogin.Show(account); - }); - }); - } - - /// <summary> - /// 鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 - /// </summary> - public static void CloseAllOpenForm() - { - var listForm = new List<CommonFormBase>(); - var listId = new List<string>(); - foreach (CommonFormBase form in UserCenterResourse.DicActionForm.Values) - { - if (form.FormID != "UserMainForm") - { - listForm.Insert(0, form); - listId.Add(form.FormID); - } - } - foreach (var id in listId) - { - UserCenterResourse.DicActionForm.Remove(id); - } - - //鍏抽棴鎵�鏈夌敾闈� - foreach (CommonFormBase form in listForm) - { - form.CloseForm(); - } - listForm.Clear(); - } - - #endregion - - #region 鈻� 瀛愭帶浠剁殑Y杞村潗鏍嘷___________________ - - /// <summary> - /// 鎸囧畾浣嶇疆绫诲瀷鑾峰彇Rowlayout鐨勫瓙鎺т欢鐨刌杞村潗鏍�(璇风‘淇濆瓙鎺т欢涓嶅ぇ浜庣埗瀹瑰櫒) - /// </summary> - /// <param name="fatherCtrHeight">鐖舵帶浠剁殑鐪熷疄楂樺害</param> - /// <param name="ctrHeight">瀛愭帶浠剁殑鐪熷疄楂樺害</param> - /// <param name="alignment">浣嶇疆瀵归綈鏂瑰紡</param> - /// <param name="Space">涓婁笅闂寸殑绌虹櫧闂磋窛,鐪佺暐鏃讹紝鍙栬鎺т欢鍏遍�氬彉閲忕殑鍊笺�傝缃负-1鏃讹紝涓嶈绠楃┖鐧介棿璺�</param> - /// <returns></returns> - public static int GetControlChidrenYaxis(int fatherCtrHeight, int ctrHeight, UViewAlignment alignment, int Space = 0) - { - if (Space < 0) - { - //涓嶈绠楅棿璺濆�� - Space = 0; - } - - if (alignment == UViewAlignment.Center) - { - return fatherCtrHeight / 2 - ctrHeight / 2; - } - else if (alignment == UViewAlignment.Top) - { - return (fatherCtrHeight / 2 - Space / 2) / 2 - ctrHeight / 2; - } - else - { - int top = fatherCtrHeight / 2 + Space / 2; - return top + (fatherCtrHeight - top) / 2 - ctrHeight / 2; - } - } - - #endregion - - #region 鈻� 鎷兼帴淇℃伅___________________________ - - /// <summary> - /// 鎷兼帴璺緞(鍏ㄨ矾寰�)锛屼互浣忓畢ID鐨勬枃浠跺す涓鸿捣鐐癸紝褰撴病鏈夋寚瀹氬弬鏁版椂锛屽垯杩斿洖銆愪綇瀹匢D鐨勬枃浠跺す銆戠殑鍏ㄨ矾寰� - /// </summary> - /// <param name="listNames">瑕佹嫾鎺ョ殑璺緞</param> - /// <returns></returns> - public static string CombinePath(params object[] listNames) - { - string rootPath = Config.Instance.FullPath; - if (listNames == null || listNames.Length == 0) - { - return rootPath; - } - foreach (var file in listNames) - { - if (file == null) - { - continue; - } - rootPath = System.IO.Path.Combine(rootPath, file.ToString()); - } - return rootPath; - } - - /// <summary> - /// 鎷兼帴缃戝叧鍥炲瓒呮椂鐨勪俊鎭� - /// </summary> - /// <param name="errorMsg">閿欒淇℃伅</param> - /// <param name="resultData">缃戝叧杩斿洖鐨剅esultData,閲岄潰鏈夈�恊rrorMessageBase銆戣繖涓笢瑗跨殑閭g瀵硅薄</param> - /// <param name="strResultData">缃戝叧杩斿洖鐨剅esultData,閲岄潰鐨勩�恊rrorMessageBase銆戠殑鍊�,璁惧畾鏈夋鍊兼椂锛宺esultData鏃犳晥</param> - /// <param name="addBrackets">鏄惁娣诲姞鎷彿</param> - /// <returns></returns> - public static string CombineGatewayTimeOutMsg(string errorMsg, object resultData, string strResultData = null, bool addBrackets = true) - { - if (resultData == null && strResultData == null) - { - return errorMsg; - } - - string errorMsgBase = strResultData; - if (errorMsgBase == null) - { - Type myType = resultData.GetType(); - object errorObj = myType.InvokeMember("errorMessageBase", System.Reflection.BindingFlags.GetField, null, resultData, null); - if (errorObj == null) - { - return errorMsg; - } - errorMsgBase = errorObj.ToString(); - } - - if (errorMsgBase.Contains("鍥炲瓒呮椂") == false) - { - //鍙湁鍥炲瓒呮椂鐨勬椂鍊欐墠浼氬姞涓� - return errorMsg; - } - errorMsg += "\r\n"; - if (addBrackets == true) - { - //(缃戝叧鍥炲瓒呮椂,璇风◢鍚庡啀璇�) - return errorMsg + "(" + Language.StringByID(R.MyInternationalizationString.uGatewayResponseTimeOut) + ")"; - } - else - { - //缃戝叧鍥炲瓒呮椂,璇风◢鍚庡啀璇� - return errorMsg + Language.StringByID(R.MyInternationalizationString.uGatewayResponseTimeOut); - } - } - - #endregion - - #region 鈻� 鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼___________ - - /// <summary> - /// 寮傛鏂规硶鎵ц(浠呴檺鍒囨崲浣忓畢鏃惰皟鐢�)锛屽埛鏂颁釜浜轰腑蹇冪殑鍐呭瓨鍙婄嚎绋� - /// </summary> - public async static Task<bool> InitUserCenterMenmoryAndThread() - { - //APP缂撳瓨鍔犺浇寮�濮� - UserCenterResourse.Option.AppCanSignout = false; - - //寮哄埗鎸囧畾涓嶅叧闂繘搴︽潯 - ProgressBar.SetCloseBarFlag(true); - - //鍙湁鍦ㄤ綇瀹匢D涓嶄竴鏍风殑鏃跺�欐墠鍋氳繖涓搷浣� - if (Common.Config.Instance.HomeId != UserCenterResourse.Option.OldHomeStringId - || Common.Config.Instance.Account != UserCenterResourse.Option.OldAccountId) - { - //鍔犺浇璐﹀彿閰嶇疆淇℃伅 - var optionInfo = UserCenterResourse.Option.Load(); - UserCenterResourse.Option = optionInfo; - //鍙樻洿鏍圭敤鎴峰浘鐗囩洰褰曡矾寰� - UserCenterResourse.Option.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory); - - //鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅 - await InitUserAccoutInfo(); - //鍒濆鍖栫鐞嗗憳鏉冮檺淇℃伅 - await InitAdminConnectMqttInfo(true); - - //鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅 - InitLocalMemberListInfo(); - - //閲嶆柊鍙戦�佸懡浠ゅ幓缁戝畾鏂綉鎯呭喌涓嬪浠界殑缃戝叧 - HdlGatewayLogic.Current.ResetComandToBindBackupGateway(); - - //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); - - //鍏抽棴鎵�鏈夋帴鏀� - HdlDeviceAttributeLogic.Current.RemoveAllEvent(); - //鍒锋柊瀹夐槻涓婃姤淇℃伅 - HdlAlarmsLogic.Current.RefreshAlarmInfo(); - //娣诲姞淇濆瓨瀹夐槻璁惧鎶ヨ鐨勪簨浠�(涓嶉渶瑕佸啀鎵ц浠讳綍鎿嶄綔,骞朵笖姘镐箙瀛樺湪) - HdlAlarmsLogic.Current.AddAlarmInfoEvent(); - - //淇濆瓨鐢ㄦ埛鐨勭櫥闄嗕俊鎭埌鏈湴 - SaveUserInformationToLocation(); - - UserCenterResourse.Option.OldHomeStringId = Common.Config.Instance.HomeId; - UserCenterResourse.Option.OldAccountId = Common.Config.Instance.Account; - - //鍚屾鏁版嵁(浜屾璋冪敤娌″叧绯�) - var result = await HdlAutoBackupLogic.SynchronizeDbAutoBackupData(); - - //鍒濆鍖栨湰鍦扮殑缃戝叧淇℃伅 - HdlGatewayLogic.Current.ReFreshByLocal(); - //鍒濆鍖栨湰鍦扮殑璁惧淇℃伅 - Common.LocalDevice.Current.ReFreshByLocal(); - - //鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� - HdlGatewayLogic.Current.SynchronizeDbGateway(); - - //鍒濆鍖栦綇瀹呭璞� - Common.Config.Instance.Home = House.GetHouseByHouseId(Common.Config.Instance.HomeId); - - //鍒濆鍖栨埧闂�(閮洩鍩庨偅杈逛笉鍋氬鐞�,闇�瑕佽繖閲岀壒娈婃墽琛屼竴姝�) - Room.RefreshAllRoomByLocation(); - - //鍒锋柊APP鍓嶄竴娆¢�夋嫨鐨勭綉鍏矷D(鍙互鍙嶅璋冪敤,闇�瑕佸湪缃戝叧鍒濆鍖栧畬浜嗕箣鍚庢墠鑳借皟鐢�) - HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId(); - - //娓呯┖寮哄埗鎸囧畾鏂囨湰鐨勯檮鍔犱俊鎭� - ProgressBar.SetAppendText(string.Empty); - - //0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝�,杩欎釜鏃跺�欓渶瑕佹彁绀哄浠� - //if (result == 0) - //{ - // //寮�鍚嚜鍔ㄥ浠芥彁绀� - // HdlAutoBackupLogic.ShowAutoBackupPromptedForm(); - //} - } - - //鎭㈠鍙叧闂繘搴︽潯 - ProgressBar.SetCloseBarFlag(false); - //APP缂撳瓨鍔犺浇瀹屾垚 - UserCenterResourse.Option.AppCanSignout = true; - - return true; - } - - #endregion - - #region 鈻� 鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅_______________ - - /// <summary> - /// 鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅 - /// </summary> - /// <returns></returns> - private async static Task<bool> InitUserAccoutInfo() - { - //鑾峰彇鏈湴璁板綍鐨勭敤鎴蜂俊鎭� - UserCenterResourse.UserInfo = GetUserInformationFromLocation(); - UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); - - //鑾峰彇鐧诲綍璐﹀彿鐨勪俊鎭� - var pra = new AccountInfoPra(); - var listNotShow = new List<string>() { "NotSetAgain" }; - string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetAccountInfo", false, pra, listNotShow); - if (string.IsNullOrEmpty(result) == true) - { - //鏂綉鐨勮瘽锛岃骞插槢灏卞共鍢涘惂,鎬讳箣涓嶈兘鎺т富浜虹殑涓滆タ - Config.Instance.isAdministrator = false; - return false; - } - - var userInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInformation>(result); - userInfo.Account = Common.Config.Instance.Account; - if (string.IsNullOrEmpty(userInfo.UserName) == true) - { - //娌℃湁鏄电О鐨勬椂鍊欙紝鎶婅处鍙蜂綔涓烘樀绉� - userInfo.UserName = Common.Config.Instance.Account; - } - - if (Common.Config.Instance.Home.IsOthreShare == false) - { - //韬唤:绠$悊鍛� - userInfo.AuthorityNo = 1; - userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.Administrator); - } - else if (Common.Config.Instance.Home.AccountType == 1) - { - //韬唤:鎴愬憳(鎷ユ湁绠$悊鍛樻潈闄�) - userInfo.AuthorityNo = 2; - userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.uMemberHadActionAuthority); - } - else - { - //韬唤:鎴愬憳 - userInfo.AuthorityNo = 3; - userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.uMember); - } - - if (UserCenterResourse.UserInfo.AuthorityNo != userInfo.AuthorityNo) - { - //濡傛灉鐧婚檰鐨勮处鍙风殑鏉冮檺鍜屼笂涓�娆$殑涓嶄竴鏍�,鍒欏垹闄ゆ湰鍦拌繖涓綇瀹呭叏閮ㄧ殑鏂囦欢,浠庡ご鍐嶆潵 - string dirPath = CombinePath(); - if (System.IO.Directory.Exists(dirPath) == true) - { - //鍏堣褰曡捣浣忓畢鐨勪竴浜涗俊鎭� - var house = House.GetHouseByHouseId(Config.Instance.HomeId); - //鍒犻櫎鏁翠釜鏂囦欢澶� - System.IO.Directory.Delete(dirPath, true); - //鍒涘缓浣忓畢鏂囦欢澶� - Global.CreateHomeDirectory(Config.Instance.HomeId); - //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); - - var newHouse = new House(); - newHouse.Id = house.Id; - newHouse.Name = house.Name; - newHouse.IsOthreShare = house.IsOthreShare; - newHouse.AccountType = house.AccountType; - newHouse.MainUserDistributedMark = house.MainUserDistributedMark; - newHouse.Save(); - } - } - if (string.IsNullOrEmpty(userInfo.UserName) == true) - { - //娌℃湁鏄电О鐨勮瘽,鎶婅处鍙蜂涪杩囧幓 - userInfo.UserName = userInfo.Account; - } - - UserCenterResourse.UserInfo = userInfo; - UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); - if (UserCenterResourse.UserInfo.HeadImage != null) - { - //鍐欏叆澶村儚鍐呭 - Shared.IO.FileUtils.WriteFileByBytes(UserCenterResourse.UserInfo.UserIconFile, UserCenterResourse.UserInfo.HeadImage); - } - UserCenterResourse.UserInfo.HeadImage = null; - - //鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�) - await InitAdminConnectMainInfo(); - - return true; - } - - /// <summary> - /// 浠庢湰鍦拌幏鍙栫敤鎴风殑鐧婚檰淇℃伅 - /// </summary> - /// <returns></returns> - private static UserInformation GetUserInformationFromLocation() - { - string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); - var value = LoadFileContent(fileName); - if (value == null) - { - return new UserInformation(); - } - var info = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInformation>(value); - return info; - } - - /// <summary> - /// 淇濆瓨鐢ㄦ埛鐨勭櫥闄嗕俊鎭埌鏈湴 - /// </summary> - private static void SaveUserInformationToLocation() - { - string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); - //鍐欏叆鍐呭 - SaveFileContent(fullName, UserCenterResourse.UserInfo); - - //鎼炰竴涓嬩富浜虹殑榛樿澶村儚 - string defultFile = IO.FileUtils.GetImageFilePath("Center/Admin.png"); - if (defultFile == string.Empty) - { - return; - } - if (System.IO.File.Exists(UserCenterResourse.UserInfo.UserIconFile) == true) - { - return; - } - //澶嶅埗杩囧幓 - System.IO.File.Copy(defultFile, UserCenterResourse.UserInfo.UserIconFile); - } - - #endregion - - #region 鈻� 鍒濆鍖栫鐞嗗憳鏉冮檺杩滅▼杩炴帴___________ - - /// <summary> - /// 鍒濆鍖栫鐞嗗憳鏉冮檺杩滅▼杩炴帴涓讳汉鐨勪俊鎭� - /// </summary> - /// <returns></returns> - public static async Task<bool> InitAdminConnectMainInfo() - { - //鍏堟竻绌� - Config.Instance.isAdministrator = false; - Config.Instance.AdminRequestBaseUrl = string.Empty; - Config.Instance.AdminRequestToken = string.Empty; - - if (UserCenterResourse.UserInfo.AuthorityNo != 2) - { - //鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳鎵嶈兘杩欐牱鎼�, 杩欓噷蹇呴』鏄�2 - return true; - } - var pra = new - { - CommonPage.RequestVersion, - LoginAccessToken = Config.Instance.Token, - MainAccountId = Config.Instance.Home.MainUserDistributedMark, - SharedHid = Config.Instance.Home.Id - }; - - var listNotShow = new List<string>() { "NotSetAgain" }; - var result = await GetResponseDataByRequestHttps("App/GetSharedHomeApiControl", false, pra, listNotShow); - if (string.IsNullOrEmpty(result) == true) - { - return false; - } - - Config.Instance.isAdministrator = true; - //鍒嗕韩閾炬帴 - var info = JsonConvert.DeserializeObject<MemberAdministratorResult>(result); - Config.Instance.AdminRequestBaseUrl = info.RequestBaseUrl; - Config.Instance.AdminRequestToken = info.RequestToken; - - return true; - } - - /// <summary> - /// 鍒濆鍖栫鐞嗗憳鏉冮檺鐨勮繙绋嬭繛鎺ヤ俊鎭� - /// </summary> - /// <param name="stopRemote">鏄惁涓柇杩滅▼</param> - /// <returns></returns> - public static async Task<bool> InitAdminConnectMqttInfo(bool stopRemote = false) - { - if (UserCenterResourse.UserInfo.AuthorityNo != 2 && UserCenterResourse.UserInfo.AuthorityNo != 3) - { - //鍙湁鎴愬憳鍒嗚韩鎵嶈兘璋冪敤杩欎釜鍑芥暟 - return true; - } - var praMqtt = new - { - CommonPage.RequestVersion, - LoginAccessToken = Config.Instance.Token, - Config.Instance.Home.MainUserDistributedMark, - HomeId = Config.Instance.Home.Id - }; - - var listNotShow = new List<string>() { "NotSetAgain" }; - var result2 = await GetResponseDataByRequestHttps("App/GetConnectMainUserMqttInfo", false, praMqtt, listNotShow); - if (string.IsNullOrEmpty(result2) == true) - { - return false; - } - - //杩滅▼Mqtt - var info2 = JsonConvert.DeserializeObject<MemberAdministratorMqttResult>(result2); - Config.Instance.AdminConnectZigbeeMqttBrokerPwd = info2.ConnectZigbeeMqttBrokerPwd; - Config.Instance.AdminConnectZigbeeMqttClientId = info2.ConnectZigbeeMqttClientId; - Config.Instance.AdminMqttKey = info2.MqttKey; - Config.Instance.AdminZigbeeMqttBrokerLoadSubDomain = info2.ZigbeeMqttBrokerLoadSubDomain; - Config.Instance.AdminConnectZigbeeMqttBrokerName = info2.ConnectZigbeeMqttBrokerName; - - return true; - } - - #endregion - - #region 鈻� 鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅_______________ - - /// <summary> - /// 鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅 - /// </summary> - private static void InitLocalMemberListInfo() - { - //鍏堟竻绌� - UserCenterResourse.ListMemberInfo.Clear(); - string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.MemberListInfoFile); - if (System.IO.File.Exists(fileName) == false) - { - return; - } - var varByte = Shared.IO.FileUtils.ReadFile(fileName); - UserCenterResourse.ListMemberInfo = JsonConvert.DeserializeObject<List<MemberInfoRes>>(System.Text.Encoding.UTF8.GetString(varByte)); - } - - /// <summary> - /// 淇濆瓨缂撳瓨鎴愬憳鐨勪俊鎭� - /// </summary> - public static void SaveLocalMemberListInfo() - { - var data = Newtonsoft.Json.JsonConvert.SerializeObject(UserCenterResourse.ListMemberInfo); - var byteData = System.Text.Encoding.UTF8.GetBytes(data); - - string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.MemberListInfoFile); - //鍐欏叆鍐呭 - Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData); - } - - #endregion - - #region 鈻� 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶筥________ - - /// <summary> - /// 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - /// </summary> - public static void CreatAllUserCenterDirectory() - { - //鏈湴缂撳瓨鐨勬牴鐩綍 - string LocalDirectory = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory); - Global.CreateEmptyDirectory(LocalDirectory); - - //鑷姩澶囦唤銆愭枃浠跺す銆�(缂栬緫,杩藉姞) - string directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupDirectory); - Global.CreateEmptyDirectory(directory); - - //鑷姩澶囦唤銆愭枃浠跺す銆�(鍒犻櫎) - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupdeleteDirectory); - Global.CreateEmptyDirectory(directory); - - //涓嬭浇澶囦唤鐨勬椂鍊欐墍浣跨敤鐨勪复鏃躲�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadBackupTempDirectory); - Global.CreateEmptyDirectory(directory); - - //淇濆瓨瀹夐槻璁板綍鐨勩�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.SafeguardAlarmDirectory); - Global.CreateEmptyDirectory(directory); - - //涓婁紶缃戝叧澶囦唤鏂囦欢鍒颁簯绔殑涓存椂銆愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.GatewayBackupDirectory); - Global.CreateEmptyDirectory(directory); - - //涓嬭浇鍒嗕韩鏂囦欢鐨勪复鏃躲�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadShardDirectory); - Global.CreateEmptyDirectory(directory); - - //LOG鍑哄姏銆愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.LogDirectory); - Global.CreateEmptyDirectory(directory); - - //鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆� +锘縰sing System; +using Shared.Common; +using Newtonsoft.Json; +using Shared.Common.ResponseEntity; +using System.Threading.Tasks; +using System.Text.RegularExpressions; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 涓汉涓績閫昏緫绫� + /// </summary> + public class UserCenterLogic + { + #region 鈻� 浜戠鎺ュ彛璁块棶_______________________ + + /// <summary> + /// 璁块棶鎸囧畾鎺ュ彛锛岃繑鍥炴槸鍚︽垚鍔� + /// </summary> + /// <returns>鏄惁鎴愬姛</returns> + /// <param name="RequestName">璁块棶鍦板潃</param> + /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> + /// <param name="obj">涓�涓被</param> + /// <param name="listNotShowError"> + /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�恡rue銆�</pra> + /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖銆恌alse銆�</pra> + /// </param> + public static async Task<bool> GetResultStatuByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + { + //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� + var connectMode = GetHttpConnectMode(checkAuthority); + //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 + var byteData = await GettByteResponsePack(RequestName, connectMode, obj); + if (byteData == null) + { + if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + { + return false; + } + byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + if (byteData == null) + { + return false; + } + } + var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); + //妫�娴嬫槸鍚﹀瓨鍦ㄩ敊璇俊鎭� + return CheckNotEorrorMsg(revertObj, RequestName, listNotShowError, obj); + } + + /// <summary> + /// 璁块棶鎸囧畾鎺ュ彛锛岃繑鍥炵姸鎬佺爜(鍑虹幇寮傚父鏃讹紝杩斿洖 Error) + /// </summary> + /// <returns>鎺ュ彛鐨勭姸鎬佺爜(鍑虹幇寮傚父鏃讹紝杩斿洖 Error)</returns> + /// <param name="RequestName">璁块棶鍦板潃</param> + /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> + /// <param name="obj">涓�涓被</param> + /// <param name="listNotShowError"> + /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炪�怱uccess銆�</pra> + /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖銆怑rrorEx銆�</pra> + /// </param> + public static async Task<string> GetResultCodeByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + { + //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� + var connectMode = GetHttpConnectMode(checkAuthority); + //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 + var byteData = await GettByteResponsePack(RequestName, connectMode, obj); + if (byteData == null) + { + if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + { + return "ErrorEx"; + } + byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + if (byteData == null) + { + return "Error"; + } + } + var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); + return revertObj.StateCode; + } + + /// <summary> + /// 璁块棶鎸囧畾鎺ュ彛锛屽苟杩斿洖鎺ュ彛鎶婂璞″凡缁忓簭鍒楀寲浜嗙殑瀛楃涓诧紝瀛樺湪閿欒淇℃伅鏃讹紝杩斿洖null + /// </summary> + /// <returns>杩斿洖锛氭帴鍙f妸瀵硅薄宸茬粡搴忓垪鍖栦簡鐨勫瓧绗︿覆锛屽瓨鍦ㄩ敊璇俊鎭椂锛岃繑鍥瀗ull</returns> + /// <param name="RequestName">璁块棶鍦板潃</param> + /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> + /// <param name="obj">涓�涓被</param> + /// <param name="listNotShowError"> + /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炵┖瀛楃涓�</pra> + /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖绌哄瓧绗︿覆</pra> + /// </param> + public static async Task<string> GetResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + { + //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� + var connectMode = GetHttpConnectMode(checkAuthority); + //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 + var byteData = await GettByteResponsePack(RequestName, connectMode, obj); + if (byteData == null) + { + if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + { + return string.Empty; + } + byteData = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + if (byteData == null) + { + return null; + } + } + var revertObj = JsonConvert.DeserializeObject<ResponsePack>(Encoding.UTF8.GetString(byteData)); + //妫�娴嬮敊璇� + bool notError = CheckNotEorrorMsg(revertObj, RequestName, listNotShowError, obj); + if (notError == false) + { + return null; + } + if (revertObj == null || revertObj.ResponseData == null) + { + return string.Empty; + } + return revertObj.ResponseData.ToString(); + } + + /// <summary> + /// 璁块棶鎸囧畾鎺ュ彛锛屽苟鐩存帴杩斿洖鎺ュ彛杩斿洖鐨勬瘮鐗癸紝瀛樺湪閿欒淇℃伅鏃讹紝杩斿洖null + /// </summary> + /// <returns>杩斿洖锛氬苟鐩存帴杩斿洖鎺ュ彛杩斿洖鐨勬瘮鐗癸紝瀛樺湪閿欒淇℃伅鏃讹紝杩斿洖null</returns> + /// <param name="RequestName">璁块棶鍦板潃</param> + /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> + /// <param name="obj">涓�涓被</param> + /// <param name="listNotShowError"> + /// <pra>涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�),濡傛灉鍖呭惈锛屽垯浼氳繑鍥炵┖瀛楃涓�</pra> + /// <pra>濡傛灉鎸囧畾鏈塏otSetAgain,鍒欎笉浜屾鍙戦��(姣斿鏂綉),鐒跺悗杩斿洖null</pra> + /// </param> + public static async Task<byte[]> GetByteResponseDataByRequestHttps(string RequestName, bool checkAuthority, object obj, List<string> listNotShowError = null) + { + //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� + var connectMode = GetHttpConnectMode(checkAuthority); + //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 + var revertObj = await GettByteResponsePack(RequestName, connectMode, obj); + + if (revertObj == null) + { + if (listNotShowError != null && listNotShowError.Contains("NotSetAgain") == true) + { + return null; + } + //閲嶆柊鍙戦�� + revertObj = await ResetByteRequestHttps(RequestName, checkAuthority, obj); + if (revertObj == null) + { + return null; + } + } + if (revertObj != null && revertObj.Length > 0) + { + if (revertObj[0] == '{' && revertObj[revertObj.Length - 1] == '}') + { + string data2 = System.Text.Encoding.UTF8.GetString(revertObj); + var data = JsonConvert.DeserializeObject<ResponsePack>(data2); + if (data != null && string.IsNullOrEmpty(data.StateCode) == false) + { + bool notError = CheckNotEorrorMsg(data, RequestName, listNotShowError, obj); + if (notError == false) + { + return null; + } + } + } + } + return revertObj; + } + + /// <summary> + /// 绉佹湁绫诲瀷:浠庢柊鍙戦��(鎳傜殑浜鸿嚜鐒舵噦锛屽緢闅捐В閲婃竻妤�) + /// </summary> + /// <param name="RequestName">璁块棶鍦板潃</param> + /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄愶紝璇ュ弬鏁颁笉鑳界渷鐣�</param> + /// <param name="obj">涓�涓被</param> + /// <returns></returns> + private static async Task<byte[]> ResetByteRequestHttps(string RequestName, bool checkAuthority, object obj) + { + //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� + var connectMode = GetHttpConnectMode(checkAuthority); + + byte[] responsePack = null; + int count = 0; + while (true) + { + await Task.Delay(1000); + //璋冪敤鎺ュ彛 + responsePack = await GettByteResponsePack(RequestName, connectMode, obj); + if (responsePack != null) + { + break; + } + count++; + if (count == 3) + { + Application.RunOnMainThread(() => + { + //缃戠粶涓嶇ǔ瀹�,璇风◢鍚庡啀璇� + string msg = Language.StringByID(R.MyInternationalizationString.uNetIsUnStabilityAndDoAgain); + var control = new ShowMsgControl(ShowMsgType.Tip, msg); + control.Show(); + }); + break; + } + } + return responsePack; + } + + /// <summary> + /// 鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑鍐呭 + /// </summary> + /// <returns>鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑鏂囨湰鍐呭</returns> + /// <param name="RequestName">璁块棶鍦板潃</param> + /// <param name="connectMode">鎺ュ彛鐨勮繛鎺ユā寮�</param> + /// <param name="obj">涓�涓被</param> + private static async Task<byte[]> GettByteResponsePack(string RequestName, HttpConnectMode connectMode, object obj) + { + try + { + //搴忓垪鍖栧璞� + var requestJson = JsonConvert.SerializeObject(obj); + //璁块棶鎺ュ彛 + byte[] result = null; + if (connectMode == HttpConnectMode.Normal) + { + //鏅�氳闂� + result = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, Encoding.UTF8.GetBytes(requestJson)); + } + else if (connectMode == HttpConnectMode.Admin) + { + //浠ョ鐞嗗憳鐨勮韩浠借闂紝鑷韩鏄垚鍛� + result = await CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, Encoding.UTF8.GetBytes(requestJson)); + } + return result; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + return null; + } + } + + /// <summary> + /// 妫�娴嬫槸鍚﹀瓨鍦ㄩ敊璇俊鎭�,骞舵樉绀洪敊璇� + /// </summary> + /// <returns>鏄惁瀛樺湪閿欒淇℃伅</returns> + /// <param name="revertObj">浠庢帴鍙f帴鏀跺埌鐨勬暟鎹�</param> + /// <param name="RequestName">璇锋眰鎺ュ彛</param> + /// <param name="listNotShowError">涓嶉渶瑕佹樉绀洪敊璇殑閿欒绫诲埆(鎺ュ彛杩斿洖鐨勯敊璇被鍒�)</param> + /// <param name="pra">璇锋眰鐨勫弬鏁�</param> + public static bool CheckNotEorrorMsg(ResponsePack revertObj, string RequestName, List<string> listNotShowError = null, object pra = null) + { + if (revertObj == null) + { + Application.RunOnMainThread(() => + { + //缃戠粶涓嶇ǔ瀹�,璇风◢鍚庡啀璇� + string msg = Language.StringByID(R.MyInternationalizationString.uNetIsUnStabilityAndDoAgain); + var control = new ShowMsgControl(ShowMsgType.Tip, msg); + control.Show(); + }); + + return false; + } + if (revertObj.StateCode.ToUpper() != "SUCCESS") + { + if (listNotShowError != null && listNotShowError.Contains(revertObj.StateCode) == true) + { + //涓嶆樉绀洪敊璇�,鐒跺悗杩斿洖true + return true; + } + Application.RunOnMainThread(() => + { + if (HdlCheckLogic.Current.IsAccountLoginOut() == true) + { + //濡傛灉鐢ㄦ埛宸茬粡閫�鍑轰簡鐧婚檰,鍒欎笉澶勭悊 + return; + } + string msg = IMessageCommon.Current.GetMsgByRequestName(RequestName, revertObj.StateCode, pra); + if (msg != null) + { + var control = new ShowMsgControl(ShowMsgType.Tip, msg); + control.Show(); + + //鏃犳晥鐧诲綍Token + if (revertObj.StateCode == "NoLogin") + { + UserCenterLogic.ReLoginAgain(Config.Instance.Account, false); + } + } + }); + + return false; + } + return true; + } + + /// <summary> + /// 鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� + /// </summary> + /// <param name="checkAuthority">鏄惁妫�娴嬫潈闄�</param> + /// <returns></returns> + public static HttpConnectMode GetHttpConnectMode(bool checkAuthority) + { + if (checkAuthority == false) + { + return HttpConnectMode.Normal; + } + if (Config.Instance.isAdministrator == true) + { + return HttpConnectMode.Admin; + } + return HttpConnectMode.Normal; + } + + #endregion + + #region 鈻� 娣诲姞鐣岄潰鐩稿叧_______________________ + + /// <summary> + /// 妫�娴嬭兘鍚︽坊鍔犵敾闈� + /// </summary> + /// <returns>true:鍙互杩藉姞 false:涓嶅彲杩藉姞</returns> + /// <param name="form">Form</param> + public static bool CheckCanAddForm(CommonFormBase form) + { + //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 + string formName = GetFormName(form); + + //浜岄噸杩藉姞涓嶅彲 + if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false) + { + return true; + } + //鏆傛椂杩欐牱寮勭湅鐪嬶紝濡傛灉閲嶅锛屽垯鍏抽棴鎺夊師鏉ョ殑鐣岄潰 + var formTemp = UserCenterResourse.DicActionForm[formName]; + formTemp.CloseForm(); + UserCenterResourse.DicActionForm.Remove(formName); + formTemp = null; + + return true; + } + + /// <summary> + /// 鎶婃墦寮�鐨勭敾闈㈡坊鍔犲埌鍐呭瓨涓� + /// </summary> + /// <param name="form">Form.</param> + public static void AddActionForm(CommonFormBase form) + { + //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 + string formName = GetFormName(form); + + //浜岄噸杩藉姞涓嶅彲 + if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false) + { + form.FormID = formName; + //鍐呭瓨娣诲姞 + UserCenterResourse.DicActionForm[formName] = form; + //娣诲姞鐢婚潰鏃讹紝瀹冭嚜韬氨鏄縺娲荤殑鐣岄潰 + UserCenterResourse.NowActionFormID = form.FormID; + + UserCenterResourse.listActionFormId.Add(form.FormID); + } + } + + /// <summary> + /// 浠庡垪琛ㄤ腑绉婚櫎鐢婚潰 + /// </summary> + /// <param name="form">Form</param> + public static void RemoveActionForm(CommonFormBase form) + { + //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 + string formName = GetFormName(form); + + if (UserCenterResourse.DicActionForm.ContainsKey(formName) == true) + { + //鍒锋柊褰撳墠姝e湪鎿嶄綔鐨勭敾闈D + if (UserCenterResourse.NowActionFormID == UserCenterResourse.DicActionForm[formName].FormID) + { + //鍚戝墠鎺ㄤ竴浣嶅嵆涓轰笅涓�涓縺娲荤殑鐣岄潰 + int index = UserCenterResourse.listActionFormId.IndexOf(UserCenterResourse.NowActionFormID) - 1; + //鍒濆鍊� + UserCenterResourse.NowActionFormID = string.Empty; + if (index >= 0) + { + var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1); + if (actionForm != null && actionForm is CommonFormBase) + { + //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID + UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; + //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊 + if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) + { + try + { + var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; + if (Myform is EditorCommonForm) + { + //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 + int value = ((EditorCommonForm)Myform).FormActionAgainEvent(); + if (value == 1) + { + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + } + } + } + catch (Exception ex) + { + //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け + var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost)); + alert.Show(); + + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(ex); + } + } + } + else if (actionForm != null && actionForm is UserView.UserPage) + { + //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡,濡傛灉瀹冨寘鍚釜浜轰腑蹇冧富椤电殑璇� + if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == true) + { + //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID + UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index]; + //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊 + if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) + { + try + { + var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; + if (Myform is EditorCommonForm) + { + //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢 + int value = ((EditorCommonForm)Myform).FormActionAgainEvent(); + if (value == 1) + { + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�"); + } + } + } + catch (Exception ex) + { + //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け + var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost)); + alert.Show(); + + //Log鍑哄姏 + HdlLogLogic.Current.WriteLog(ex); + } + } + } + } + } + } + //绉婚櫎ID + UserCenterResourse.listActionFormId.Remove(UserCenterResourse.DicActionForm[formName].FormID); + //绉婚櫎鐢婚潰 + var formTemp = UserCenterResourse.DicActionForm[formName]; + UserCenterResourse.DicActionForm.Remove(formName); + formTemp = null; + } + } + + /// <summary> + /// 鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧 + /// </summary> + /// <returns>The form name.</returns> + /// <param name="form">Form.</param> + public static string GetFormName(CommonFormBase form) + { + if (form.FormID != string.Empty) + { + return form.FormID; + } + //灏嗗懡鍚嶇┖闂村幓鎺� + string[] Arry = form.ToString().Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries); + string formName = Arry[Arry.Length - 1].Trim(); + return formName; + } + + /// <summary> + /// 鑾峰彇褰撳墠姝e湪婵�娲荤殑鐢婚潰 + /// </summary> + /// <returns></returns> + public static CommonFormBase GetNowActionForm() + { + if (UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true) + { + return UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID]; + } + return null; + } + + #endregion + + #region 鈻� 鍒锋柊鏈湴缂撳瓨_______________________ + /// <summary> + /// 鍒锋柊鏈湴鎵�鏈夌紦瀛� + /// </summary> + public static void RefreshAllMemory() + { + //澶囦唤鐨勬暟鎹紝鏈夊彲鑳芥槸涓讳汉鑷繁涓婁紶鐨勶紝濡傛灉绠$悊鍛樼櫥闄嗘椂锛屼粬鑾峰彇鐨勫浠芥暟鎹湁鐐圭壒娈� + //姣斿涓嬮潰杩欎笁涓笢瑗垮湪涓昏处鍙烽偅閲屾槸涓嶉渶瑕佺殑 + bool isOthreShare = Config.Instance.Home.IsOthreShare; + int accountType = Config.Instance.Home.AccountType; + string mainMark = Config.Instance.Home.MainUserDistributedMark; + //杩樺師浣忓畢瀵硅薄 + Config.Instance.Home = House.GetHouseByHouseId(Config.Instance.Home.Id); + Config.Instance.Home.IsOthreShare = isOthreShare; + Config.Instance.Home.AccountType = accountType; + Config.Instance.Home.MainUserDistributedMark = mainMark; + Config.Instance.Home.Save(); + + //鍒锋柊鏈湴缃戝叧鏂囦欢 + HdlGatewayLogic.Current.ReFreshByLocal(); + //鍒锋柊鏈湴璁惧 + Common.LocalDevice.Current.ReFreshByLocal(); + //闇�浼樺厛浜庡埛鏂版埧闂�,鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� + HdlGatewayLogic.Current.SynchronizeDbGateway(); + //浠庢湰鍦伴噸鏂板姞杞藉叏閮ㄧ殑鎴块棿 + Common.Room.RefreshAllRoomByLocation(); + } + + #endregion + + #region 鈻� 鍒犻櫎鏈湴鏂囦欢_______________________ + + /// <summary> + /// 鍒犻櫎鏈湴鎵�鏈夋枃浠� + /// </summary> + /// <param name="all">true:鍏ㄩ儴鍒犻櫎(鐢ㄤ簬浣忓畢鍒犻櫎) false:閲嶈鐨勬枃浠朵笉鍒犻櫎</param> + public static void DeleteAllLocationFile(bool all = true) + { + string dPath = Config.Instance.FullPath; + if (System.IO.Directory.Exists(dPath) == false) + { + return; + } + + //鐒跺悗鑾峰彇鍏ㄩ儴鐨勬枃浠� + List<string> listFile = Global.FileListByHomeId(); + foreach (string file in listFile) + { + if (all == false && IsNotDeleteFile(file) == true) + { + //杩欐槸涓嶈兘鍒犻櫎鐨勬枃浠� + continue; + } + //鍒犻櫎鏂囦欢 + Global.DeleteFilebyHomeId(file); + } + //濡傛灉鏄妸鏂囦欢鍏ㄩ儴鍒犻櫎鐨勮瘽锛岄偅涔堟枃浠跺す涔熶竴璧峰垹闄ゆ帀 + if (all == true) + { + //鍒犻櫎鏂囦欢澶� + System.IO.Directory.Delete(dPath, true); + } + } + + /// <summary> + /// 鍒ゆ柇鏄笉鏄笉搴旇鍒犻櫎鐨勬枃浠� + /// </summary> + /// <param name="fileName"></param> + /// <returns></returns> + public static bool IsNotDeleteFile(string fileName) + { + if (fileName == "Config.json") + { + //涓嶈兘鍒犻櫎Config鏂囦欢 + return true; + } + else if (fileName.StartsWith("House_") == true) + { + //涓嶈兘鍒犻櫎浣忓畢鏂囦欢 + return true; + } + return false; + } + + #endregion + + #region 鈻� 閲嶆柊鐧诲綍___________________________ + + /// <summary> + /// 閲嶆柊鐧诲綍 + /// </summary> + /// <param name="account">璐﹀彿</param> + /// <param name="noticeDb">鏄惁閫氱煡浜戠</param> + public static void ReLoginAgain(string account = "", bool noticeDb = true) + { + UserCenterResourse.Option.OldAccountId = string.Empty; + //鍏抽棴鎵�鏈夋帴鏀� + HdlDeviceAttributeLogic.Current.RemoveAllEvent(); + //娓呴櫎鍗囩骇鍒楄〃 + FirmwareUpdateResourse.dicDeviceUpdateList.Clear(); + FirmwareUpdateResourse.dicGatewayUpdateList.Clear(); + + HdlThreadLogic.Current.RunThread(async () => + { + //妫�娴婣PP鏄惁鑳藉閫�鍑� + while (UserCenterResourse.Option.AppCanSignout == false) + { + await Task.Delay(500); + } + //璁惧畾涓�涓椂闂� + Config.Instance.LoginDateTime = new DateTime(1970, 1, 1); + Config.Instance.Save(); + + //娓呯┖褰撳墠浣忓畢id + Shared.Common.Config.Instance.HomeId = string.Empty; + HdlGatewayLogic.Current.ClearAllRealGateway(); + try + { + ZigBee.Device.ZbGateway.RemoteMqttClient?.DisconnectAsync(); + } + catch { } + + if (noticeDb == true) + { + //閫氱煡浜戠锛屽凡缁忛��鍑虹櫥闄� + var result = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/SignOut", null, "GET"); + } + HdlThreadLogic.Current.RunMain(() => + { + //鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 + CloseAllOpenForm(); + + //鏄剧ず鐧婚檰鐢婚潰 + var formLogin = new Shared.Phone.Device.Account.AccountLogin(); + Shared.Common.CommonPage.Instance.AddChidren(formLogin); + formLogin.Show(account); + }); + }); + } + + /// <summary> + /// 鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 + /// </summary> + public static void CloseAllOpenForm() + { + var listForm = new List<CommonFormBase>(); + var listId = new List<string>(); + foreach (CommonFormBase form in UserCenterResourse.DicActionForm.Values) + { + if (form.FormID != "UserMainForm") + { + listForm.Insert(0, form); + listId.Add(form.FormID); + } + } + foreach (var id in listId) + { + UserCenterResourse.DicActionForm.Remove(id); + } + + //鍏抽棴鎵�鏈夌敾闈� + foreach (CommonFormBase form in listForm) + { + form.CloseForm(); + } + listForm.Clear(); + } + + #endregion + + #region 鈻� 瀛愭帶浠剁殑Y杞村潗鏍嘷___________________ + + /// <summary> + /// 鎸囧畾浣嶇疆绫诲瀷鑾峰彇Rowlayout鐨勫瓙鎺т欢鐨刌杞村潗鏍�(璇风‘淇濆瓙鎺т欢涓嶅ぇ浜庣埗瀹瑰櫒) + /// </summary> + /// <param name="fatherCtrHeight">鐖舵帶浠剁殑鐪熷疄楂樺害</param> + /// <param name="ctrHeight">瀛愭帶浠剁殑鐪熷疄楂樺害</param> + /// <param name="alignment">浣嶇疆瀵归綈鏂瑰紡</param> + /// <param name="Space">涓婁笅闂寸殑绌虹櫧闂磋窛,鐪佺暐鏃讹紝鍙栬鎺т欢鍏遍�氬彉閲忕殑鍊笺�傝缃负-1鏃讹紝涓嶈绠楃┖鐧介棿璺�</param> + /// <returns></returns> + public static int GetControlChidrenYaxis(int fatherCtrHeight, int ctrHeight, UViewAlignment alignment, int Space = 0) + { + if (Space < 0) + { + //涓嶈绠楅棿璺濆�� + Space = 0; + } + + if (alignment == UViewAlignment.Center) + { + return fatherCtrHeight / 2 - ctrHeight / 2; + } + else if (alignment == UViewAlignment.Top) + { + return (fatherCtrHeight / 2 - Space / 2) / 2 - ctrHeight / 2; + } + else + { + int top = fatherCtrHeight / 2 + Space / 2; + return top + (fatherCtrHeight - top) / 2 - ctrHeight / 2; + } + } + + #endregion + + #region 鈻� 鎷兼帴淇℃伅___________________________ + + /// <summary> + /// 鎷兼帴璺緞(鍏ㄨ矾寰�)锛屼互浣忓畢ID鐨勬枃浠跺す涓鸿捣鐐癸紝褰撴病鏈夋寚瀹氬弬鏁版椂锛屽垯杩斿洖銆愪綇瀹匢D鐨勬枃浠跺す銆戠殑鍏ㄨ矾寰� + /// </summary> + /// <param name="listNames">瑕佹嫾鎺ョ殑璺緞</param> + /// <returns></returns> + public static string CombinePath(params object[] listNames) + { + string rootPath = Config.Instance.FullPath; + if (listNames == null || listNames.Length == 0) + { + return rootPath; + } + foreach (var file in listNames) + { + if (file == null) + { + continue; + } + rootPath = System.IO.Path.Combine(rootPath, file.ToString()); + } + return rootPath; + } + + /// <summary> + /// 鎷兼帴缃戝叧鍥炲瓒呮椂鐨勪俊鎭� + /// </summary> + /// <param name="errorMsg">閿欒淇℃伅</param> + /// <param name="resultData">缃戝叧杩斿洖鐨剅esultData,閲岄潰鏈夈�恊rrorMessageBase銆戣繖涓笢瑗跨殑閭g瀵硅薄</param> + /// <param name="strResultData">缃戝叧杩斿洖鐨剅esultData,閲岄潰鐨勩�恊rrorMessageBase銆戠殑鍊�,璁惧畾鏈夋鍊兼椂锛宺esultData鏃犳晥</param> + /// <param name="addBrackets">鏄惁娣诲姞鎷彿</param> + /// <returns></returns> + public static string CombineGatewayTimeOutMsg(string errorMsg, object resultData, string strResultData = null, bool addBrackets = true) + { + if (resultData == null && strResultData == null) + { + return errorMsg; + } + + string errorMsgBase = strResultData; + if (errorMsgBase == null) + { + Type myType = resultData.GetType(); + object errorObj = myType.InvokeMember("errorMessageBase", System.Reflection.BindingFlags.GetField, null, resultData, null); + if (errorObj == null) + { + return errorMsg; + } + errorMsgBase = errorObj.ToString(); + } + + if (errorMsgBase.Contains("鍥炲瓒呮椂") == false) + { + //鍙湁鍥炲瓒呮椂鐨勬椂鍊欐墠浼氬姞涓� + return errorMsg; + } + errorMsg += "\r\n"; + if (addBrackets == true) + { + //(缃戝叧鍥炲瓒呮椂,璇风◢鍚庡啀璇�) + return errorMsg + "(" + Language.StringByID(R.MyInternationalizationString.uGatewayResponseTimeOut) + ")"; + } + else + { + //缃戝叧鍥炲瓒呮椂,璇风◢鍚庡啀璇� + return errorMsg + Language.StringByID(R.MyInternationalizationString.uGatewayResponseTimeOut); + } + } + + #endregion + + #region 鈻� 鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼___________ + + /// <summary> + /// 寮傛鏂规硶鎵ц(浠呴檺鍒囨崲浣忓畢鏃惰皟鐢�)锛屽埛鏂颁釜浜轰腑蹇冪殑鍐呭瓨鍙婄嚎绋� + /// </summary> + public async static Task<bool> InitUserCenterMenmoryAndThread() + { + //APP缂撳瓨鍔犺浇寮�濮� + UserCenterResourse.Option.AppCanSignout = false; + + //寮哄埗鎸囧畾涓嶅叧闂繘搴︽潯 + ProgressBar.SetCloseBarFlag(true); + + //鍙湁鍦ㄤ綇瀹匢D涓嶄竴鏍风殑鏃跺�欐墠鍋氳繖涓搷浣� + if (Common.Config.Instance.HomeId != UserCenterResourse.Option.OldHomeStringId + || Common.Config.Instance.Account != UserCenterResourse.Option.OldAccountId) + { + //鍔犺浇璐﹀彿閰嶇疆淇℃伅 + var optionInfo = UserCenterResourse.Option.Load(); + UserCenterResourse.Option = optionInfo; + //鍙樻洿鏍圭敤鎴峰浘鐗囩洰褰曡矾寰� + UserCenterResourse.Option.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory); + + //鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅 + await InitUserAccoutInfo(); + //鍒濆鍖栫鐞嗗憳鏉冮檺淇℃伅 + await InitAdminConnectMqttInfo(true); + + //鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅 + InitLocalMemberListInfo(); + + //閲嶆柊鍙戦�佸懡浠ゅ幓缁戝畾鏂綉鎯呭喌涓嬪浠界殑缃戝叧 + HdlGatewayLogic.Current.ResetComandToBindBackupGateway(); + + //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� + CreatAllUserCenterDirectory(); + + //鍏抽棴鎵�鏈夋帴鏀� + HdlDeviceAttributeLogic.Current.RemoveAllEvent(); + //鍒锋柊瀹夐槻涓婃姤淇℃伅 + HdlAlarmsLogic.Current.RefreshAlarmInfo(); + //娣诲姞淇濆瓨瀹夐槻璁惧鎶ヨ鐨勪簨浠�(涓嶉渶瑕佸啀鎵ц浠讳綍鎿嶄綔,骞朵笖姘镐箙瀛樺湪) + HdlAlarmsLogic.Current.AddAlarmInfoEvent(); + + //淇濆瓨鐢ㄦ埛鐨勭櫥闄嗕俊鎭埌鏈湴 + SaveUserInformationToLocation(); + + UserCenterResourse.Option.OldHomeStringId = Common.Config.Instance.HomeId; + UserCenterResourse.Option.OldAccountId = Common.Config.Instance.Account; + + //鍚屾鏁版嵁(浜屾璋冪敤娌″叧绯�) + var result = await HdlAutoBackupLogic.SynchronizeDbAutoBackupData(); + + //鍒濆鍖栨湰鍦扮殑缃戝叧淇℃伅 + HdlGatewayLogic.Current.ReFreshByLocal(); + //鍒濆鍖栨湰鍦扮殑璁惧淇℃伅 + Common.LocalDevice.Current.ReFreshByLocal(); + + //鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� + HdlGatewayLogic.Current.SynchronizeDbGateway(); + + //鍒濆鍖栦綇瀹呭璞� + Common.Config.Instance.Home = House.GetHouseByHouseId(Common.Config.Instance.HomeId); + + //鍒濆鍖栨埧闂�(閮洩鍩庨偅杈逛笉鍋氬鐞�,闇�瑕佽繖閲岀壒娈婃墽琛屼竴姝�) + Room.RefreshAllRoomByLocation(); + + //鍒锋柊APP鍓嶄竴娆¢�夋嫨鐨勭綉鍏矷D(鍙互鍙嶅璋冪敤,闇�瑕佸湪缃戝叧鍒濆鍖栧畬浜嗕箣鍚庢墠鑳借皟鐢�) + HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId(); + + //娓呯┖寮哄埗鎸囧畾鏂囨湰鐨勯檮鍔犱俊鎭� + ProgressBar.SetAppendText(string.Empty); + + //0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝�,杩欎釜鏃跺�欓渶瑕佹彁绀哄浠� + //if (result == 0) + //{ + // //寮�鍚嚜鍔ㄥ浠芥彁绀� + // HdlAutoBackupLogic.ShowAutoBackupPromptedForm(); + //} + } + + //鎭㈠鍙叧闂繘搴︽潯 + ProgressBar.SetCloseBarFlag(false); + //APP缂撳瓨鍔犺浇瀹屾垚 + UserCenterResourse.Option.AppCanSignout = true; + + return true; + } + + #endregion + + #region 鈻� 鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅_______________ + + /// <summary> + /// 鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅 + /// </summary> + /// <returns></returns> + private async static Task<bool> InitUserAccoutInfo() + { + //鑾峰彇鏈湴璁板綍鐨勭敤鎴蜂俊鎭� + UserCenterResourse.UserInfo = GetUserInformationFromLocation(); + UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); + + //鑾峰彇鐧诲綍璐﹀彿鐨勪俊鎭� + var pra = new AccountInfoPra(); + var listNotShow = new List<string>() { "NotSetAgain" }; + string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetAccountInfo", false, pra, listNotShow); + if (string.IsNullOrEmpty(result) == true) + { + //鏂綉鐨勮瘽锛岃骞插槢灏卞共鍢涘惂,鎬讳箣涓嶈兘鎺т富浜虹殑涓滆タ + Config.Instance.isAdministrator = false; + return false; + } + + var userInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInformation>(result); + userInfo.Account = Common.Config.Instance.Account; + if (string.IsNullOrEmpty(userInfo.UserName) == true) + { + //娌℃湁鏄电О鐨勬椂鍊欙紝鎶婅处鍙蜂綔涓烘樀绉� + userInfo.UserName = Common.Config.Instance.Account; + } + + if (Common.Config.Instance.Home.IsOthreShare == false) + { + //韬唤:绠$悊鍛� + userInfo.AuthorityNo = 1; + userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.Administrator); + } + else if (Common.Config.Instance.Home.AccountType == 1) + { + //韬唤:鎴愬憳(鎷ユ湁绠$悊鍛樻潈闄�) + userInfo.AuthorityNo = 2; + userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.uMemberHadActionAuthority); + } + else + { + //韬唤:鎴愬憳 + userInfo.AuthorityNo = 3; + userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.uMember); + } + + if (UserCenterResourse.UserInfo.AuthorityNo != userInfo.AuthorityNo) + { + //濡傛灉鐧婚檰鐨勮处鍙风殑鏉冮檺鍜屼笂涓�娆$殑涓嶄竴鏍�,鍒欏垹闄ゆ湰鍦拌繖涓綇瀹呭叏閮ㄧ殑鏂囦欢,浠庡ご鍐嶆潵 + string dirPath = CombinePath(); + if (System.IO.Directory.Exists(dirPath) == true) + { + //鍏堣褰曡捣浣忓畢鐨勪竴浜涗俊鎭� + var house = House.GetHouseByHouseId(Config.Instance.HomeId); + //鍒犻櫎鏁翠釜鏂囦欢澶� + System.IO.Directory.Delete(dirPath, true); + //鍒涘缓浣忓畢鏂囦欢澶� + Global.CreateHomeDirectory(Config.Instance.HomeId); + //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� + CreatAllUserCenterDirectory(); + + var newHouse = new House(); + newHouse.Id = house.Id; + newHouse.Name = house.Name; + newHouse.IsOthreShare = house.IsOthreShare; + newHouse.AccountType = house.AccountType; + newHouse.MainUserDistributedMark = house.MainUserDistributedMark; + newHouse.Save(); + } + } + if (string.IsNullOrEmpty(userInfo.UserName) == true) + { + //娌℃湁鏄电О鐨勮瘽,鎶婅处鍙蜂涪杩囧幓 + userInfo.UserName = userInfo.Account; + } + + UserCenterResourse.UserInfo = userInfo; + UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png"); + if (UserCenterResourse.UserInfo.HeadImage != null) + { + //鍐欏叆澶村儚鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(UserCenterResourse.UserInfo.UserIconFile, UserCenterResourse.UserInfo.HeadImage); + } + UserCenterResourse.UserInfo.HeadImage = null; + //鎵嬪娍瀵嗙爜 + UserCenterResourse.Option.GestureAuthentication = UserCenterResourse.UserInfo.GesturePwd == null ? string.Empty : UserCenterResourse.UserInfo.GesturePwd; + UserCenterResourse.UserInfo.GesturePwd = null; + //瀵嗙爜楠岃瘉 + UserCenterResourse.Option.PswAuthentication = UserCenterResourse.UserInfo.StringPwd == null ? string.Empty : UserCenterResourse.UserInfo.StringPwd; + UserCenterResourse.UserInfo.StringPwd = null; + + //鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�) + await InitAdminConnectMainInfo(); + + return true; + } + + /// <summary> + /// 浠庢湰鍦拌幏鍙栫敤鎴风殑鐧婚檰淇℃伅 + /// </summary> + /// <returns></returns> + private static UserInformation GetUserInformationFromLocation() + { + string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); + var value = LoadFileContent(fileName); + if (value == null) + { + return new UserInformation(); + } + var info = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInformation>(value); + return info; + } + + /// <summary> + /// 淇濆瓨鐢ㄦ埛鐨勭櫥闄嗕俊鎭埌鏈湴 + /// </summary> + private static void SaveUserInformationToLocation() + { + string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); + //鍐欏叆鍐呭 + SaveFileContent(fullName, UserCenterResourse.UserInfo); + + //鎼炰竴涓嬩富浜虹殑榛樿澶村儚 + string defultFile = IO.FileUtils.GetImageFilePath("Center/Admin.png"); + if (defultFile == string.Empty) + { + return; + } + if (System.IO.File.Exists(UserCenterResourse.UserInfo.UserIconFile) == true) + { + return; + } + //澶嶅埗杩囧幓 + System.IO.File.Copy(defultFile, UserCenterResourse.UserInfo.UserIconFile); + } + + #endregion + + #region 鈻� 鍒濆鍖栫鐞嗗憳鏉冮檺杩滅▼杩炴帴___________ + + /// <summary> + /// 鍒濆鍖栫鐞嗗憳鏉冮檺杩滅▼杩炴帴涓讳汉鐨勪俊鎭� + /// </summary> + /// <returns></returns> + public static async Task<bool> InitAdminConnectMainInfo() + { + //鍏堟竻绌� + Config.Instance.isAdministrator = false; + Config.Instance.AdminRequestBaseUrl = string.Empty; + Config.Instance.AdminRequestToken = string.Empty; + + if (UserCenterResourse.UserInfo.AuthorityNo != 2) + { + //鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳鎵嶈兘杩欐牱鎼�, 杩欓噷蹇呴』鏄�2 + return true; + } + var pra = new + { + CommonPage.RequestVersion, + LoginAccessToken = Config.Instance.Token, + MainAccountId = Config.Instance.Home.MainUserDistributedMark, + SharedHid = Config.Instance.Home.Id + }; + + var listNotShow = new List<string>() { "NotSetAgain" }; + var result = await GetResponseDataByRequestHttps("App/GetSharedHomeApiControl", false, pra, listNotShow); + if (string.IsNullOrEmpty(result) == true) + { + return false; + } + + Config.Instance.isAdministrator = true; + //鍒嗕韩閾炬帴 + var info = JsonConvert.DeserializeObject<MemberAdministratorResult>(result); + Config.Instance.AdminRequestBaseUrl = info.RequestBaseUrl; + Config.Instance.AdminRequestToken = info.RequestToken; + + return true; + } + + /// <summary> + /// 鍒濆鍖栫鐞嗗憳鏉冮檺鐨勮繙绋嬭繛鎺ヤ俊鎭� + /// </summary> + /// <param name="stopRemote">鏄惁涓柇杩滅▼</param> + /// <returns></returns> + public static async Task<bool> InitAdminConnectMqttInfo(bool stopRemote = false) + { + if (UserCenterResourse.UserInfo.AuthorityNo != 2 && UserCenterResourse.UserInfo.AuthorityNo != 3) + { + //鍙湁鎴愬憳鍒嗚韩鎵嶈兘璋冪敤杩欎釜鍑芥暟 + return true; + } + var praMqtt = new + { + CommonPage.RequestVersion, + LoginAccessToken = Config.Instance.Token, + Config.Instance.Home.MainUserDistributedMark, + HomeId = Config.Instance.Home.Id + }; + + var listNotShow = new List<string>() { "NotSetAgain" }; + var result2 = await GetResponseDataByRequestHttps("App/GetConnectMainUserMqttInfo", false, praMqtt, listNotShow); + if (string.IsNullOrEmpty(result2) == true) + { + return false; + } + + //杩滅▼Mqtt + var info2 = JsonConvert.DeserializeObject<MemberAdministratorMqttResult>(result2); + Config.Instance.AdminConnectZigbeeMqttBrokerPwd = info2.ConnectZigbeeMqttBrokerPwd; + Config.Instance.AdminConnectZigbeeMqttClientId = info2.ConnectZigbeeMqttClientId; + Config.Instance.AdminMqttKey = info2.MqttKey; + Config.Instance.AdminZigbeeMqttBrokerLoadSubDomain = info2.ZigbeeMqttBrokerLoadSubDomain; + Config.Instance.AdminConnectZigbeeMqttBrokerName = info2.ConnectZigbeeMqttBrokerName; + + return true; + } + + #endregion + + #region 鈻� 鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅_______________ + + /// <summary> + /// 鍒濆鍖栫紦瀛樻垚鍛樼殑淇℃伅 + /// </summary> + private static void InitLocalMemberListInfo() + { + //鍏堟竻绌� + UserCenterResourse.ListMemberInfo.Clear(); + string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.MemberListInfoFile); + if (System.IO.File.Exists(fileName) == false) + { + return; + } + var varByte = Shared.IO.FileUtils.ReadFile(fileName); + UserCenterResourse.ListMemberInfo = JsonConvert.DeserializeObject<List<MemberInfoRes>>(System.Text.Encoding.UTF8.GetString(varByte)); + } + + /// <summary> + /// 淇濆瓨缂撳瓨鎴愬憳鐨勪俊鎭� + /// </summary> + public static void SaveLocalMemberListInfo() + { + var data = Newtonsoft.Json.JsonConvert.SerializeObject(UserCenterResourse.ListMemberInfo); + var byteData = System.Text.Encoding.UTF8.GetBytes(data); + + string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.MemberListInfoFile); + //鍐欏叆鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData); + } + + #endregion + + #region 鈻� 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶筥________ + + /// <summary> + /// 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� + /// </summary> + public static void CreatAllUserCenterDirectory() + { + //鏈湴缂撳瓨鐨勬牴鐩綍 + string LocalDirectory = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory); + Global.CreateEmptyDirectory(LocalDirectory); + + //鑷姩澶囦唤銆愭枃浠跺す銆�(缂栬緫,杩藉姞) + string directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupDirectory); + Global.CreateEmptyDirectory(directory); + + //鑷姩澶囦唤銆愭枃浠跺す銆�(鍒犻櫎) + directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupdeleteDirectory); + Global.CreateEmptyDirectory(directory); + + //涓嬭浇澶囦唤鐨勬椂鍊欐墍浣跨敤鐨勪复鏃躲�愭枃浠跺す銆� + directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadBackupTempDirectory); + Global.CreateEmptyDirectory(directory); + + //淇濆瓨瀹夐槻璁板綍鐨勩�愭枃浠跺す銆� + directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.SafeguardAlarmDirectory); + Global.CreateEmptyDirectory(directory); + + //涓婁紶缃戝叧澶囦唤鏂囦欢鍒颁簯绔殑涓存椂銆愭枃浠跺す銆� + directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.GatewayBackupDirectory); + Global.CreateEmptyDirectory(directory); + + //涓嬭浇鍒嗕韩鏂囦欢鐨勪复鏃躲�愭枃浠跺す銆� + directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadShardDirectory); + Global.CreateEmptyDirectory(directory); + + //LOG鍑哄姏銆愭枃浠跺す銆� + directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.LogDirectory); + Global.CreateEmptyDirectory(directory); + + //鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆� if (UserCenterResourse.Option.UserPictruePath != string.Empty && !System.IO.Directory.Exists(UserCenterResourse.Option.UserPictruePath)) { System.IO.Directory.CreateDirectory(UserCenterResourse.Option.UserPictruePath); - } - } - - #endregion - - #region 鈻� 鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken____________ - - /// <summary> - /// 鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken - /// </summary> - /// <returns></returns> - public static string GetConnectMainToken() - { - //鍚敤绠$悊鍛樻潈闄� - if (Config.Instance.isAdministrator == true) - { - return Config.Instance.AdminRequestToken; - } - return Config.Instance.Token; - } - - #endregion - - #region 鈻� 16杩涘埗杞寲_________________________ - - /// <summary> - /// 灏�16杩涘埗鐨勬枃鏈炕璇戜负姝e父鏂囨湰 - /// </summary> - /// <param name="hexText">16杩涘埗鐨勬枃鏈�</param> - /// <param name="count">浠ュ灏戜釜瀛楄妭涓轰竴缁�</param> - /// <returns></returns> - public static string TranslateHexadecimalIntoText(string hexText, int count = 2) - { - string textValue = string.Empty; - while (hexText.Length > 0) - { - string temp = hexText.Substring(0, count); - hexText = hexText.Substring(count); - int value = Convert.ToInt32(temp, 16); - textValue += ((char)value).ToString(); - } - return textValue; - } - - /// <summary> - /// 灏嗘枃鏈炕璇戜负16杩涘埗鐨勬枃鏈� - /// </summary> - /// <param name="text">鎸囧畾鏂囨湰</param> - /// <returns></returns> - public static string TranslateTextIntoHexadecimal(string text) - { - string textValue = string.Empty; - foreach (char c in text) - { - int value = Convert.ToInt32(c); - textValue += Convert.ToString(value, 16); - } - return textValue; - } - - #endregion - - #region 鈻� 鍔犲瘑鍜岃В瀵哶________________________ - - /// <summary> - /// 鍔犲瘑瀵嗙爜 - /// </summary> - /// <param name="keys"></param> - /// <param name="strPsw"></param> - /// <returns></returns> - public static string EncryptPassword(string keys, string strPsw) - { - if (strPsw == string.Empty) - { - return strPsw; - } - var des = new System.Security.Cryptography.DESCryptoServiceProvider(); - byte[] inputByteArray = Encoding.Default.GetBytes(strPsw); - des.Key = ASCIIEncoding.ASCII.GetBytes(keys); - des.IV = ASCIIEncoding.ASCII.GetBytes(keys); - var ms = new System.IO.MemoryStream(); - var cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write); - cs.Write(inputByteArray, 0, inputByteArray.Length); - cs.FlushFinalBlock(); - StringBuilder ret = new StringBuilder(); - foreach (byte b in ms.ToArray()) - { - ret.AppendFormat("{0:X2}", b); - } - return ret.ToString(); - } - - /// <summary> - /// 瑙e瘑瀵嗙爜 - /// </summary> - /// <param name="strPsw"></param> - /// <returns></returns> - public static string DecryptPassword(string keys, string strPsw) - { - if (strPsw == string.Empty) - { - return strPsw; - } - var des = new System.Security.Cryptography.DESCryptoServiceProvider(); - - byte[] inputByteArray = new byte[strPsw.Length / 2]; - for (int x = 0; x < strPsw.Length / 2; x++) - { - int i = (Convert.ToInt32(strPsw.Substring(x * 2, 2), 16)); - inputByteArray[x] = (byte)i; - } - - des.Key = ASCIIEncoding.ASCII.GetBytes(keys); - des.IV = ASCIIEncoding.ASCII.GetBytes(keys); - var ms = new System.IO.MemoryStream(); - var cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write); - cs.Write(inputByteArray, 0, inputByteArray.Length); - cs.FlushFinalBlock(); - - StringBuilder ret = new StringBuilder(); - - return System.Text.Encoding.Default.GetString(ms.ToArray()); - } - #endregion - - #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________ - - /// <summary> - /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> - public static void SaveFileContent(string fullName, object obj) - { - var data = Newtonsoft.Json.JsonConvert.SerializeObject(obj); - var byteData = System.Text.Encoding.UTF8.GetBytes(data); - //鍐欏叆鍐呭 - Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData); - } - - /// <summary> - /// 璇诲彇鏂囦欢(鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull,鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <returns></returns> - public static string LoadFileContent(string fullName) - { - if (System.IO.File.Exists(fullName) == false) - { - return null; - } - var varByte = Shared.IO.FileUtils.ReadFile(fullName); - return System.Text.Encoding.UTF8.GetString(varByte); - } - - #endregion - } -} \ No newline at end of file + } + } + + #endregion + + #region 鈻� 鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken____________ + + /// <summary> + /// 鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken + /// </summary> + /// <returns></returns> + public static string GetConnectMainToken() + { + //鍚敤绠$悊鍛樻潈闄� + if (Config.Instance.isAdministrator == true) + { + return Config.Instance.AdminRequestToken; + } + return Config.Instance.Token; + } + + #endregion + + #region 鈻� 16杩涘埗杞寲_________________________ + + /// <summary> + /// 灏�16杩涘埗鐨勬枃鏈炕璇戜负姝e父鏂囨湰 + /// </summary> + /// <param name="hexText">16杩涘埗鐨勬枃鏈�</param> + /// <param name="count">浠ュ灏戜釜瀛楄妭涓轰竴缁�</param> + /// <returns></returns> + public static string TranslateHexadecimalIntoText(string hexText, int count = 2) + { + string textValue = string.Empty; + while (hexText.Length > 0) + { + string temp = hexText.Substring(0, count); + hexText = hexText.Substring(count); + int value = Convert.ToInt32(temp, 16); + textValue += ((char)value).ToString(); + } + return textValue; + } + + /// <summary> + /// 灏嗘枃鏈炕璇戜负16杩涘埗鐨勬枃鏈� + /// </summary> + /// <param name="text">鎸囧畾鏂囨湰</param> + /// <returns></returns> + public static string TranslateTextIntoHexadecimal(string text) + { + string textValue = string.Empty; + foreach (char c in text) + { + int value = Convert.ToInt32(c); + textValue += Convert.ToString(value, 16); + } + return textValue; + } + + #endregion + + #region 鈻� 鍔犲瘑鍜岃В瀵哶________________________ + + /// <summary> + /// 鍔犲瘑瀵嗙爜 + /// </summary> + /// <param name="keys"></param> + /// <param name="strPsw"></param> + /// <returns></returns> + public static string EncryptPassword(string keys, string strPsw) + { + if (strPsw == string.Empty) + { + return strPsw; + } + var des = new System.Security.Cryptography.DESCryptoServiceProvider(); + byte[] inputByteArray = Encoding.Default.GetBytes(strPsw); + des.Key = ASCIIEncoding.ASCII.GetBytes(keys); + des.IV = ASCIIEncoding.ASCII.GetBytes(keys); + var ms = new System.IO.MemoryStream(); + var cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write); + cs.Write(inputByteArray, 0, inputByteArray.Length); + cs.FlushFinalBlock(); + StringBuilder ret = new StringBuilder(); + foreach (byte b in ms.ToArray()) + { + ret.AppendFormat("{0:X2}", b); + } + return ret.ToString(); + } + + /// <summary> + /// 瑙e瘑瀵嗙爜 + /// </summary> + /// <param name="strPsw"></param> + /// <returns></returns> + public static string DecryptPassword(string keys, string strPsw) + { + if (strPsw == string.Empty) + { + return strPsw; + } + var des = new System.Security.Cryptography.DESCryptoServiceProvider(); + + byte[] inputByteArray = new byte[strPsw.Length / 2]; + for (int x = 0; x < strPsw.Length / 2; x++) + { + int i = (Convert.ToInt32(strPsw.Substring(x * 2, 2), 16)); + inputByteArray[x] = (byte)i; + } + + des.Key = ASCIIEncoding.ASCII.GetBytes(keys); + des.IV = ASCIIEncoding.ASCII.GetBytes(keys); + var ms = new System.IO.MemoryStream(); + var cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write); + cs.Write(inputByteArray, 0, inputByteArray.Length); + cs.FlushFinalBlock(); + + StringBuilder ret = new StringBuilder(); + + return System.Text.Encoding.Default.GetString(ms.ToArray()); + } + #endregion + + #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________ + + /// <summary> + /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) + /// </summary> + /// <param name="fullName">鍏ㄨ矾寰�</param> + /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> + public static void SaveFileContent(string fullName, object obj) + { + var data = Newtonsoft.Json.JsonConvert.SerializeObject(obj); + var byteData = System.Text.Encoding.UTF8.GetBytes(data); + //鍐欏叆鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(fullName, byteData); + } + + /// <summary> + /// 璇诲彇鏂囦欢(鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull,鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) + /// </summary> + /// <param name="fullName">鍏ㄨ矾寰�</param> + /// <returns></returns> + public static string LoadFileContent(string fullName) + { + if (System.IO.File.Exists(fullName) == false) + { + return null; + } + var varByte = Shared.IO.FileUtils.ReadFile(fullName); + return System.Text.Encoding.UTF8.GetString(varByte); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs index 27d65b3..81f0a60 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/DirectoryFileNameResourse.cs @@ -114,5 +114,9 @@ /// 鐗╃悊璁惧灞炰簬鍝釜鎴块棿鐨勩�愭枃浠躲�� /// </summary> public const string DeviceRoomIdFile = "020945dd7966a7550090d3c04a04d93cd2278eb4e6aebcf6"; + /// <summary> + /// 淇濆瓨鎰忚鍙嶉娆℃暟鐨勩�愭枃浠躲�� + /// </summary> + public const string SuggestionFile = "f782709778b751ef2b3840f17e407ead"; } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs index b740b67..93da3b6 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs @@ -179,12 +179,8 @@ roomList.Add(room); } } - //褰撳墠鎸夐敭鎵�鏈夋樉绀烘埧闂寸殑鎵�鏈夎澶囧鐞� - var aa = GetALlDispalyRoomDeviceList(); //棣栨鎷垮埌鎵�鏈夋埧闂翠腑鎸夐敭鐨勭洰鏍囧苟瀛樺偍 - //if (IsInitEntry) - //{ - //棣栨鎷垮埌鎵�鏈夋埧闂翠腑鎸夐敭鐨勭洰鏍囧苟瀛樺偍 + GetALlDispalyRoomDeviceList(); if (currentKeyAllRoomDeviceList.Count != 0) { if (currentKey.bindList != null && currentKey.bindList.Count != 0) @@ -203,7 +199,7 @@ } } } - if (oldTargetList != null) + if (oldTargetList.Count != 0) { foreach (var de in oldTargetList.Keys) { @@ -212,7 +208,10 @@ } } - //} + if (roomList.Count == 0) + { + return; + } Shared.Common.Room curRoom = roomList[0]; int index = 0; RefreshRoomList(curRoom, btnChooseKeyMode, ref index); @@ -522,6 +521,10 @@ int curIndex = 0; foreach (var device in curTypeDeviceList) { + if (device.CommonDevice != null && device.CommonDevice.IsOnline == 0) + { + continue; + } #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級 var rowLayout = new FrameLayout() { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs index 6c5273b..3bd0b32 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs @@ -1,6 +1,5 @@ 锘縰sing System; using System.Collections.Generic; -using Java.Util; using Microsoft.AppCenter.Crashes; using Shared.Common; using Shared.Phone.Device.Light; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs index bd43ae4..11acf4a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -18,14 +18,8 @@ /// <param name="common">Common.</param> public void Changed(CommonDevice common) { - //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch) - //{ - // return; - //} - Shared.Application.RunOnMainThread(() => { - //var dev = common as Panel; }); } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs index f39ebc4..1819ec7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs @@ -1,6 +1,5 @@ 锘縰sing System; using System.Collections.Generic; -using Com.Amap.Api.Location; using Shared.Common; using ZigBee.Device; using static ZigBee.Device.BindObj; @@ -14,14 +13,8 @@ /// <param name="common">Common.</param> public void Changed(CommonDevice common) { - //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch) - //{ - // return; - //} - Shared.Application.RunOnMainThread(() => { - //var dev = common as Panel; }); } @@ -154,44 +147,6 @@ return; } } - //if (oldModeID != 65535 && oldModeID != currentModeID) - //{ - //var bindResult = await currentKey.ClearBindInfoAsync(); - //if (bindResult.clearBindInfoResponseData != null) - //{ - // if (bindResult.clearBindInfoResponseData.Result != 0) - // { - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // CommonPage.Loading.Hide(); - // this.RemoveFromParent(); - // btnFinifh.Enable = true; - // return; - // } - // else - // { - // currentKey.bindList.Clear(); - // } - //} - //} - //else - //{ - // foreach (var bindedDev in currentKey.bindList) - // { - // for (int i = 0; i < targetList.Count; i++) - // { - // var de = targetList[i]; - // if (de.DeviceAddr == bindedDev.BindMacAddr && de.DeviceEpoint == bindedDev.BindEpoint) - // { - // oldTargetList.Add(de); - // targetList.RemoveAt(i); - // i--; - // } - // } - // } - //} //2銆侀厤缃ā寮� Panel.SetWritableValueResponAllData temp = null; @@ -237,155 +192,146 @@ temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Wcd_Down_Stop); break; } - if (temp != null && temp.setWritableValueResponData != null && temp.setWritableValueResponData.Status == 0) + if (temp != null && temp.setWritableValueResponData != null) { - ////鍒犻櫎琚嬀鎺夌殑鏁版嵁 - //foreach (var delDev in oldTargetList) - //{ - // var delDev1 = new BindObj.BindListResponseObj(); - // delDev1.BindType = 0; - // delDev1.BindCluster = currentClusterID; - // delDev1.BindMacAddr = delDev.DeviceAddr; - // delDev1.BindEpoint = delDev.DeviceEpoint; - // var result = await BindInfo.RemoveTargets(delDev1, currentKey); - - // if (result == 0) - // { - // var bindSc = currentKey.bindList.Find(obj => - // (obj.BindType == 0 - // && obj.BindCluster == currentClusterID - // && obj.BindMacAddr == delDev.DeviceAddr - // && obj.BindEpoint == delDev.DeviceEpoint - // )); - // currentKey.bindList.Remove(bindSc); - // } - //} - - //3銆佺粦瀹氭柊鐨勬暟鎹� - var addBindeDev = new AddBindData(); - addBindeDev.DeviceAddr = currentKey.DeviceAddr; - addBindeDev.Epoint = currentKey.DeviceEpoint; - - foreach (var de in targetList) + if (temp.setWritableValueResponData.Status == 0) { - if (de.DeviceAddr != null) - { - var addBindInfo = new AddBindListObj(); - addBindInfo.BindType = 0; - addBindInfo.BindCluster = currentClusterID; - addBindInfo.BindMacAddr = de.DeviceAddr; - addBindInfo.BindEpoint = de.DeviceEpoint; - addBindeDev.BindList.Add(addBindInfo); - } - } + //3銆佺粦瀹氭柊鐨勬暟鎹� + var addBindeDev = new AddBindData(); + addBindeDev.DeviceAddr = currentKey.DeviceAddr; + addBindeDev.Epoint = currentKey.DeviceEpoint; - var dev = new AddedDeviceBindResponseAllData(); - dev = await currentKey.AddDeviceBindAsync(addBindeDev); - if (dev.addedDeviceBindResponseData == null) - { - Application.RunOnMainThread(() => + foreach (var de in targetList) { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - } - else - { - foreach (var ab in dev.addedDeviceBindResponseData?.BindList) - { - switch (ab.Result) + if (de.DeviceAddr != null) { - case 0: - currentKey.bindList.Add((BindListResponseObj)ab); + var addBindInfo = new AddBindListObj(); + addBindInfo.BindType = 0; + addBindInfo.BindCluster = currentClusterID; + addBindInfo.BindMacAddr = de.DeviceAddr; + addBindInfo.BindEpoint = de.DeviceEpoint; + addBindeDev.BindList.Add(addBindInfo); + } + } - for (int i = 0; i < targetList.Count; i++) - { - var de = targetList[i]; - var sc1 = new SceneUI(); - if (de.DeviceAddr == null) - { - sc1 = (SceneUI)de; + var dev = new AddedDeviceBindResponseAllData(); + dev = await currentKey.AddDeviceBindAsync(addBindeDev); + if (dev.addedDeviceBindResponseData == null) + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + }); + btnFinifh.Enable = true; + btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + } + else + { + foreach (var ab in dev.addedDeviceBindResponseData?.BindList) + { + switch (ab.Result) + { + case 0: + currentKey.bindList.Add((BindListResponseObj)ab); - if (sc1.Id == ab.BindScenesId) - { - targetList.RemoveAt(i); - i--; - } - } - } - isFinish = true; - break; - case 1: - Application.RunOnMainThread(() => - { - new Tip() + for (int i = 0; i < targetList.Count; i++) { - MaxWidth = 150, - Text = Language.StringByID(R.MyInternationalizationString.BindErrorAbsence), - Direction = AMPopTipDirection.Up, - CloseTime = 1 - }.Show(btnFinifh); - }); - break; - case 2: - var abr = dev.addBindResultResponseData?.Result; - switch (dev.addBindResultResponseData?.Result) - { - case 0: - currentKey.bindList.Add((BindListResponseObj)ab); - for (int i = 0; i < targetList.Count; i++) + var de = targetList[i]; + var sc1 = new SceneUI(); + if (de.DeviceAddr == null) { - var de = targetList[i]; - if (de.DeviceAddr == ab.BindMacAddr && de.DeviceEpoint == ab.BindEpoint) + sc1 = (SceneUI)de; + + if (sc1.Id == ab.BindScenesId) { targetList.RemoveAt(i); i--; } } - isFinish = true; - break; - case 140: - Application.RunOnMainThread(() => + } + //isFinish = true; + break; + case 1: + Application.RunOnMainThread(() => + { + new Tip() { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFull), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - }); - break; - default: - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - }); - break; - } - break; - case 3: - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindErrorExisted), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - }); - break; - case 4: - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - }); - break; - default: - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - }); - break; + MaxWidth = 150, + Text = Language.StringByID(R.MyInternationalizationString.BindErrorAbsence), + Direction = AMPopTipDirection.Up, + CloseTime = 1 + }.Show(btnFinifh); + }); + break; + case 2: + var abr = dev.addBindResultResponseData?.Result; + switch (dev.addBindResultResponseData?.Result) + { + case 0: + currentKey.bindList.Add((BindListResponseObj)ab); + for (int i = 0; i < targetList.Count; i++) + { + var de = targetList[i]; + if (de.DeviceAddr == ab.BindMacAddr && de.DeviceEpoint == ab.BindEpoint) + { + targetList.RemoveAt(i); + i--; + } + } + //isFinish = true; + break; + case 140: + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFull), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + }); + break; + default: + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindUnknownError), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + }); + break; + } + break; + case 3: + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindErrorExisted), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + }); + break; + case 4: + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + }); + break; + default: + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = ab.ESName + Language.StringByID(R.MyInternationalizationString.BindUnknownError), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + }); + break; + } } } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnFinifh); + }); + btnFinifh.Enable = true; + btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + return; } } else { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnFinifh); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnFinifh); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; @@ -395,19 +341,23 @@ catch { } finally { - if (isFinish) + //if (isFinish) + //{ + // if (action != null) + // { + // action(currentKey.bindList); + // } + // this.RemoveFromParent(); + //} + //else + //{ + // this.RemoveFromParent(); + //} + if (action != null) { - if (action != null) - { - action(currentKey.bindList); - - } - this.RemoveFromParent(); + action(currentKey.bindList); } - else - { - this.RemoveFromParent(); - } + this.RemoveFromParent(); CommonPage.Loading.Hide(); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs index d1ff0f7..9200520 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/AutoOpenDirectionAndLimitSettionForm.cs @@ -143,7 +143,7 @@ listText.Add(Language.StringByID(R.MyInternationalizationString.uForwardDirection));//姝e悜 listText.Add(Language.StringByID(R.MyInternationalizationString.uReverseDirection));//鍙嶅悜 - var form = new BottomDialogSelectForm(); + var form = new BottomItemSelectForm(); form.AddForm(Language.StringByID(R.MyInternationalizationString.uDirectionSelect), listText, nowSelectNo); form.FinishSelectEvent += async (index) => { @@ -639,8 +639,12 @@ this.ShowMassage(ShowMsgType.Confirm, msg, async () => { //鎵ц纭鍙婅鐩栦笂闄愪綅鐐� - await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.UpLimit, + var result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.UpLimit, curtainData.OpenLimitPersent, curtainData.CloseLimitPersent); + if (result == true) + { + curtainData.DeleteOpenLimit = true; + } }); } //鍚堥檺浣� @@ -654,8 +658,12 @@ this.ShowMassage(ShowMsgType.Confirm, msg, async () => { //鎵ц纭鍙婅鐩栧悎闄愪綅鐐� - await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.DownLimit, + var result = await HdlDeviceCurtainLogic.Current.CommitCurtainLimitPoint(curtainDevice, Rollershade.CurtainPrivateInstalledLimi.DownLimit, curtainData.OpenLimitPersent, curtainData.CloseLimitPersent); + if (result == true) + { + curtainData.DeleteCloseLimit = true; + } }); } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs index 43cb75a..e7a78d2 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Curtain/SiphonateDirectionAndLimitSettionForm.cs @@ -119,7 +119,7 @@ listText.Add(Language.StringByID(R.MyInternationalizationString.uForwardDirection));//姝e悜 listText.Add(Language.StringByID(R.MyInternationalizationString.uReverseDirection));//鍙嶅悜 - var form = new BottomDialogSelectForm(); + var form = new BottomItemSelectForm(); form.AddForm(Language.StringByID(R.MyInternationalizationString.uDirectionSelect), listText, nowSelectNo); form.FinishSelectEvent += async (index) => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs index 0dd4842..b894572 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs @@ -267,7 +267,7 @@ } //娣诲姞璁惧鍒板垪琛� this.LoadFormMethodByName("DeviceListMainForm", "AddDeviceToFormTable", listNewDevice[0].DeviceAddr); - + base.CloseForm(); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs index e406864..3404c78 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs @@ -312,7 +312,7 @@ //鏍囬:閫夋嫨骞叉帴鐐瑰姛鑳� var title = Language.StringByID(R.MyInternationalizationString.uSelectDryContactFunction); - var form = new BottomDialogSelectForm(); + var form = new BottomItemSelectForm(); form.AddForm(title, listText, nowSelectNo); form.FinishSelectEvent += async (selectNo) => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs index dab5d02..cd52804 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs @@ -326,7 +326,7 @@ //鏍囬:閫夋嫨鍔熻兘绫诲瀷 var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType); - var form = new BottomDialogSelectForm(); + var form = new BottomItemSelectForm(); form.AddForm(title, listText, nowSelectNo); form.FinishSelectEvent += (selectNo) => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs index 5da1d10..13a7e13 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceGeneralInformationForm.cs @@ -39,9 +39,9 @@ var listDevice = Common.LocalDevice.Current.GetDevicesByMac(i_deviceMac); - var listView = new FrameListControl(12); + var listView = new VerticalListControl(12); listView.BackgroundColor = UserCenterColor.Current.White; - listView.Height = Application.GetRealHeight(876); + listView.Height = bodyFrameLayout.Height; bodyFrameLayout.AddChidren(listView); //璁惧鍚嶇О @@ -94,6 +94,8 @@ listView.AddChidren(rowProtuct); rowProtuct.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uManufacturerName), 300); rowProtuct.AddMostRightView(listDevice[0].ManufacturerName, 600); + + listView.AdjustRealHeight(Application.GetRealHeight(23)); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs index a17a61c..db02ddd 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs @@ -215,9 +215,9 @@ rowInfo.MenuRow = rowMenu; //鍚戝彸鍥炬爣 var btnRight = rowMenu.frameTable.AddMostRightEmptyIcon(58, 58); - rowMenu.frameTable.ChangedChidrenBindMode(btnRight, ChidrenBindMode.NotBind); btnRight.UnSelectedImagePath = "Item/Next.png"; btnRight.SelectedImagePath = "Item/Down.png"; + rowMenu.frameTable.ChangedChidrenBindMode(btnRight, ChidrenBindMode.NotBind); //鎻愮ず鏂扮増鏈� var btnNew = new InformationTipView(rowMenu.btnIcon); @@ -247,9 +247,21 @@ //灞曞紑,鎶樺彔 btnRight.ButtonClickEvent += (sender, e) => { - btnRight.IsSelected = !btnRight.IsSelected; - //灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛� - this.ShowDetailList(deviceMac, btnRight.IsSelected); + //鍥炶矾鏁板ぇ浜�1鎵嶅睍寮� + if (Common.LocalDevice.Current.GetDevicesCountByMac(deviceMac) > 1) + { + btnRight.IsSelected = !btnRight.IsSelected; + //灞曞紑鎴栬�呮姌鍙犳槑缁嗗垪琛� + this.ShowDetailList(deviceMac, btnRight.IsSelected); + } + else + { + btnNew.Visible = false; + var form = new DeviceMacInfoEditorForm(); + form.AddForm(deviceMac); + //鐣岄潰璺宠浆,璁板綍褰撳墠鐨勬鍦ㄦ搷浣滅殑璁惧鐨凪ac鍦板潃 + this.nowActionDeviceMac = deviceMac; + } }; rowMenu.frameTable.ButtonClickEvent += (sender, e) => diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs index b472ed0..3fb79d1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs @@ -252,13 +252,33 @@ //搴曠嚎 btnRow.AddBottomLine(); var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock; - btnRow.ButtonClickEvent += (sender, e) => - { - var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock); - Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - userManagement.Show(); - }; + btnRow.ButtonClickEvent += async (sender, e) => + { + if (UserCenterResourse.UserInfo.AuthorityNo == 1) + { + var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + userManagement.Show(); + } + else + { + CommonPage.Loading.Start(""); + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + userManagement.Show(); + } + else + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed)); + } + CommonPage.Loading.Hide(); + } + }; } } @@ -284,24 +304,56 @@ var btnswitch = btnRow.AddMostRightSwitchIcon(); //搴曠嚎 btnRow.AddBottomLine(); - if (string.IsNullOrEmpty(ZigBee.Device.DoorLock.RemoteUnlockPassword) == false) + + var doorLock = (ZigBee.Device.DoorLock)listNewDevice[0]; + if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword) == false) { btnswitch.IsSelected = true; } - var doorLock= (ZigBee.Device.DoorLock)listNewDevice[0]; - btnswitch.ButtonClickEvent += (sender, e) => - { - if (btnswitch.IsSelected == true) - { - btnswitch.IsSelected = false; - ZigBee.Device.DoorLock.RemoteUnlockPassword = string.Empty; - return; - } - var frame = new DoorLock.DoorLockCommonLayout(); - frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon); - frame = null; - }; + btnswitch.ButtonClickEvent += async (sender, e) => + { + if (UserCenterResourse.UserInfo.AuthorityNo == 1) + { + if (btnswitch.IsSelected == true) + { + btnswitch.IsSelected = false; + doorLock.RemoteUnlockPassword = string.Empty; + return; + } + var frame = new DoorLock.DoorLockCommonLayout(); + frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon); + frame = null; + } + else + { + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result1 == true) + { + if (btnswitch.IsSelected == true) + { + btnswitch.IsSelected = false; + doorLock.RemoteUnlockPassword = string.Empty; + return; + } + var frame = new DoorLock.DoorLockCommonLayout(); + frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon); + frame = null; + } + else + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess)); + } + } + else + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed)); + } + } + }; } } @@ -327,13 +379,31 @@ //搴曠嚎 btnRow.AddBottomLine(); var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock; - btnRow.ButtonClickEvent += (sender, e) => - { - var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - tempPage.Show(); - }; + btnRow.ButtonClickEvent += async (sender, e) => + { + if (UserCenterResourse.UserInfo.AuthorityNo == 1) + { + var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + tempPage.Show(); + } + else + { + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + tempPage.Show(); + } + else + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed)); + } + } + }; } } @@ -442,6 +512,12 @@ /// </summary> private void AddFunctionSettionRow() { + //鍙湁鍥炶矾鏁板ぇ浜�1鎵嶈兘鏈夎繖涓彍鍗� + if (Common.LocalDevice.Current.GetDevicesCountByMac(listNewDevice[0].DeviceAddr) == 1) + { + return; + } + //鍔熻兘璁剧疆 string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp); var btnFunction = new FrameRowControl(listview.rowSpace / 2); @@ -823,23 +899,14 @@ /// </summary> private async void DoDeleteDevice() { - //寮�鍚繘搴︽潯 - this.ShowProgressBar(); //鍒犻櫎璁惧 bool result = await Common.LocalDevice.Current.DeleteDevice(listNewDevice); - - this.CloseProgressBar(); - if (result == false) { return; } - - Application.RunOnMainThread(() => - { - //鍏抽棴鐣岄潰 - this.CloseForm(); - }); + //鍏抽棴鐣岄潰 + this.CloseForm(); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs index 3a76b64..e714665 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceSearchForm.cs @@ -151,9 +151,6 @@ //娣诲姞鐩戣璁惧鏂颁笂鎶ョ殑浜嬩欢 GatewayResourse.NowSelectGateway.GwResDataAction += this.AdjustGatewayResultData; - - //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼ - this.StartConcetionAnimeteThread(); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs index 590f42d..e7bf9bb 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/CommonForm/DirectionCommonForm.cs @@ -34,7 +34,6 @@ var form = new DeviceDirectionHelpForm(); form.AddForm("Device"); }; - bodyFrameLayout.AddChidren(btnHelp); //涓嬩竴姝� var btnNext = new BottomClickButton(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs index d358696..0a7ed17 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFunctionSettionForm.cs @@ -320,7 +320,7 @@ //鏍囬:閫夋嫨鍔熻兘绫诲瀷 var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType); - var form = new BottomDialogSelectForm(); + var form = new BottomItemSelectForm(); form.AddForm(title, listText, nowSelectNo); form.FinishSelectEvent += (selectNo) => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodFailedTip.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodFailedTip.cs deleted file mode 100755 index 4428879..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodFailedTip.cs +++ /dev/null @@ -1,312 +0,0 @@ -锘縰sing System; -using Newtonsoft.Json.Linq; -using Shared.Common; -using ZigBee.Device; - -namespace Shared.Phone.UserCenter.DoorLock -{ - public class AddUnLockMethodFailedTip : DoorLockCommonLayout, ZigBee.Common.IStatus - { - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - /// <param name="doorLock"></param> - public AddUnLockMethodFailedTip(ZigBee.Device.DoorLock doorLock, string entryType) - { - this.doorLock = doorLock; - this.currentType = entryType; - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; - } - - #region 鈼� 鍙橀噺鐢虫槑__________________________ - ZigBee.Device.DoorLock doorLock; - string currentType = string.Empty; - Action<string, string> action;//鎺ユ敹閫氱煡 - DateTime waitTime;//绛夊緟鎺ユ敹褰曞叆鐢ㄦ埛鎴愬姛鐨勬椂闂� - #endregion - - /// <summary> - /// UI鏄剧ず - /// </summary> - public void Show() - { - string currentTitle = ""; - if (currentType == "password") - { - currentTitle = Language.StringByID(R.MyInternationalizationString.AddPassword); - } - else if (currentType == "fingerprint") - { - currentTitle = Language.StringByID(R.MyInternationalizationString.AddFingerprint); - } - else - { - currentTitle = Language.StringByID(R.MyInternationalizationString.AddIcCard); - } - this.TopFrameLayout(this, currentTitle); - - EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => - { - if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null) - { - doorLock.Gateway.GwResDataAction -= action; - } - - this.RemoveFromParent(); - }; - this.btnBack.MouseUpEventHandler += eHandlerBack; - this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; - this.MidFrameLayout(this); - - MidFrameLayoutContent(); - } - - public void MidFrameLayoutContent() - { - var topMidFrameLayout = new FrameLayout - { - X = Application.GetRealWidth(104), - Y = Application.GetRealHeight(112), - Height = Application.GetRealHeight(873), - Width = Application.GetRealWidth(876), - }; - this.midFrameLayout.AddChidren(topMidFrameLayout); - - var btnPicTip1 = new Button - { - X = Application.GetRealWidth(446), - Y = Application.GetRealHeight(330), - Height = Application.GetRealHeight(81 / 2), - Width = Application.GetRealWidth(407), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextSize = 10, - TextAlignment = TextAlignment.CenterLeft, - }; - topMidFrameLayout.AddChidren(btnPicTip1); - - var btnPicTip2 = new Button - { - X = Application.GetRealWidth(446), - Y = btnPicTip1.Bottom, - Height = Application.GetRealHeight(81 / 2), - Width = Application.GetRealWidth(207), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextSize = 10, - TextAlignment = TextAlignment.CenterLeft, - }; - topMidFrameLayout.AddChidren(btnPicTip2); - - var btnPicTip3 = new Button - { - X = Application.GetRealWidth(294), - Y = Application.GetRealHeight(1089), - Height = Application.GetRealHeight(173 / 2), - Width = Application.GetRealWidth(488), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - Gravity = Gravity.CenterHorizontal, - TextSize = 14, - }; - this.midFrameLayout.AddChidren(btnPicTip3); - - var btnPicTip4 = new Button - { - X = Application.GetRealWidth(397), - Y = btnPicTip3.Bottom, - Width = Application.GetRealWidth(288), - Height = Application.GetRealHeight(173 / 2), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - Gravity = Gravity.CenterHorizontal, - TextSize = 14, - }; - this.midFrameLayout.AddChidren(btnPicTip4); - - var btnPicTip5 = new Button - { - X = Application.GetRealWidth(202), - Y = Application.GetRealHeight(1388), - Height = Application.GetRealHeight(49), - Width = Application.GetRealWidth(694), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - Gravity = Gravity.CenterHorizontal, - BackgroundColor = 0xff00ff00, - TextSize = 12, - }; - this.midFrameLayout.AddChidren(btnPicTip5); - - var nextBtn = new Button - { - X = Application.GetRealWidth(86), - Y = Application.GetRealHeight(1472), - Height = Application.GetRealHeight(127), - Width = Application.GetRealWidth(907), - Text = Language.StringByID(R.MyInternationalizationString.NextStepXm), - TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, - Gravity = Gravity.CenterHorizontal, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, - Radius = 10, - TextSize = 20, - Visible = false, - }; - this.midFrameLayout.AddChidren(nextBtn); - - if (currentType == "password") - { - topMidFrameLayout.BackgroundImagePath = "DoorLock/AddPasswordTicPic.png"; - btnPicTip1.Width = Application.GetRealWidth(307); - btnPicTip1.X = Application.GetRealWidth(500); - btnPicTip1.Y = Application.GetRealHeight(350); - btnPicTip2.X = Application.GetRealWidth(543); - btnPicTip2.Y = btnPicTip1.Bottom + Application.GetRealHeight(10); - btnPicTip2.Width = Application.GetRealWidth(207); - btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryPasswordTip1); - btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryPassword); - btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryPasswordTip2); - btnPicTip4.Text = btnPicTip2.Text; - btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip); - } - else if (currentType == "fingerprint") - { - topMidFrameLayout.BackgroundImagePath = "DoorLock/AddFingerprintTipPic.png"; - btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprintTip1); - btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprint); - btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryFingerprintTip2); - btnPicTip4.Text = btnPicTip2.Text; - btnPicTip1.X = Application.GetRealWidth(486); - btnPicTip1.Y = Application.GetRealHeight(320); - btnPicTip2.X = Application.GetRealWidth(543); - btnPicTip2.Width = Application.GetRealWidth(207); - btnPicTip1.X = Application.GetRealWidth(450); - btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip); - } - else - { - topMidFrameLayout.BackgroundImagePath = "DoorLock/AddIcCardTipPic.png"; - btnPicTip3.Width = Application.GetRealWidth(495); - btnPicTip1.X = Application.GetRealWidth(440); - btnPicTip1.Y = Application.GetRealHeight(313); - btnPicTip2.X = Application.GetRealWidth(538); - btnPicTip2.Width = Application.GetRealWidth(207); - btnPicTip1.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityTip1); - btnPicTip2.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityCard); - btnPicTip3.Text = Language.StringByID(R.MyInternationalizationString.EntryProximityTip2); - btnPicTip4.Text = btnPicTip2.Text; - btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip); - } - - action = (topic, data) => - { - var gatewayID = topic.Split('/')[0]; - var jObjectdata = JObject.Parse(data); - if (jObjectdata == null) - { - return; - } - if (topic == $"{gatewayID}/DoorLock/DoorLockOperatingEventNotificationCommand") - { - var OperatingEventNotificationDatad = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockOperatingEventNotificationCommand>(jObjectdata["Data"].ToString()); - if (OperatingEventNotificationDatad != null) - { - doorLock.doorLockOperatingEventNotificationCommand = OperatingEventNotificationDatad; - } - } - if (topic == $"{gatewayID}/DoorLock/DoorLockProgrammingEventNotificationCommand") - { - var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jObjectdata["Data"].ToString()); - if (ProgrammingEventNotificationData != null) - { - Application.RunOnMainThread(() => - { - nextBtn.Visible = true; - }); - doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData; - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID; - localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure; - var entryTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocalTime(ProgrammingEventNotificationData.ZigbeeLocalTime); - localDoorLockObj.EntryTime = entryTime; - doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj); - } - } - }; - - if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null) - { - doorLock.Gateway.GwResDataAction += action; - } - - nextBtn.MouseDownEventHandler += (sende, e) => - { - waitTime = DateTime.Now; - doorLock.doorLockProgrammingEventNotificationCommand = null; - new System.Threading.Thread(async () => - { - while ((DateTime.Now - waitTime).TotalMilliseconds < 5000) - { - await System.Threading.Tasks.Task.Delay(10); - if (doorLock.doorLockProgrammingEventNotificationCommand != null) - { - //var entryStatusPage = new Shared.Phone.UserCenter.DoorLock.EntryStatusPage(doorLock,accountObj, currentType); - //Shared.Phone.UserView.HomePage.Instance.AddChidren(entryStatusPage); - //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - //entryStatusPage.Show(); - //this.RemoveFromParent(); - break; - } - } - - if ((DateTime.Now - waitTime).TotalMilliseconds > 5000) - { - var addUnLockMethodFailedTip = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethodFailedTip(doorLock, currentType); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethodFailedTip); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addUnLockMethodFailedTip.Show(); - this.RemoveFromParent(); - } - }) - { IsBackground = true }.Start(); - }; - - btnPicTip1.MouseDownEventHandler += (sende, e) => - { - nextBtn.Visible = true; - }; - } - - - #region 鈼� 鎺ュ彛瀹炵幇__________________________ - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange() - /// </summary> - /// <returns>The changed.</returns> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - - } - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 - /// </summary> - /// <param name="common"></param> - /// <param name="typeTag"></param> - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - /// <summary> - /// Changeds the IL ogic status. - /// </summary> - /// <param name="logic">Logic.</param> - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - /// <summary> - /// Changeds the IS cene status. - /// </summary> - /// <param name="scene">Scene.</param> - public void ChangedISceneStatus(Scene scene) - { - } - #endregion - } -} - - diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs index 910f6da..bb7014c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs @@ -48,11 +48,6 @@ EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { - if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null) - { - doorLock.Gateway.GwResDataAction -= action; - } - this.RemoveFromParent(); }; this.btnBack.MouseUpEventHandler += eHandlerBack; @@ -60,6 +55,19 @@ this.MidFrameLayout(this); MidFrameLayoutContent(); + } + + /// <summary> + /// 閲嶅啓绉婚櫎鏂规硶 + /// </summary> + public override void RemoveFromParent() + { + ZbGateway.StatusList.Remove(this); + if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null) + { + doorLock.Gateway.GwResDataAction -= action; + } + base.RemoveFromParent(); } public void MidFrameLayoutContent() @@ -248,13 +256,6 @@ nextBtn.Enable = true; nextBtn.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; }); - } - else - { - //Application.RunOnMainThread(() => - //{ - //new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.EntryCurrentUnlockMethod), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - //}); } } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs index 9fa27b6..f61b0ff 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs @@ -1,6 +1,7 @@ 锘縰sing System; using System.Collections.Generic; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using ZigBee.Device; namespace Shared.Phone.UserCenter.DoorLock @@ -24,13 +25,73 @@ public static int InValidDateSecond = 0; #endregion + /// <summary> + /// 鑾峰彇褰撳墠璐︽埛闂ㄩ攣鎿嶄綔鏉冮檺锛堟槸鍚﹁鍐荤粨锛� + /// </summary> + /// <param name="doorLock:褰撳墠闂ㄩ攣"></param> + /// <param name="subAccountDistributedMark锛氱櫥褰曡处鎴风殑GUID"></param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<bool> GetDoorLockOperateAccess(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark) + { + return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<bool>>)(async () => + { + if (doorLock.IsFreezeAccount.ContainsKey(subAccountDistributedMark) == false) + { + doorLock.IsFreezeAccount.Add(subAccountDistributedMark, false); + } + var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, subAccountDistributedMark); + var d = resultList.Find((obj) => { return obj.IsFreezeUser == true; }); + if (d != null) + { + doorLock.IsFreezeAccount[subAccountDistributedMark] = true; + } + else + { + doorLock.IsFreezeAccount[subAccountDistributedMark] = false; + } + return doorLock.IsFreezeAccount[subAccountDistributedMark]; + })); + } + + /// <summary> + /// 鑾峰彇褰撳墠璐︽埛闂ㄩ攣杩滅▼寮�閿佹潈闄愶紙鏄惁琚嫢鏈夎繙绋嬪紑閿佹潈闄愶級 + /// </summary> + /// <param name="doorLock:褰撳墠闂ㄩ攣"></param> + /// <param name="subAccountDistributedMark锛氱櫥褰曡处鎴风殑GUID"></param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<bool> GetDoorLockUnlockAccess(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark) + { + return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<bool>>)(async () => + { + if (doorLock.HasRemoteUnlockAccess.ContainsKey(subAccountDistributedMark) == false) + { + doorLock.HasRemoteUnlockAccess.Add(subAccountDistributedMark, false); + } + var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, subAccountDistributedMark); + var d = resultList.Find((obj) => { return obj.IsTempUnlockAuthority == true; }); + if (d != null) + { + doorLock.HasRemoteUnlockAccess[subAccountDistributedMark] = true; + } + else + { + doorLock.HasRemoteUnlockAccess[subAccountDistributedMark] = false; + } + return doorLock.HasRemoteUnlockAccess[subAccountDistributedMark]; + })); + } + + /// <summary> + /// 鑾峰彇褰撳墠璐︽埛鍒楄〃 + /// </summary> public static async System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>> LocalAccountList() { return await System.Threading.Tasks.Task.Run(async () => { List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; - if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + //鍙湁涓讳汉鎵嶆湁鏉冮檺鑾峰彇鑷繁鐨勫瓙璐︽埛 + if (UserCenterResourse.UserInfo.AuthorityNo == 1) { SubAccounList = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark(); } @@ -60,76 +121,76 @@ if (getDoorLockInfo == null) { doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; + } else { doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; - } - if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null) - { - var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList; - foreach (var doorData in dataList) + if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null) { - var localDoorLockObj1 = new ZigBee.Device.DoorLock.LocaDoorLockObj() + var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList; + foreach (var doorData in dataList) { - UserID = doorData.UserId, - UnlockType = doorData.UserType - }; - if ((doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj1.UserID)) == false) - { - doorLock.localDoorLockUserList.Add(localDoorLockObj1.UserID, localDoorLockObj1); - } - } - } - - // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 - var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; - var getDoorLockInfoList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark); - if (getDoorLockInfoList != null) - { - foreach (var curDoorLockUser in getDoorLockInfoList.PageData) - { - if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "") - { - continue; - } - if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId))) - { - var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); - doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; - doorLockObj.PrimaryId = curDoorLockUser.Id; - doorLockObj.EntryTime = curDoorLockUser.EntryTime; - doorLockObj.UserName = curDoorLockUser.UserIdRemarks; - doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; - doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj; + var localDoorLockObj1 = new ZigBee.Device.DoorLock.LocaDoorLockObj() + { + UserID = doorData.UserId, + UnlockType = doorData.UserType + }; + if ((doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj1.UserID)) == false) + { + doorLock.localDoorLockUserList.Add(localDoorLockObj1.UserID, localDoorLockObj1); + } } } - //鑾峰彇浜戠瀛樺偍鐨勯棬閿佹垚鍛樹俊鎭� - //foreach (var curDoorLockUser in getDoorLockInfoList.PageData) - //{ - // var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj(); - // if (curDoorLockUser.DoorLockLocalUserId != null) - // { - // doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); - // doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; - // doorLockObj.UserName = curDoorLockUser.UserIdRemarks; - // } - // doorLockObj.PrimaryId = curDoorLockUser.Id; - // doorLockObj.EntryTime = curDoorLockUser.EntryTime; - // doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; - // if (doorLock.localDoorLockAccountList.ContainsKey(curDoorLockUser.CloudAccountId) == false) - // { - // doorLock.localDoorLockAccountList.Add(doorLockObj.ConnectedAccount, doorLockObj); - // } - // else - // { - // doorLock.localDoorLockAccountList[doorLockObj.ConnectedAccount] = doorLockObj; - // } + // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅 + var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; + var getDoorLockInfoList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark); + if (getDoorLockInfoList != null) + { + foreach (var curDoorLockUser in getDoorLockInfoList.PageData) + { + if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "") + { + continue; + } + if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId))) + { + var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); + doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; + doorLockObj.PrimaryId = curDoorLockUser.Id; + doorLockObj.EntryTime = curDoorLockUser.EntryTime; + doorLockObj.UserName = curDoorLockUser.UserIdRemarks; + doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; + doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj; + } + else + { + if (curDoorLockUser.DoorLockLocalUserId != null) + { + //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D + 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.DoorLockLocalUserId; + deleteDoorLockData.PrimaryId = curDoorLockUser.Id; + deleteDoorLockData.DelDoorLockDelType = 2; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + int i = 0; + } + } + } + doorLock.ReSave(); + } - //} - doorLock.ReSave(); } return doorLock.localDoorLockUserList; })); @@ -187,7 +248,7 @@ } /// <summary> - /// 鑾峰彇浜戠瀛樺偍鐨勬垚鍛樹俊鎭� + /// 鑾峰彇浜戠瀛樺偍鐨勫綋鍓嶈处鎴风殑闂ㄩ攣淇℃伅 /// </summary> public static async System.Threading.Tasks.Task<List<ZigBee.Device.DoorLock.CloudDoorLockObj>> GetAccountDoorLockUserList(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark) { @@ -283,7 +344,6 @@ { doorLock.localDoorLockAccountList[curDoorLockUser.DoorLockLocalUserId] = doorLockObj; } - } } return doorLock.localDoorLockUserList; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs index a78b742..62d78a5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs @@ -1,10 +1,11 @@ 锘縰sing System; +using Newtonsoft.Json.Linq; using Shared.Common; using ZigBee.Device; namespace Shared.Phone.UserCenter.DoorLock { - public class DoorLockCommonLayout : FrameLayout + public class DoorLockCommonLayout : EditorCommonForm { public DoorLockCommonLayout() { @@ -72,6 +73,8 @@ public FrameLayout titleFrameLayout = new FrameLayout { Y = Application.GetRealHeight(92), + X = Application.GetRealWidth(58 * 2), + Width = Application.GetRealWidth(1080 - 116), Height = Application.GetRealHeight(69), }; @@ -80,9 +83,7 @@ /// </summary> public FrameLayout btnBackFrameLayout = new FrameLayout { - X = Application.GetRealWidth(58), - Height = Application.GetRealHeight(58), - Width = Application.GetRealWidth(58), + Width = Application.GetRealWidth(58 * 2), }; /// <summary> @@ -92,6 +93,8 @@ { Height = Application.GetRealHeight(51), Width = Application.GetRealWidth(30), + X = Application.GetRealWidth(58), + Y = Application.GetRealHeight(98), UnSelectedImagePath = "DoorLock/Left.png", }; @@ -125,8 +128,6 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout, }; - - #endregion /// <summary> @@ -136,6 +137,7 @@ public void TopFrameLayout(FrameLayout frameLayout, string titleText) { this.AddChidren(topFrameLayout); + topFrameLayout.AddChidren(btnBackFrameLayout); topFrameLayout.AddChidren(titleFrameLayout); topFrameLayout.AddChidren(btnTitleLine); var title = new Button() @@ -143,13 +145,12 @@ TextAlignment = TextAlignment.CenterLeft, Text = titleText, TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, - X = Application.GetRealWidth(161), Width = Application.GetRealWidth(1080 - 161), Height = Application.GetRealWidth(69), TextSize = 17, + X = Application.GetRealWidth(161 - 116), }; titleFrameLayout.AddChidren(title); - titleFrameLayout.AddChidren(btnBackFrameLayout); btnBackFrameLayout.AddChidren(btnBack); this.midFrameLayout.AddChidren(this.btnTip); } @@ -237,7 +238,7 @@ if (DateTime.Now < ZigBee.Device.DoorLock.minValue) { CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); return; } @@ -266,71 +267,89 @@ } var verifyResult = await doorLock.VerifyPasswordAsync(editInputPassword.Text); - if (verifyResult != null && verifyResult.result == 0) + if (verifyResult != null) { - System.Threading.Thread.Sleep(500); - ZigBee.Device.DoorLock.RemoteUnlockPassword = editInputPassword.Text; - ZigBee.Device.DoorLock.minValue = DateTime.MinValue; - ZigBee.Device.DoorLock.RemoteUnlockCount = 5; - oldTime = DateTime.MaxValue; - CommonPage.Loading.Hide(); - dialog.Close(); - if (btnNext != null) + if (verifyResult.result == 0) { - btnNext.IsSelected = true; - } - if (!UserCenterResourse.Option.DoorUnLockByRemote) - { - 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.GoSetting); - var midText1 = new Button() + System.Threading.Thread.Sleep(500); + doorLock.RemoteUnlockPassword = editInputPassword.Text; + ZigBee.Device.DoorLock.minValue = DateTime.MinValue; + ZigBee.Device.DoorLock.RemoteUnlockCount = 5; + oldTime = DateTime.MaxValue; + CommonPage.Loading.Hide(); + dialog.Close(); + if (btnNext != null) { - Width = Application.GetRealWidth(674), - Height = Application.GetRealHeight(115 / 2), - TextSize = 14, - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextAlignment = TextAlignment.Center, - TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip1, - }; - doorDialog2.dialogMidFraFrameLayout.AddChidren(midText1); - var midText2 = new Button() + btnNext.IsSelected = true; + } + if (!UserCenterResourse.Option.DoorUnLockByRemote) { - 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.RemoteUnlockBindSucessTip2, - }; - doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2); + 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.GoSetting); + var midText1 = new Button() + { + Width = Application.GetRealWidth(674), + Height = Application.GetRealHeight(115 / 2), + TextSize = 14, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextAlignment = TextAlignment.Center, + TextID = R.MyInternationalizationString.RemoteUnlockBindSucessTip1, + }; + 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.RemoteUnlockBindSucessTip2, + }; + doorDialog2.dialogMidFraFrameLayout.AddChidren(midText2); - doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) => - { - dialog2.Close(); - }; - doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) => - { - var form = new UserCenter.UserMain.SecondAuthenticationForm(); - form.AddForm(); - dialog2.Close(); - }; + doorDialog2.dialogBtnCancel.MouseUpEventHandler += (sender2, e2) => + { + dialog2.Close(); + }; + doorDialog2.dialogBtnConfirm.MouseUpEventHandler += async (sender2, e2) => + { + var form = new UserCenter.UserMain.SecondAuthenticationForm(); + form.AddForm(); + dialog2.Close(); + }; + } + doorLock.ReSave(); + } + else + { + 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); + return; } } else { - 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 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); return; } + }; + doorDialog.flMain.MouseUpEventHandler += (sender11, e11) => + { + if (btnNext != null) + { + btnNext.IsSelected = false; + } + dialog.Close(); }; } @@ -343,7 +362,7 @@ /// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖寮�/鍏虫樉绀�</param> public void RemoteUnlockRequest(ZigBee.Device.DoorLock doorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null) { - if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "") + if (doorLock.RemoteUnlockPassword == "") { var dialog = new Dialog { }; var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog, Language.StringByID(R.MyInternationalizationString.Tip)); @@ -362,15 +381,7 @@ }; doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) => { - if (UserCenterResourse.UserInfo.AuthorityNo == 3) - { - var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); - Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - userDoorLockPage.Show(); - dialog.Close(); - } - else + if (UserCenterResourse.UserInfo.AuthorityNo == 1) { var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); @@ -378,7 +389,14 @@ userDoorLockPage.Show(); dialog.Close(); } - + else + { + var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + userDoorLockPage.Show(); + dialog.Close(); + } }; return; } @@ -447,55 +465,142 @@ { action = async () => { - //杩滅▼寮�閿� - if (progressButton != null) - { - progressButton.Y = Application.GetRealHeight(10); - } - if (btnDoorLockPic != null) - { - btnDoorLockPic.IsSelected = true; - } - if (btnStatus != null) - { - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening); - } + //System.Threading.Tasks.Task.Run(async () => + //{ Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); - var remoteControlResult = await doorLock.RemoteControlAsync(ZigBee.Device.DoorLock.RemoteUnlockPassword); - - if (remoteControlResult != null && remoteControlResult.responseData != null && remoteControlResult.responseData.status == 0) + try { - + //杩滅▼寮�閿� if (progressButton != null) { - progressButton.Y = Application.GetRealHeight(347); + progressButton.Y = Application.GetRealHeight(10); } if (btnDoorLockPic != null) { - btnDoorLockPic.IsSelected = false; + btnDoorLockPic.IsSelected = true; } if (btnStatus != null) { - System.Threading.Thread.Sleep(2000); - //btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen); - System.Threading.Thread.Sleep(3000); - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); + Application.RunOnMainThread(() => + { + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Opening); + }); } - CommonPage.Loading.Hide(); - } - else - { - if (progressButton != null) + var remoteControlResult = await doorLock.RemoteControlAsync(doorLock.RemoteUnlockPassword); + //寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲 + if (remoteControlResult != null && remoteControlResult.responseData != null) { - progressButton.Y = Application.GetRealHeight(347); + if (remoteControlResult.responseData.status == 0) + { + if (progressButton != null) + { + progressButton.Y = Application.GetRealHeight(347); + } + if (btnDoorLockPic != null) + { + btnDoorLockPic.IsSelected = false; + } + if (btnStatus != null) + { + Application.RunOnMainThread(() => + { + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); + }); + } + System.Threading.Thread.Sleep(5000); + } + else + { + if (progressButton != null) + { + progressButton.Y = Application.GetRealHeight(347); + } + if (btnDoorLockPic != null) + { + btnDoorLockPic.IsSelected = false; + } + Application.RunOnMainThread(() => + { + if (btnStatus != null) + { + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); + } + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); + }); + } } - if (btnDoorLockPic != null) + else if (remoteControlResult != null && remoteControlResult.IsPawDispear == true) { - btnDoorLockPic.IsSelected = false; - } + if (progressButton != null) + { + progressButton.Y = Application.GetRealHeight(347); + } + if (btnDoorLockPic != null) + { + btnDoorLockPic.IsSelected = false; + } + Application.RunOnMainThread(() => + { + if (btnStatus != null) + { + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); + } + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); + CommonPage.Loading.Hide(); + doorLock.RemoteUnlockPassword = ""; + }); + dialog3.Close(); - CommonPage.Loading.Hide(); + if (UserCenterResourse.UserInfo.AuthorityNo == 1) + { + var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + userDoorLockPage.Show(); + + } + else + { + var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + userDoorLockPage.Show(); + } + } + else + { + if (progressButton != null) + { + progressButton.Y = Application.GetRealHeight(347); + } + if (btnDoorLockPic != null) + { + btnDoorLockPic.IsSelected = false; + } + Application.RunOnMainThread(() => + { + if (btnStatus != null) + { + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); + } + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show((View)sender1); + }); + } } + catch { } + finally + { + Application.RunOnMainThread(() => + { + if (btnStatus != null) + { + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); + } + CommonPage.Loading.Hide(); + }); + } + //}); }; HdlCheckLogic.Current.CheckSecondarySecurity(action); dialog3.Close(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockListPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockListPage.cs deleted file mode 100755 index 7dc7039..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockListPage.cs +++ /dev/null @@ -1,189 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using Shared.Common; -using ZigBee.Device; - -namespace Shared.Phone.UserCenter.DoorLock -{ - public class DoorLockListPage : FrameLayout, ZigBee.Common.IStatus - { - /// <summary> - /// 鎸夐敭妯″紡鎺ユ敹 - /// </summary> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch) - //{ - // return; - //} - - Shared.Application.RunOnMainThread(() => - { - //var dev = common as Panel; - }); - } - - #region 鍙橀噺澹版槑 - /// <summary> - /// 鍒楄〃鎺т欢 - /// </summary> - private VerticalScrolViewLayout listView = null; - /// <summary> - /// 闂ㄩ攣璁惧鍒楄〃 - /// </summary> - private List<ZigBee.Device.CommonDevice> localDoorLocklist = new List<ZigBee.Device.CommonDevice>(); - #endregion - - /// <summary> - /// 鐣岄潰鍔犺浇 - /// </summary> - public void Show() - { - #region topFrameLayout 锛堝彧鏈塙I锛屾棤鏁版嵁澶勭悊锛� - var topFrameLayout = new FrameLayout() - { - Height = Application.GetRealHeight(220), - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor, - }; - this.AddChidren(topFrameLayout); - - var titleFrameLayout = new FrameLayout() - { - Y = Application.GetRealHeight(80), - Height = Application.GetRealHeight(140), - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor, - }; - topFrameLayout.AddChidren(titleFrameLayout); - - var title = new Button() - { - TextAlignment = TextAlignment.Center, - Text = Language.StringByID(R.MyInternationalizationString.DoorLock), - TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor, - Width = Application.GetRealWidth(1080 - 500), - Gravity = Gravity.CenterHorizontal, - }; - titleFrameLayout.AddChidren(title); - var back = new Button() - { - X = Application.GetRealWidth(50), - Height = Application.GetRealHeight(100), - Width = Application.GetRealWidth(100), - UnSelectedImagePath = "Item/Back.png", - SelectedImagePath = "Item/BackOn.png", - Gravity = Gravity.CenterVertical, - }; - titleFrameLayout.AddChidren(back); - #endregion - - #region midFrameLayout - var midFrameLayout = new FrameLayout() - { - Width = LayoutParams.MatchParent, - Height = Application.GetRealHeight(1920 - 220), - Y = topFrameLayout.Bottom, - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCBackgroundColor, - }; - this.AddChidren(midFrameLayout); - - listView = new VerticalScrolViewLayout(); - midFrameLayout.AddChidren(listView); - #endregion - - #region 鏁版嵁淇℃伅澶勭悊 - listView.RemoveAll(); - localDoorLocklist.Clear(); - - //foreach (var dev in Shared.Common.LocalDevice.Current.listAllDevice) - //{ - // if(dev.Type ==ZigBee.Device.DeviceType.DoorLock) - // { - // localDoorLocklist.Add(dev); - // } - //} - - //娴嬭瘯浠g爜 - for (int i = 0; i < 3; i++) - { - var tempDoorLock = new ZigBee.Device.DoorLock(); - localDoorLocklist.Add(tempDoorLock); - } - - foreach (var doorLock in localDoorLocklist) - { - this.AddDoorLockRow(doorLock); - } - #endregion - } - - /// <summary> - /// 娣诲姞璁惧鐨勮彍鍗曡 - /// </summary> - /// <param name="listDevice">璁惧瀵硅薄</param> - private void AddDoorLockRow(ZigBee.Device.CommonDevice doorLock) - { - var doorLockView = new RowLayout() - { - Height = Application.GetRealHeight(180), - }; - listView.AddChidren(doorLockView); - - var btnPoint = new Button() - { - Width = Application.GetRealWidth(10), - Height = Application.GetRealHeight(10), - X = Application.GetRealWidth(40), - Gravity = Gravity.CenterVertical, - //UnSelectedImagePath = "Item/Point.png", - //SelectedImagePath = "Item/Point.png", - }; - doorLockView.AddChidren(btnPoint); - - var tempDeviceName = new Button() - { - Width = Application.GetRealWidth(340), - X = btnPoint.Right + Application.GetRealWidth(20), - TextAlignment = TextAlignment.CenterLeft, - Text = "闂ㄩ攣1", - TextColor = 0xff000000, - Tag = doorLock, - }; - doorLockView.AddChidren(tempDeviceName); - - var btnRight = new Button() - { - Height = Application.GetRealHeight(110), - Width = Application.GetRealWidth(110), - UnSelectedImagePath = "Item/Next.png", - SelectedImagePath = "Item/Down.png", - Gravity = Gravity.CenterVertical, - X = Application.CurrentWidth - Application.GetRealWidth(150), - }; - doorLockView.AddChidren(btnRight); - - EventHandler<MouseEventArgs> openDoorLockControlPageEvent = (button, mouseEventArgs) => - { - //var doorLockManagement = new Shared.Phone.UserCenter.DoorLock.DoorLockManagement(); - //Shared.Phone.UserView.HomePage.Instance.AddChidren(doorLockManagement); - //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - //doorLockManagement.Show(); - }; - doorLockView.MouseUpEventHandler += openDoorLockControlPageEvent; - tempDeviceName.MouseUpEventHandler += openDoorLockControlPageEvent; - btnRight.MouseUpEventHandler += openDoorLockControlPageEvent; - } - - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - - public void ChangedISceneStatus(Scene scene) - { - } - } -} \ No newline at end of file diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockUserMangement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockUserMangement.cs deleted file mode 100755 index 97e4c56..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockUserMangement.cs +++ /dev/null @@ -1,130 +0,0 @@ -锘縰sing System; -namespace Shared.Phone.UserCenter.DoorLock -{ - public class DoorLockUserMangement : DoorLockCommonLayout - { - - /// 鏋勯�犲嚱鏁� - /// </summary> - /// <param name="doorLock"></param> - public DoorLockUserMangement(ZigBee.Device.DoorLock doorLock) - { - this.doorLock = doorLock; - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; - } - - #region 鈼� 鍙橀噺鐢虫槑__________________________ - ZigBee.Device.DoorLock doorLock; - #endregion - - /// <summary> - /// UI鏄剧ず - /// </summary> - public void Show() - { - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UserManagement)); - - EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => - { - RemoveFromParent(); - }; - this.btnBack.MouseUpEventHandler += eHandlerBack; - this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; - this.MidFrameLayout(this); - - MidFrameLayoutContent(); - } - public void MidFrameLayoutContent() - { - var bodyView = new VerticalScrolViewLayout() - { - }; - this.midFrameLayout.AddChidren(bodyView); - - for (int i = 0; i < 3; i++) - { - var RowView = new FrameLayout() - { - Height = Application.GetRealHeight(110), - }; - bodyView.AddChidren(RowView); - - var btnIcon = new Button() - { - Width = Application.GetRealHeight(13), - Height = Application.GetRealHeight(13), - X = Application.GetRealWidth(40), - UnSelectedImagePath = "Item/Point.png", - SelectedImagePath = "Item/PointSelected.png", - Gravity = Gravity.CenterVertical, - }; - RowView.AddChidren(btnIcon); - - var UnEditedItem = new Button() - { - X = btnIcon.Right + Application.GetRealWidth(20), - Width = Application.GetRealWidth(300), - Height = Application.GetRealHeight(110), - TextAlignment = TextAlignment.CenterLeft, - }; - RowView.AddChidren(UnEditedItem); - if (i == 0) - { - UnEditedItem.TextID = R.MyInternationalizationString.UneditFingerprint; - } - else if (i == 1) - { - UnEditedItem.TextID = R.MyInternationalizationString.PasswordList; - } - else if (i == 2) - { - UnEditedItem.TextID = R.MyInternationalizationString.ProximityCard; - } - - var btnRight = new Button() - { - Width = Application.GetRealWidth(28), - Height = Application.GetRealHeight(40), - X = UnEditedItem.Right + Application.GetRealWidth(200), - UnSelectedImagePath = "Item/Right.png", - SelectedImagePath = "Item/RightSelected.png", - Gravity = Gravity.CenterVertical, - }; - RowView.AddChidren(btnRight); - - var line2 = new Button() - { - Y = RowView.Height - 1, - Height = 1, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - RowView.AddChidren(line2); - - int currentIndex = i; - - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - if (currentIndex == 0) - { - //new FingerPrint(tempDoorLock).Show(); - } - else if (currentIndex == 1) - { - //PasswordList passwordListView = new PasswordList(tempDoorLock); - //UserMiddle.DevicePageView.AddChidren(passwordListView); - //passwordListView.ShowUserPasswordPrint(); - //UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1; - } - else if (currentIndex == 2) - { - //new ProximityCard(tempDoorLock).Show(); - } - }; - btnRight.MouseUpEventHandler += eHandler; - btnIcon.MouseUpEventHandler += eHandler; - RowView.MouseUpEventHandler += eHandler; - UnEditedItem.MouseUpEventHandler += eHandler; - } - } - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs index 35fec25..696a6b1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs @@ -59,11 +59,17 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, }; + /// <summary> + /// 闃村奖閮ㄥ垎 + /// </summary> + public FrameLayout flMain = new FrameLayout + { + BackgroundColor = 0x00000000, + }; + public void Show() { dialog.Show(); - - var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; dialog.AddChidren(flMain); flMain.MouseUpEventHandler += (sender11, e11) => { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs index 54e6830..053522c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs @@ -213,6 +213,10 @@ completeBtn.MouseDownEventHandler += async (sender, e) => { completeBtn.Enable = false; + if (doorLock.doorLockProgrammingEventNotificationCommand == null) + { + return; + } var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData(); if (UserCenterResourse.UserInfo.AuthorityNo != 1) { @@ -246,44 +250,51 @@ { if (doorLock.localDoorLockUserList.ContainsKey(doorLock.doorLockProgrammingEventNotificationCommand.UserID)) { - //瀛樿处鎴蜂俊鎭� - // var resultList1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalAccountlist(doorLock, curAccountObj.SubAccountDistributedMark); //瀛橀棬閿佷俊鎭� var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalDoorLocklist(doorLock, curAccountObj.SubAccountDistributedMark); - if (resultList.ContainsKey(doorLock.doorLockProgrammingEventNotificationCommand.UserID) == true) + if (resultList != null) { - var a = resultList[doorLock.doorLockProgrammingEventNotificationCommand.UserID]; - if (a?.ConnectedAccount == curAccountObj.SubAccountDistributedMark) + if (resultList.ContainsKey(doorLock.doorLockProgrammingEventNotificationCommand.UserID) == true) { - completeBtn.Enable = true; - this.RemoveFromParent(); - for (int i = UserView.HomePage.Instance.ChildrenCount - 1; i >= 0; i--) + var a = resultList[doorLock.doorLockProgrammingEventNotificationCommand.UserID]; + if (a?.ConnectedAccount == curAccountObj.SubAccountDistributedMark) { - var form = UserView.HomePage.Instance.GetChildren(i); + completeBtn.Enable = true; + this.RemoveFromParent(); + for (int i = UserView.HomePage.Instance.ChildrenCount - 1; i >= 0; i--) + { + var form = UserView.HomePage.Instance.GetChildren(i); - if (form is UnLockMethod) - { - ((UnLockMethod)form).RefreshList(); - break; - } - else - { - form.RemoveFromParent(); + if (form is UnLockMethod) + { + ((UnLockMethod)form).RefreshList(); + break; + } + else + { + form.RemoveFromParent(); + } } } - } - else - { - completeBtn.Enable = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent); + else + { + completeBtn.Enable = true; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent); + } } } + else + { + completeBtn.Enable = true; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent); + } + } } else { completeBtn.Enable = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AddFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnPasswordRemarkContent); } } else diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs index 7e1b6b2..ecffb1c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs @@ -20,6 +20,22 @@ #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.DoorLock doorLock; + /// <summary> + /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧 + /// </summary> + private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>(); + /// <summary> + /// 褰撳墠閫夋嫨鐨勮澶� + /// </summary> + private CommonDevice nowSelectDevice = null; + /// <summary> + /// 璁惧澶囨敞鐨勬帶浠� + /// </summary> + private FrameCaptionInputControl btnDeviceName = null; + /// <summary> + /// 璁惧鐨勬煇涓�鍥炶矾 + /// </summary> + private CommonDevice deviceObj = null; #endregion /// <summary> @@ -27,7 +43,7 @@ /// </summary> public void Show() { - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.FunctionSetting)); + this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.DoorLockFunctionSetting)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { @@ -78,7 +94,7 @@ var bottomFrameLayout2 = new FrameLayout() { - Height = Application.GetRealHeight(1319), + Height = Application.GetRealHeight(1054), Y = Application.GetRealHeight(418), }; this.midFrameLayout.AddChidren(bottomFrameLayout2); @@ -91,11 +107,11 @@ Text = Language.StringByID(R.MyInternationalizationString.InformationEdit), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, + TextSize = 15, }; bottomFrameLayout2.AddChidren(informationEdit); - for (int i = 0; i < 7; i++) + for (int i = 0; i < 6; i++) { var bottomRowLayout = new FrameLayout() { @@ -108,9 +124,9 @@ Width = Application.GetRealWidth(233), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(58), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, + TextSize = 14, }; bottomRowLayout.AddChidren(btnName); @@ -133,7 +149,7 @@ var btnLine = new FrameLayout() { Width = Application.GetRealWidth(965), - Height = Application.GetRealHeight(2), + Height = 1, X = Application.GetRealWidth(58), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, Visible = false, @@ -208,7 +224,7 @@ btnNext.SelectedImagePath = "DoorLock/SwitchOn.png"; btnLine.Visible = true; btnLine.Y = Application.GetRealHeight(853); - if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "") + if (doorLock.RemoteUnlockPassword == "") { btnNext.IsSelected = false; } @@ -223,73 +239,168 @@ btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime); btnNextFrameLayout.Y = btnName.Y; btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; - btnLine.Visible = true; + btnLine.Visible = false; btnLine.Y = Application.GetRealHeight(992); } - else if (i == 6) - { - bottomRowLayout.Y = Application.GetRealHeight(999 + 35); - btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockShare); - btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; - btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(1131); - } + //else if (i == 6) + //{ + // bottomRowLayout.Y = Application.GetRealHeight(999 + 35); + // btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockShare); + // btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; + // btnLine.Visible = true; + // btnLine.Y = Application.GetRealHeight(1131); + //} int currentIndex = i; - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - if (currentIndex == 1) - { - //鑾峰彇璁惧鎵�灞炴埧闂� - var aa = Common.Room.CurrentRoom.GetRoomByDevice(doorLock); - //鑾峰彇璁惧鎵�鍦ㄦゼ灞� - var bb = aa.FloorId; - //鑾峰彇璁惧鎵�鍦ㄦゼ灞� - var cc = aa.FloorId; - //鑾峰彇妤煎眰鐨勫悕瀛� - var dd = Common.Config.Instance.Home.GetFloorNameById(cc); - //if (Common.Config.Instance.Home.FloorDics.Count == 0)//杩欎釜鏄棤妤煎眰妯″紡 + EventHandler<MouseEventArgs> eHandler = async (sender, e) => + { + if (currentIndex == 1) + { + //鑾峰彇璁惧鎵�灞炴埧闂� + var aa = Common.Room.CurrentRoom.GetRoomByDevice(doorLock); + //鑾峰彇璁惧鎵�鍦ㄦゼ灞� + var bb = aa.FloorId; + //鑾峰彇璁惧鎵�鍦ㄦゼ灞� + var cc = aa.FloorId; + //鑾峰彇妤煎眰鐨勫悕瀛� + var dd = Common.Config.Instance.Home.GetFloorNameById(cc); + //if (Common.Config.Instance.Home.FloorDics.Count == 0)//杩欎釜鏄棤妤煎眰妯″紡 - var listCheck = new List<string>(); - } - else if (currentIndex == 3) - { - var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock); - Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - temporaryPassword.Show(); - } - else if (currentIndex == 4) - { - btnNext.IsSelected = !btnNext.IsSelected; - if (btnNext.IsSelected) - { - if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "") - { - RemotePasswordDialog(doorLock, btnNext); - } - } - else - { - ZigBee.Device.DoorLock.RemoteUnlockPassword = ""; - } - } - else if (currentIndex == 5) - { - var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - tempPage.Show(); - } - else if (currentIndex == 6) - { - } - }; + var listCheck = new List<string>(); + } + else if (currentIndex == 3) + { + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + temporaryPassword.Show(); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + + } + else if (currentIndex == 4) + { + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result1 == true) + { + btnNext.IsSelected = !btnNext.IsSelected; + if (btnNext.IsSelected) + { + if (doorLock.RemoteUnlockPassword == "") + { + RemotePasswordDialog(doorLock, btnNext); + } + } + else + { + doorLock.RemoteUnlockPassword = ""; + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + } + else + { + btnNext.IsSelected = !btnNext.IsSelected; + if (btnNext.IsSelected) + { + if (doorLock.RemoteUnlockPassword == "") + { + RemotePasswordDialog(doorLock, btnNext); + } + } + else + { + doorLock.RemoteUnlockPassword = ""; + } + } + } + else if (currentIndex == 5) + { + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + tempPage.Show(); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + } + }; bottomRowLayout.MouseDownEventHandler += eHandler; btnNext.MouseDownEventHandler += eHandler; btnName.MouseDownEventHandler += eHandler; btnNextFrameLayout.MouseDownEventHandler += eHandler; #endregion } + + //淇濆瓨 + //var btnFinifh = new Button() + //{ + // Width = Application.GetRealWidth(907), + // Height = Application.GetRealHeight(127), + // Y = Application.GetRealHeight(1472), + // Gravity = Gravity.CenterHorizontal, + // Radius = (uint)Application.GetRealHeight(127) / 2, + // TextID = R.MyInternationalizationString.Save, + // BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, + // TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, + // TextSize = 16, + //}; + //this.midFrameLayout.AddChidren(btnFinifh); + //btnFinish.MouseUpEventHandler += async (sender, e) => + //{ + // //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧 + // dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim(); + // //寮�鍚繘搴︽潯 + // this.ShowProgressBar(); + // foreach (var epoint in dicDeviceSaveName.Keys) + // { + // var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint); + // if (device == null || dicDeviceSaveName[epoint] == string.Empty) + // { + // //涓嶈兘鍏佽绌虹櫧鍚嶅瓧 + // continue; + // } + // string newName = dicDeviceSaveName[epoint]; + // string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device); + // if (oldName != newName) + // { + // //璁惧鍚嶇О淇敼 + // var result = await Common.LocalDevice.Current.ReName(device, newName); + // if (result == false) + // { + // //鍏抽棴 + // this.CloseProgressBar(); + // return; + // } + // } + // } + // this.CloseProgressBar(); + // //鍏抽棴鑷韩 + // this.CloseForm(); + //}; } #region 鈼� 鎺ュ彛瀹炵幇__________________________ diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs index 5198645..fe70ffa 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs @@ -27,7 +27,7 @@ /// </summary> public void Show() { - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.FunctionSetting)); + this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.DoorLockFunctionSetting)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { @@ -90,7 +90,7 @@ Text = Language.StringByID(R.MyInternationalizationString.InformationEdit), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, + TextSize = 15, }; bottomFrameLayout2.AddChidren(informationEdit); @@ -109,7 +109,7 @@ X = Application.GetRealWidth(58), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, + TextSize = 14, }; bottomRowLayout.AddChidren(btnName); @@ -132,7 +132,7 @@ var btnLine = new FrameLayout() { Width = Application.GetRealWidth(965), - Height = Application.GetRealHeight(2), + Height = 1, X = Application.GetRealWidth(58), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, Visible = false, @@ -188,7 +188,7 @@ } else if (i == 3) { - bottomRowLayout.Y = Application.GetRealHeight(723 + 35); + bottomRowLayout.Y = Application.GetRealHeight(585 + 35); btnNext.X = Application.GetRealWidth(0); btnName.Text = Language.StringByID(R.MyInternationalizationString.RemotelyUnlock); btnNext.Width = Application.GetRealWidth(104); @@ -196,8 +196,8 @@ btnNext.UnSelectedImagePath = "DoorLock/Switch.png"; btnNext.SelectedImagePath = "DoorLock/SwitchOn.png"; btnLine.Visible = true; - btnLine.Y = Application.GetRealHeight(853); - if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "") + btnLine.Y = Application.GetRealHeight(714); + if (doorLock.RemoteUnlockPassword == "") { btnNext.IsSelected = false; } @@ -208,32 +208,40 @@ } int currentIndex = i; - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - if (currentIndex == 3) - { - //if (doorLock.HasRemoteUnlockAccess[acc.SubAccountDistributedMark] == true) - //{ - - //} - //else - //{ - - //} - btnNext.IsSelected = !btnNext.IsSelected; - if (btnNext.IsSelected) - { - if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "") - { - RemotePasswordDialog(doorLock, btnNext); - } - } - else - { - ZigBee.Device.DoorLock.RemoteUnlockPassword = ""; - } - } - }; + EventHandler<MouseEventArgs> eHandler = async (sender, e) => + { + if (currentIndex == 3) + { + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result1 == true) + { + btnNext.IsSelected = !btnNext.IsSelected; + if (btnNext.IsSelected) + { + if (doorLock.RemoteUnlockPassword == "") + { + RemotePasswordDialog(doorLock, btnNext); + } + } + else + { + doorLock.RemoteUnlockPassword = ""; + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + } + }; bottomRowLayout.MouseDownEventHandler += eHandler; btnNext.MouseDownEventHandler += eHandler; btnName.MouseDownEventHandler += eHandler; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs index 02107ae..bb4f462 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs @@ -28,9 +28,7 @@ Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); try { - CommonDevice.DebugPrintLog($"11111111111111F"); await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocaDoorLocklist(doorLock, accountObj); - CommonDevice.DebugPrintLog($"11111111111111G"); } catch { } finally @@ -38,7 +36,6 @@ Application.RunOnMainThread(() => { MidFrameLayoutContent(); - CommonDevice.DebugPrintLog($"11111111111111E"); CommonPage.Loading.Hide(); }); } @@ -50,8 +47,16 @@ /// </summary> public void Show() { - CommonDevice.DebugPrintLog($"11111111111111A"); - this.TopFrameLayout(this, accountObj.Account); + string accountTitle = ""; + if (accountObj.UserName != null) + { + accountTitle = accountObj.UserName; + } + else + { + accountTitle = accountObj.Account; + } + this.TopFrameLayout(this, accountTitle); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { @@ -60,14 +65,11 @@ this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; this.MidFrameLayout(this); - CommonDevice.DebugPrintLog($"11111111111111B"); ReadDoorLockUserInfo(); - CommonDevice.DebugPrintLog($"11111111111111C"); } public void MidFrameLayoutContent() { - CommonDevice.DebugPrintLog($"11111111111111D"); var bodyView = new VerticalScrolViewLayout() { }; @@ -134,7 +136,7 @@ unLockMethod.Show(); } else - { + { ///澶囨敞锛歐JC鐨� ///璁板綍褰撳墠鐢ㄦ埛淇℃伅 Phone.Device.Logic.Send.UserMemberInfoRes = accountObj; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs index fb955b1..29ec891 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs @@ -193,13 +193,14 @@ } else if (currentIndex == 2) { + btnRight.IsSelected = !btnRight.IsSelected; if (btnRight.IsSelected) { - HasRemoteUnlockAccess(true); + HasRemoteUnlockAccessMethod(true); } else { - HasRemoteUnlockAccess(false); + HasRemoteUnlockAccessMethod(false); } } }; @@ -217,317 +218,340 @@ 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("Loading..."); }); - 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; - 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; - //鍐荤粨浜戠 - 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.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; - }); - } - } - } - 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; - //瑙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.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - } - } - else - { - ZigBee.Device.DoorLock.AccessType accessType; - if (isFreeze) - { - accessType = ZigBee.Device.DoorLock.AccessType.DisEnable; - } - else - { - accessType = ZigBee.Device.DoorLock.AccessType.Enable; - } - //鍐荤粨/瑙e喕鐢ㄦ埛 - var passData = doorLock.SetUserAccessData(int.Parse(curDoorLockUser.DoorLockLocalUserId), accessType); - var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null) - { - if (resultData.defaultControlResponseData.status == 32) - { - 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; - //鍐荤粨浜戠 - 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.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; - }); - } - } - } - else if (resultData.defaultControlResponseData.status == 33) - { - 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; - //瑙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.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - } + alert.ResultEventHandler += (sender1, e1) => + { + if (e1) + { + System.Threading.Tasks.Task.Run(async () => + { + int successConunt = 0; + int operateConunt = -1; + Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); + 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; + 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.Up, CloseTime = 1 }.Show(this.btnTip); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + return; + }); + } + } else { Application.RunOnMainThread(() => { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - } - return; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); }); } - } - else - { - Application.RunOnMainThread(() => + } + 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.Up, CloseTime = 1 }.Show(this.btnTip); + }); + } + } + else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - }); - } + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + }); + } + } + } + else + { + ZigBee.Device.DoorLock.AccessType accessType; + if (isFreeze) + { + accessType = ZigBee.Device.DoorLock.AccessType.DisEnable; + } + else + { + accessType = ZigBee.Device.DoorLock.AccessType.Enable; + } + //鍐荤粨/瑙e喕鐢ㄦ埛 + var passData = doorLock.SetUserAccessData(int.Parse(curDoorLockUser.DoorLockLocalUserId), accessType); + var resultData = await doorLock.DefaultControlAsync(passData); + if (resultData != null && resultData.defaultControlResponseData != null) + { + if (resultData.defaultControlResponseData.status == 32) + { + 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.Up, CloseTime = 1 }.Show(this.btnTip); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + return; + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); + }); + } + } + else if (resultData.defaultControlResponseData.status == 33) + { + 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.Up, CloseTime = 1 }.Show(this.btnTip); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + if (isFreeze) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); + } + return; + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); + }); + } + } + } + } + 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.Up, CloseTime = 1 }.Show(this.btnTip); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + 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; - } - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); - if (result != null && result.StateCode == "Success") - { - operateConunt = 0; - // 娣诲姞鍒颁簯绔垚鍔燂紝闇�瑕侀噸鏂拌幏鍙栦繚瀛樺埌鏈湴 - //var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalAccountlist(doorLock, curAccountObj.SubAccountDistributedMark); - //if (resultList.ContainsKey(curAccountObj.SubAccountDistributedMark) == true) - //{ - // var a = resultList[curAccountObj.SubAccountDistributedMark]; - // if (a?.ConnectedAccount == curAccountObj.SubAccountDistributedMark) - // { - // operateConunt = 0; - // } - // else - // { - // Application.RunOnMainThread(() => - // { - // if (isFreeze) - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - // } - // else - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - // } - // return; - // }); - // } - //} } else { Application.RunOnMainThread(() => { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; - }); - } - } - } - 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(); - }); - } - }); - } + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + + }); + } + } + } + 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 HasRemoteUnlockAccess(bool hasAccess) + 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)); @@ -556,11 +580,11 @@ if (d != null) { //淇敼浜戠瀛樺偍淇℃伅 - var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetMatchDoorlockAccountList(doorLock, curAccountObj); - operateConunt = curAccountDoorLockUserList.Count; - foreach (var curUserId in curAccountDoorLockUserList.Keys) + var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); + + foreach (var curDoorLockUser in curAccountDoorLockUserList) { - var curDoorLockUser = curAccountDoorLockUserList[curUserId]; + operateConunt = curAccountDoorLockUserList.Count; if (hasAccess) { var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); @@ -573,10 +597,10 @@ { refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } - refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + refreshDoorLockData.PrimaryId = curDoorLockUser.Id; refreshDoorLockData.IsFreezeUser = false; refreshDoorLockData.IsTempUnlockAuthority = true; - //鍐荤粨浜戠 + // 鎺堟潈 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); if (result != null) { @@ -588,17 +612,16 @@ { Application.RunOnMainThread(() => { - if (hasAccess) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountSuccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); }); } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + }); } } else @@ -613,10 +636,10 @@ { refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } - refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + refreshDoorLockData.PrimaryId = curDoorLockUser.Id; refreshDoorLockData.IsFreezeUser = false; refreshDoorLockData.IsTempUnlockAuthority = false; - //瑙e喕浜戠 + //鍙栨秷鏉冮檺 var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); if (result != null) { @@ -628,9 +651,16 @@ { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); }); } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + }); } } } @@ -660,23 +690,33 @@ addLockInfo.IsTempUnlockAuthority = false; } var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); - if (result != null && result.StateCode == "Success") + if (result != null) { - operateConunt = 0; + if (result.StateCode == "Success") + { + operateConunt = 0; + } + else + { + Application.RunOnMainThread(() => + { + if (hasAccess) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + return; + }); + } } else { Application.RunOnMainThread(() => { - if (hasAccess) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountSuccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); }); } } @@ -705,6 +745,10 @@ } }); } + else + { + MidRefresh(); + } }; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/RemotelyUnlock.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/RemotelyUnlock.cs deleted file mode 100755 index 29f09b9..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/RemotelyUnlock.cs +++ /dev/null @@ -1,162 +0,0 @@ -锘縰sing System; -using ZigBee.Device; -namespace Shared.Phone.UserCenter.DoorLock -{ - public class RemotelyUnlock : DoorLockCommonLayout, ZigBee.Common.IStatus - { - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - /// <param name="doorLock"></param> - public RemotelyUnlock(ZigBee.Device.DoorLock doorLock) - { - this.doorLock = doorLock; - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; - ZigBee.Device.ZbGateway.StatusList.Add(this); - } - - #region 鈼� 鍙橀噺鐢虫槑__________________________ - ZigBee.Device.DoorLock doorLock; - #endregion - - /// <summary> - /// UI鏄剧ず - /// </summary> - public void Show() - { - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.RemotelyUnlock)); - - EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => - { - RemoveFromParent(); - }; - this.btnBack.MouseUpEventHandler += eHandlerBack; - this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; - this.MidFrameLayout(this); - - MidFrameLayoutContent(); - } - - public void MidFrameLayoutContent() - { - var passwordText = new EditText() - { - Y = Application.GetRealHeight(140), - Width = Application.GetRealWidth(480 * 2), - Height = Application.GetRealHeight(70), - Gravity = Gravity.CenterHorizontal, - //PlaceholderText = Language.StringByID(R.MyInternationalizationString.InputSixPassword), - TextAlignment = TextAlignment.Center, - TextColor = 0xff000000, - //UnSelectedImagePath = "Register/Register_Password_kuang.png", - //PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor, - Radius = (uint)Application.GetRealHeight(0), - //SecureTextEntry = true, - TextSize = 15, - BackgroundColor = 0xff00ff00, - }; - this.midFrameLayout.AddChidren(passwordText); - - var btnTip = new Button() - { - Height = Application.GetRealHeight(60), - Width = Application.GetRealWidth(60), - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(200), - Enable = false, - Visible = false, - }; - - this.midFrameLayout.AddChidren(btnTip); - var btnLock = new Button() - { - Height = Application.GetRealHeight(500), - Width = Application.GetRealWidth(501), - //UnSelectedImagePath = "DoorLockPic/door_lock_close.png", - //SelectedImagePath = "DoorLockPic/door_lock_open.png", - BackgroundColor = 0xff00ffff, - SelectedBackgroundColor = 0xff00ff00, - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(370), - Enable = false, - }; - this.midFrameLayout.AddChidren(btnLock); - btnLock.MouseUpEventHandler += (sender, e) => - { - btnLock.IsSelected = !btnLock.IsSelected; - }; - - passwordText.Text = getDynamicPassword(); - var delayTime = DateTime.Now.AddSeconds(+300);//5鍒嗛挓鍐呮湁鏁� - new System.Threading.Thread(() => - { - while (true) - { - if (DateTime.Now >= delayTime) - { - Application.RunOnMainThread(() => - { - passwordText.Text = "瀵嗙爜澶辨晥"; - }); - } - } - }) - { IsBackground = true }.Start(); - } - - /// <summary> - /// 閲嶅啓绉婚櫎鏂规硶 - /// </summary> - public override void RemoveFromParent() - { - ZbGateway.StatusList.Remove(this); - base.RemoveFromParent(); - } - - /// <summary> - /// 鐢熸垚6浣嶅姩鎬佸瘑鐮� - /// </summary> - /// <returns></returns> - string getDynamicPassword() - { - var password = ""; - password = new Random().Next(100000, 999999).ToString(); - return password; - } - - #region 鈼� 鎺ュ彛瀹炵幇__________________________ - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange() - /// </summary> - /// <returns>The changed.</returns> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - - } - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 - /// </summary> - /// <param name="common"></param> - /// <param name="typeTag"></param> - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - /// <summary> - /// Changeds the IL ogic status. - /// </summary> - /// <param name="logic">Logic.</param> - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - /// <summary> - /// Changeds the IS cene status. - /// </summary> - /// <param name="scene">Scene.</param> - public void ChangedISceneStatus(Scene scene) - { - } - #endregion - - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/SubAccountManagementPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/SubAccountManagementPage.cs deleted file mode 100755 index 6fd76b1..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/SubAccountManagementPage.cs +++ /dev/null @@ -1,10 +0,0 @@ -锘縰sing System; -namespace Shared.Phone.UserCenter.DoorLock -{ - public class SubAccountManagementPage - { - public SubAccountManagementPage() - { - } - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs index b6001cf..b392c11 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs @@ -17,7 +17,6 @@ this.doorLock = doorLock; BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; ZigBee.Device.ZbGateway.StatusList.Add(this); - ReadTempPasswordData(); } #region 鈼� 鍙橀噺鐢虫槑__________________________ @@ -36,6 +35,7 @@ /// </summary> public void Show() { + ReadTempPasswordData(); this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.TemporaryPassword)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => @@ -52,7 +52,7 @@ #region btnDelFrameLayout var btnDelFrameLayout = new FrameLayout { - X = Application.GetRealWidth(953), + X = Application.GetRealWidth(953 - 116), Height = Application.GetRealHeight(69), Width = Application.GetRealWidth(1080 - 953), }; @@ -291,8 +291,6 @@ { randomPassword.Text = doorLock.LocalTempPassword; temPasswordVisiable.Visible = true; - // topPic.Visible = false; - // topPic.Enable = false; if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable) { randomPassword.SecureTextEntry = false; @@ -514,7 +512,7 @@ Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); try { - if (doorLock.LocalTempPassword == "") + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) { //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� Application.RunOnMainThread(() => @@ -523,44 +521,23 @@ }); return; } - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) - //{ - // //璇疯缃敓鏁堟椂闂达紱 - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0) - //{ - // //璇疯缃敓鏁堟棩鏈燂紱 - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip3), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100) - //{ - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip4), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0) - //{ - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip5), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} var dNow = DateTime.Now; - var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute, dNow.Second); + var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute - 1, dNow.Second); var inValidDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute, dNow.Second); + if (DateTime.Compare(inValidDateTime, validDateTime) < 0) + { + //鏃犳晥鐨勬椂闂磋缃� + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + }); + return; + } + + var startTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(validDateTime); + var endTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(inValidDateTime); + action = (topic, data) => { var gatewayID = topic.Split('/')[0]; @@ -602,40 +579,57 @@ } //璁剧疆涓存椂瀵嗙爜鍒伴棬閿� var addOrModifyResult = await doorLock.TempPasswordAsync(doorLock.LocalTempPassword, validDateTime, inValidDateTime); - if (addOrModifyResult != null && addOrModifyResult.responseData != null && addOrModifyResult.responseData.status == 0) + if (addOrModifyResult != null && addOrModifyResult.responseData != null) { - System.Threading.Thread.Sleep(1000); - if (doorLock.tempPasswordObject != null) + if (addOrModifyResult.responseData.status == 0) { - var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + System.Threading.Thread.Sleep(1000); + if (doorLock.tempPasswordObject != null) { - addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - addDoorLockTempPasswordData.IsOtherAccountCtrl = true; + var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + addDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } + addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword; + if (doorLock.DeviceAddr != null) + { + addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime; + addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime; + addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString(); + //瀛樺埌浜� + var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData); + if (result1 == null) + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + }); + return; + } + if (result1.StateCode != "Success") + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + }); + return; + } + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; + doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; + TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); } - addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword; - if (doorLock.DeviceAddr != null) - { - addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime; - addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime; - addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString(); - //瀛樺埌浜� - var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData); - if (result1 != null && result1.StateCode != "Success") + else { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); }); return; } - //btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;//XMUnSelect XMBlack - //btnFinifh.Enable = false; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; - doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; - TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); } else { @@ -650,7 +644,7 @@ { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); }); return; } @@ -684,35 +678,58 @@ { var passData = doorLock.SetUserAccessData(doorLock.tempPasswordObject.UserId, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null && resultData.defaultControlResponseData.status == 0) + if (resultData != null && resultData.defaultControlResponseData != null) { - var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (resultData.defaultControlResponseData.status == 0) { - delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - delDoorLockTempPasswordData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); - if (result1 != null && result1 != null && result1.StateCode == "Success") - { - doorLock.tempPasswordObject = null; - doorLock.LocalTempPassword = ""; - TimeDateData(DateTime.Now, DateTime.Now, true); - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + delDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); + if (result1 != null) + { + if (result1.StateCode == "Success") + { + doorLock.tempPasswordObject = null; + doorLock.LocalTempPassword = ""; + TimeDateData(DateTime.Now, DateTime.Now, true); + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1) + ".", Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + }); + } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + }); } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText); } } @@ -751,18 +768,33 @@ getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData); - if (result != null && result.PageData != null) + if (result != null) { - foreach (var curDoorLockTempPaw in result.PageData) + if (result.PageData.Count != 0) { - var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject(); - tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId); - tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime; - tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime; - doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd; - doorLock.tempPasswordObject = tpObj; - TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); + foreach (var curDoorLockTempPaw in result.PageData) + { + var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject(); + tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId); + tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime; + tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime; + doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd; + doorLock.tempPasswordObject = tpObj; + TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); + } } + else + { + doorLock.tempPasswordObject = null; + doorLock.LocalTempPassword = ""; + TimeDateData(DateTime.Now, DateTime.Now, true); + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); } } catch { } @@ -832,6 +864,7 @@ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month; Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day; Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1; + //doorLock.ReSave(); } if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs index 7108033..1ab6e14 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs @@ -107,7 +107,6 @@ this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; this.MidFrameLayout(this); - MidFrameLayoutContent(); } @@ -115,10 +114,12 @@ { if (setTimeType == "DoorLockTime") { + // 鍙湁閲嶆柊鍚姩鏃朵細鎱紝鐒跺悗鍏朵粬鏃跺埢閮芥槸鏈夊�肩殑 new System.Threading.Thread(() => { while (this.Parent != null) { + //璇婚棬閿佹椂闂� doorLock.ReadAttri(ZigBee.Device.Cluster_ID.DoorLock, ZigBee.Device.AttriButeId.DoorLock); System.Threading.Thread.Sleep(5 * 1000); } @@ -135,6 +136,12 @@ var dtNow = DateTime.Now; for (int i = 0; i < 2; i++) { + var rowLayout = new FrameLayout() + { + Height = Application.GetRealHeight(58), + }; + MidTopFrameLayout.AddChidren(rowLayout); + var btnDateTime = new Button() { Width = Application.GetRealWidth(560), @@ -144,7 +151,7 @@ TextAlignment = TextAlignment.CenterLeft, TextSize = 12, }; - MidTopFrameLayout.AddChidren(btnDateTime); + rowLayout.AddChidren(btnDateTime); var textDisplayDateFrameLayout = new FrameLayout() { @@ -152,7 +159,7 @@ Height = Application.GetRealHeight(58), X = Application.GetRealWidth(620), }; - MidTopFrameLayout.AddChidren(textDisplayDateFrameLayout); + rowLayout.AddChidren(textDisplayDateFrameLayout); var btnNextFrameLayout = new FrameLayout() { @@ -160,7 +167,7 @@ Height = Application.GetRealHeight(58), X = Application.GetRealWidth(956), }; - MidTopFrameLayout.AddChidren(btnNextFrameLayout); + rowLayout.AddChidren(btnNextFrameLayout); var btnNext = new Button() { @@ -188,7 +195,7 @@ if (i == 0) { - btnDateTime.Y = Application.GetRealHeight(50); + rowLayout.Y = Application.GetRealHeight(50); btnLine.Y = Application.GetRealHeight(23 + 127); textDisplayDate = new Button() @@ -199,7 +206,7 @@ Text = "_" + Language.StringByID(R.MyInternationalizationString.Year) + "_" + Language.StringByID(R.MyInternationalizationString.Month) + "_" + Language.StringByID(R.MyInternationalizationString.Day), }; textDisplayDateFrameLayout.AddChidren(textDisplayDate); - textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y; + //textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y; if (setTimeType != "DoorLockTime") { @@ -212,7 +219,7 @@ } else if (i == 1) { - btnDateTime.Y = Application.GetRealHeight(200); + rowLayout.Y = Application.GetRealHeight(200); btnLine.Y = Application.GetRealHeight(40 + 127 + 127); textDisplayTime = new Button() { @@ -222,7 +229,7 @@ Text = "00:00", }; textDisplayDateFrameLayout.AddChidren(textDisplayTime); - textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y; + //textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = btnDateTime.Y; if (setTimeType != "DoorLockTime") { @@ -503,6 +510,7 @@ } } }; + rowLayout.MouseDownEventHandler += hander; btnDateTime.MouseDownEventHandler += hander; textDisplayDateFrameLayout.MouseDownEventHandler += hander; btnNextFrameLayout.MouseDownEventHandler += hander; @@ -523,14 +531,20 @@ { CommonPage.Loading.Start(""); var rectifyResult = await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp)); - if (rectifyResult != null && rectifyResult.setWritableValueResponData != null && rectifyResult.setWritableValueResponData.Status == 0) + if (rectifyResult != null && rectifyResult.setWritableValueResponData != null) { - this.shadowRadiusFrameLayout.RemoveFromParent(); - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifySuccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + if (rectifyResult.setWritableValueResponData.Status == 0) + { + this.shadowRadiusFrameLayout.RemoveFromParent(); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); } } catch { } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs index 6bd28b7..7580a18 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs @@ -2,11 +2,39 @@ using System.Collections.Generic; using System.ComponentModel; using Shared.Common; +using ZigBee.Device; namespace Shared.Phone.UserCenter.DoorLock { - public class UnLockMethod : DoorLockCommonLayout + public class UnLockMethod : DoorLockCommonLayout, ZigBee.Common.IStatus { + /// <summary> + /// 澶勭悊鍙樺寲浜嬩欢 + /// </summary> + /// <param name="common"></param> + /// <param name="typeTag"></param> + public void DeviceInfoChange(CommonDevice tempDevice, string typeTag) + { + if (typeTag == "DoorLockProgrammingEventNotificationCommand" && tempDevice != null) + { + if (tempDevice != null) + { + if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint + && tempDevice.DeviceAddr == doorLock.DeviceAddr) + { + var doorLock = tempDevice as ZigBee.Device.DoorLock; + if (doorLock.doorLockProgrammingEventNotificationCommand != null) + { + + Application.RunOnMainThread(() => + { + + }); + } + } + } + } + } /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> @@ -58,7 +86,7 @@ this.btnTitleLine.Visible = false; EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { - RemoveFromParent(); + this.RemoveFromParent(); }; this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; @@ -66,7 +94,7 @@ var btnAddFrameLayout = new FrameLayout { - X = Application.GetRealWidth(953), + X = Application.GetRealWidth(953 - 116), Height = Application.GetRealHeight(72), Width = Application.GetRealWidth(72), }; @@ -79,20 +107,32 @@ UnSelectedImagePath = "DoorLock/AddIcon.png", }; btnAddFrameLayout.AddChidren(btnAdd); - btnAdd.MouseDownEventHandler += (sender, e) => + if (UserCenterResourse.UserInfo.AuthorityNo != 1) { - if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addUnLockMethod.Show(); - } - }; + btnAdd.Width = 0; + } + btnAdd.MouseDownEventHandler += (sender, e) => + { + if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + else + { + var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addUnLockMethod.Show(); + } + }; + if (UserCenterResourse.UserInfo.AuthorityNo == 3) + { + btnAddFrameLayout.Width = 0; + } + else + { + btnAddFrameLayout.Width = Application.GetRealWidth(72); + } MidFrameLayoutContent(); } //涓儴甯冨眬 @@ -174,7 +214,8 @@ bodyView = new VerticalScrolViewLayout() { - Y = btnLine.Bottom, + Y = midTopFrameLayout.Bottom, + Height = Application.GetRealHeight(1921 - 184 - 115 - 1), }; this.midFrameLayout.AddChidren(bodyView); @@ -439,6 +480,7 @@ } else { + //寮�鍏冲浘鏍� new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } @@ -948,5 +990,26 @@ } } + /// <summary> + /// 閲嶅啓绉婚櫎鏂规硶 + /// </summary> + public override void RemoveFromParent() + { + ZbGateway.StatusList.Remove(this); + base.RemoveFromParent(); + } + + + + public void Changed(CommonDevice common) + { + } + public void ChangedILogicStatus(ZigBee.Device.Logic logic) + { + } + + public void ChangedISceneStatus(Scene scene) + { + } } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs index 7b5c669..4efd8ca 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs @@ -69,18 +69,43 @@ { foreach (var curDoorLockUser in getDoorLockInfoList.PageData) { + if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "") + { + continue; + } if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId))) { - doorLock.localDoorLockUserList.Remove(int.Parse(curDoorLockUser.DoorLockLocalUserId)); + var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); + doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; + doorLockObj.PrimaryId = curDoorLockUser.Id; + doorLockObj.EntryTime = curDoorLockUser.EntryTime; + doorLockObj.UserName = curDoorLockUser.UserIdRemarks; + doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; + doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj; } - var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); - doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; - doorLockObj.PrimaryId = curDoorLockUser.Id; - doorLockObj.EntryTime = curDoorLockUser.EntryTime; - doorLockObj.UserName = curDoorLockUser.UserIdRemarks; - doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; - doorLock.localDoorLockUserList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId), doorLockObj); + else + { + if (curDoorLockUser.DoorLockLocalUserId != null) + { + //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D + 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.DoorLockLocalUserId; + deleteDoorLockData.PrimaryId = curDoorLockUser.Id; + deleteDoorLockData.DelDoorLockDelType = 2; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + int i = 0; + } + } } } else @@ -88,6 +113,7 @@ Application.RunOnMainThread(() => { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + return; }); } } @@ -168,9 +194,18 @@ SideslipFramelayout(); }; + var btnLine = new Button + { + Y = midTopFrameLayout.Bottom, + Height = 1, + BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine, + }; + this.midFrameLayout.AddChidren(btnLine); + bodyView = new VerticalScrolViewLayout() { Y = midTopFrameLayout.Bottom, + Height = Application.GetRealHeight(1921 - 184 - 115 - 1), }; this.midFrameLayout.AddChidren(bodyView); @@ -537,35 +572,42 @@ addLockInfo.EntryTime = curDoorLockUser.EntryTime; var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); - if (result != null && result.StateCode == "Success") + if (result != null) { - //瀛樿处鎴蜂俊鎭� - //var resultList1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalAccountlist(doorLock, curAccountId); - //瀛橀棬閿佷俊鎭� - var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalDoorLocklist(doorLock, curAccountId); - var uList = new List<int> { }; - if (resultList != null) + if (result.StateCode == "Success") { - foreach (var a in resultList.Keys) + //瀛橀棬閿佷俊鎭� + var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalDoorLocklist(doorLock, curAccountId); + var uList = new List<int> { }; + if (resultList != null) { - uList.Add(a); + foreach (var a in resultList.Keys) + { + uList.Add(a); + } } - } - var d = uList.Find((value) => { return value == doorLock.doorLockProgrammingEventNotificationCommand.UserID; }); - if (d != null) - { - RefreshList(); - flMain.RemoveFromParent(); - bottomFrameLayout.RemoveAll(); + var d = uList.Find((value) => { return value == curDoorLockUser.UserID; }); + if (d != null) + { + RefreshList(); + flMain.RemoveFromParent(); + bottomFrameLayout.RemoveAll(); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + flMain.RemoveFromParent(); + bottomFrameLayout.RemoveAll(); } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); flMain.RemoveFromParent(); bottomFrameLayout.RemoveAll(); } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index b964c76..4044118 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -9,6 +9,7 @@ public UserDoorLockPage(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj) { this.doorLock = doorLock; + //currentRoom = room;Shared.Common.Room room, BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; ZigBee.Device.ZbGateway.StatusList.Add(this); } @@ -16,6 +17,7 @@ #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.DoorLock doorLock; FrameLayout bottomFrameLayout; + Shared.Common.Room currentRoom; Action action; #endregion @@ -36,16 +38,15 @@ var btnShare = new Button { - X = Application.GetRealWidth(850), + X = Application.GetRealWidth(850 - 116), Height = Application.GetRealHeight(69), Width = Application.GetRealWidth(69), - UnSelectedImagePath = "DoorLock/ShareIcon.png", }; this.titleFrameLayout.AddChidren(btnShare); var btnFuncSet = new Button { - X = Application.GetRealWidth(953), + X = Application.GetRealWidth(953 - 116), Height = Application.GetRealHeight(69), Width = Application.GetRealWidth(69), UnSelectedImagePath = "DoorLock/SettingIcon.png", @@ -53,16 +54,16 @@ this.titleFrameLayout.AddChidren(btnFuncSet); btnFuncSet.MouseDownEventHandler += (sender, e) => { - if (UserCenterResourse.UserInfo.AuthorityNo == 3) + if (UserCenterResourse.UserInfo.AuthorityNo == 1) { - var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); + var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; userDoorLockPage.Show(); } else { - var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); + var userDoorLockPage = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; userDoorLockPage.Show(); @@ -131,11 +132,21 @@ Height = Application.GetRealHeight(69), X = Application.GetRealWidth(850), Y = Application.GetRealHeight(46), - UnSelectedImagePath = "DoorLock/FavoriteIcon.png", + UnSelectedImagePath = "Item/Collection.png", + SelectedImagePath = "Item/CollectionSelected.png" }; midTopFrameLayout.AddChidren(btnCollect); btnCollect.MouseDownEventHandler += (sender, e) => { + btnCollect.IsSelected = !btnCollect.IsSelected; + if (btnCollect.IsSelected) + { + // Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(doorLock.FileName); //鍙栨秷鏀惰棌 + } + else + { + //Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(doorLock.FileName);//鏀惰棌 + } }; var btnCurrentText = new Button() @@ -268,7 +279,7 @@ Height = Application.GetRealHeight(49), X = Application.GetRealWidth(150), Y = Application.GetRealHeight(46), - Text = "瀹㈠巺", + // Text = currentRoom.Name, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 12, TextAlignment = TextAlignment.CenterLeft, @@ -278,13 +289,35 @@ EventHandler<MouseEventArgs> hander1 = async (sender, e) => { - RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result == false) + { + var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); + if (result1 == true) + { + RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); + } + } + else + { + RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus); + } }; openFrameLayout.MouseUpEventHandler += hander1; btnDoorOpenPic.MouseUpEventHandler += hander1; EventHandler<MouseEventArgs> hander2 = (sender, e) => { - //new Tip() { MaxWidth = 150, Text = "涓嶆敮鎸佽繙绋嬪叧閿�", Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(openFrameLayout); btnDoorLockPic.IsSelected = false; progressButton.Y = Application.GetRealHeight(347); }; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs index 191071a..7727d38 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs @@ -17,14 +17,8 @@ /// <param name="common">Common.</param> public void Changed(CommonDevice common) { - //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch) - //{ - // return; - //} - Shared.Application.RunOnMainThread(() => { - //var dev = common as Panel; }); } /// 鏋勯�犲嚱鏁� @@ -104,7 +98,7 @@ var btnAddFrameLayout = new FrameLayout { - X = Application.GetRealWidth(829), + X = Application.GetRealWidth(829 - 116), Height = Application.GetRealHeight(72), Width = Application.GetRealWidth(190), }; @@ -128,7 +122,11 @@ TextAlignment = TextAlignment.CenterLeft, }; btnAddFrameLayout.AddChidren(btnUndistributeText); - + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + btnUndistributeIcon.Width = 0; + btnUndistributeText.Width = 0; + } EventHandler<MouseEventArgs> eHandler = (sender, e) => { var undistributeDoorlockUserPage = new Shared.Phone.UserCenter.DoorLock.UndistributeDoorlockUserPage(doorLock, doorLock.localAllAccountList); @@ -144,7 +142,6 @@ }; this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); ReadAccountList(); - // MidFrameLayoutContent(); } async void MidFrameLayoutContent() diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs index 88dbcba..b9c9a7f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/NewGateWayMenuSelectForm.cs @@ -56,8 +56,20 @@ row2.AddRightArrow(); row2.ButtonClickEvent += (sender, e) => { - var form = new SearchWirelessMenuControl(); - form.AddForm(); + var menuContr = new BottomMenuSelectForm(); + menuContr.AddForm(2); + //UDP妯″紡(鎺ㄨ崘) + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uUdpModeRecommend), () => + { + var form = new WirelessUdpDirectionForm(); + form.AddForm(); + }); + //AP妯″紡 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uApMode), () => + { + var form = new WirelessApDirection1Form(); + form.AddForm(); + }); }; } @@ -115,6 +127,8 @@ { //鍏抽棴鐣岄潰 this.CloseForm(); + var form = new WirelessApDirection1Form(); + form.AddForm(); }; var frameBack2 = new FrameLayoutControl(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs index d7d27e5..7d156a6 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs @@ -177,6 +177,11 @@ var btnGoBack = new BottomClickButton(688); btnGoBack.Y = Application.GetRealHeight(1495); btnGoBack.TextID = R.MyInternationalizationString.uGobackGatewayManage; + if (UserCenterResourse.DicActionForm.ContainsKey("GatewayListForm") == false) + { + //杩斿洖涓婚〉 + btnGoBack.TextID = R.MyInternationalizationString.uGobackToHomePage; + } bodyFrameLayout.AddChidren(btnGoBack); btnGoBack.ButtonClickEvent += (sender, e) => { @@ -289,7 +294,7 @@ { if (this.Parent != null) { - var form = new WiredGatewayListForm(); + var form = new GatewayManage.GatewaySearchListForm(); this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv); } }); @@ -309,8 +314,7 @@ List<string> listId = new List<string>(); for (int i = 0; i < ZbGateway.GateWayList.Count; i++) { - string strip = HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(ZbGateway.GateWayList[i], "IpAddress").ToString(); - if (strip == string.Empty) + if (ZbGateway.GateWayList[i].getGatewayBaseInfo.IpAddress == string.Empty) { //IP娌℃湁鐨勭綉鍏筹紝鎴戜篃涓嶇煡閬撳畠鏄共鍢涚殑 continue; @@ -342,8 +346,6 @@ { continue; } - //鏀堕泦缃戝叧瀵硅薄 - this.listZbGateway.Add(way); //缃戝叧缁戝畾妯″紡 GatewayBindMode mode = GatewayBindMode.BindAgain; @@ -351,7 +353,7 @@ if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId) { - if (way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId) + if (way.getGatewayBaseInfo.HomeId != Common.Config.Instance.HomeId) { //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖ mode = GatewayBindMode.First; @@ -364,12 +366,14 @@ //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔) ShowErrorMode showMode = this.dicIdCheckCount[listId[i]] == 0 ? ShowErrorMode.YES : ShowErrorMode.NO; - var result = await this.DoSaveGateway(way, showMode); + var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO); if (result == false) { continue; } } + //鏀堕泦缃戝叧瀵硅薄 + this.listZbGateway.Add(way); //濡傛灉瀹冨凡缁忓畬鍏ㄦ垚鍔熶簡鐨勮瘽锛屽垯灏嗗畠鐨勫墿浣欐鏁扮疆闆� this.dicIdCheckCount[listId[i]] = 0; @@ -403,44 +407,6 @@ #endregion - #region 鈻� 鎵ц缃戝叧淇濆瓨_______________________ - - /// <summary> - /// 鎵ц缃戝叧淇濆瓨 - /// </summary> - /// <param name="zbGateway">缃戝叧瀵硅薄</param> - /// <param name="mode">鏄惁鏄剧ず閿欒</param> - /// <returns></returns> - private async Task<bool> DoSaveGateway(ZbGateway zbGateway, ShowErrorMode mode) - { - //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛� - //1:姝e父 -1:寮傚父 0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈� - int result = await HdlGatewayLogic.Current.AddNewGateway(zbGateway, mode); - if (result == -1) - { - return false; - } - - //鍓嶇殑缃戝叧缁戝畾鍦ㄤ簡褰撳墠璐﹀彿涓嬬殑涓嶅悓浣忓畢閲岄潰 - if (result == 0) - { - if (mode == ShowErrorMode.YES) - { - //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯 - string msg = Language.StringByID(R.MyInternationalizationString.uTheGatewayInOtherResidenceMsg); - if (msg.Contains("{0}") == true) - { - msg = string.Format(msg, "\r\n"); - } - this.ShowMassage(ShowMsgType.Tip, msg); - } - return false; - } - return true; - } - - #endregion - #region 鈻� 鐣岄潰鍏抽棴___________________________ /// <summary> @@ -466,7 +432,7 @@ way.DisConnect("Search"); } } - if (UserCenterResourse.listActionFormId.Contains("GatewayManagementForm") == false) + if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == false) { //鍒锋柊涓婚〉 UserView.UserPage.Instance.Fresh(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs new file mode 100755 index 0000000..0a2205d --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection1Form.cs @@ -0,0 +1,79 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.GatewayAdd +{ + /// <summary> + /// 鏃犵嚎缃戝叧AP妯″紡鐨勮鏄庢寚绀虹晫闈�1 + /// </summary> + public class WirelessApDirection1Form : EditorCommonForm + { + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //鍥剧墖 + var framePic = new FrameLayout(); + framePic.Width = Application.GetMinRealAverage(392); + framePic.Height = Application.GetMinRealAverage(259); + framePic.Gravity = Gravity.CenterHorizontal; + framePic.Y = Application.GetRealHeight(426); + framePic.BackgroundImagePath = "Gateway/WirelessApDirection.png"; + bodyFrameLayout.AddChidren(framePic); + + //闀挎寜缃戝叧HID/WCFG鎸夐敭5绉� + //绯荤粺鐏父浜�60绉掑悗鍒欒繘鍏ラ厤缃戠姸鎬� + string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg1).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); + int yy = framePic.Bottom + Application.GetRealHeight(291); + foreach (var msg in ArryMsg) + { + var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); + btnMsg.Text = msg; + btnMsg.Y = yy; + btnMsg.TextAlignment = TextAlignment.Center; + btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; + bodyFrameLayout.AddChidren(btnMsg); + yy = btnMsg.Bottom; + } + + //鏌ョ湅甯姪 + var btnHelp = this.AddHelpControl(); + btnHelp.ButtonClickEvent += (sender, e) => + { + var form = new DeviceDirection.DeviceDirectionHelpForm(); + form.AddForm("WirelessUdp"); + }; + + //涓嬩竴姝� + var btnNext = new BottomClickButton(); + btnNext.TextID = R.MyInternationalizationString.uNextway; + bodyFrameLayout.AddChidren(btnNext); + btnNext.ButtonClickEvent += (sender, e) => + { + var form = new WirelessApDirection2Form(); + this.AddFromAndRemoveNowForm(form); + }; + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs new file mode 100755 index 0000000..7e10cf7 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection2Form.cs @@ -0,0 +1,98 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.GatewayAdd +{ + /// <summary> + /// 鏃犵嚎缃戝叧AP妯″紡鐨勮鏄庢寚绀虹晫闈�2 + /// </summary> + public class WirelessApDirection2Form : EditorCommonForm + { + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //鍥剧墖 + var framePic = new FrameLayout(); + framePic.Width = Application.GetMinRealAverage(852); + framePic.Height = Application.GetMinRealAverage(478); + framePic.Gravity = Gravity.CenterHorizontal; + framePic.Y = Application.GetRealHeight(285); + framePic.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png"; + bodyFrameLayout.AddChidren(framePic); + + //璺宠浆鍒扮Щ鍔ㄨ澶嘩LAN璁剧疆 + //閫夋嫨hdlZigbeeGW-xxxx缃戠粶 + string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg2).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); + int yy = framePic.Bottom + Application.GetRealHeight(213); + foreach (var msg in ArryMsg) + { + var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); + btnMsg.Text = msg; + btnMsg.Y = yy; + btnMsg.TextAlignment = TextAlignment.Center; + btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; + bodyFrameLayout.AddChidren(btnMsg); + yy = btnMsg.Bottom; + } + + //鍘昏缃� + var btnSettion = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(50), false); + btnSettion.Y = yy + Application.GetRealHeight(12); + btnSettion.TextSize = 12; + btnSettion.TextAlignment = TextAlignment.Center; + btnSettion.TextColor = 0xff0075ff; + btnSettion.Text = Language.StringByID(R.MyInternationalizationString.uGotoSettion); + btnSettion.ButtonClickEvent += (sender, e) => + { + }; + bodyFrameLayout.AddChidren(btnSettion); + //搴曠嚎 + int lineWidth = btnSettion.GetRealWidthByText(12); + var btnLine1 = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); + btnLine1.BackgroundColor = 0xff0075ff; + btnLine1.Gravity = Gravity.CenterHorizontal; + btnLine1.Y = btnSettion.Bottom - Application.GetRealHeight(8); + bodyFrameLayout.AddChidren(btnLine1); + + //鏌ョ湅甯姪 + var btnHelp = this.AddHelpControl(); + btnHelp.ButtonClickEvent += (sender, e) => + { + var form = new DeviceDirection.DeviceDirectionHelpForm(); + form.AddForm("WirelessUdp"); + }; + + //涓嬩竴姝� + var btnNext = new BottomClickButton(); + btnNext.TextID = R.MyInternationalizationString.uNextway; + bodyFrameLayout.AddChidren(btnNext); + btnNext.ButtonClickEvent += (sender, e) => + { + var form = new WirelessApSelectNetworkForm(); + this.AddFromAndRemoveNowForm(form); + }; + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs new file mode 100755 index 0000000..881549b --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApDirection3Form.cs @@ -0,0 +1,98 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.GatewayAdd +{ + /// <summary> + /// 鏃犵嚎缃戝叧AP妯″紡鐨勮鏄庢寚绀虹晫闈�3 + /// </summary> + public class WirelessApDirection3Form : EditorCommonForm + { + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //鏌ョ湅甯姪 + var btnHelp = this.AddHelpControl(); + btnHelp.ButtonClickEvent += (sender, e) => + { + var form = new DeviceDirection.DeviceDirectionHelpForm(); + form.AddForm("WirelessUdp"); + }; + + //涓嬩竴姝� + var btnNext = new BottomClickButton(); + btnNext.TextID = R.MyInternationalizationString.uNextway; + bodyFrameLayout.AddChidren(btnNext); + btnNext.ButtonClickEvent += (sender, e) => + { + var form = new WirelessApSearchForm(); + this.AddFromAndRemoveNowForm(form); + }; + + //鍥剧墖 + var framePic = new FrameLayout(); + framePic.Width = Application.GetMinRealAverage(861); + framePic.Height = Application.GetMinRealAverage(245); + framePic.Gravity = Gravity.CenterHorizontal; + framePic.Y = Application.GetRealHeight(363); + framePic.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png"; + bodyFrameLayout.AddChidren(framePic); + + //璇峰墠寰�绉诲姩璁惧WLAN璁剧疆 + //閲嶆柊杩炴帴瀹跺涵wiFi + string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg3).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); + int yy = framePic.Bottom + Application.GetRealHeight(369); + foreach (var msg in ArryMsg) + { + var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); + btnMsg.Text = msg; + btnMsg.Y = yy; + btnMsg.TextAlignment = TextAlignment.Center; + btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; + bodyFrameLayout.AddChidren(btnMsg); + yy = btnMsg.Bottom; + } + + //鍘昏缃� + var btnSettion = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(50), false); + btnSettion.Y = yy + Application.GetRealHeight(12); + btnSettion.TextSize = 12; + btnSettion.TextAlignment = TextAlignment.Center; + btnSettion.TextColor = 0xff0075ff; + btnSettion.Text = Language.StringByID(R.MyInternationalizationString.uGotoSettion); + btnSettion.ButtonClickEvent += (sender, e) => + { + }; + bodyFrameLayout.AddChidren(btnSettion); + //搴曠嚎 + int lineWidth = btnSettion.GetRealWidthByText(12); + var btnLine1 = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); + btnLine1.BackgroundColor = 0xff0075ff; + btnLine1.Gravity = Gravity.CenterHorizontal; + btnLine1.Y = btnSettion.Bottom - Application.GetRealHeight(8); + bodyFrameLayout.AddChidren(btnLine1); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs new file mode 100755 index 0000000..6b40959 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSearchForm.cs @@ -0,0 +1,419 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter.GatewayAdd +{ + /// <summary> + /// 鏃犵嚎缃戝叧AP妯″紡鐨勬悳绱㈢晫闈� + /// </summary> + public class WirelessApSearchForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鎼滅储鍒扮殑缃戝叧鍒楄〃 + /// </summary> + private List<ZbGateway> listZbGateway = new List<ZbGateway>(); + /// <summary> + /// 鎼滅储鍒扮殑缃戝叧绫诲埆 0:绗竴娆$粦瀹� 1:宸茬粡缁戝畾 2:闇�瑕佹崲缁� + /// </summary> + private Dictionary<string, int> dicZbGatewayDiv = new Dictionary<string, int>(); + /// <summary> + /// 鑾峰彇寰楀埌浜嗘柊缃戝叧 + /// </summary> + private bool newGatewayGetting = false; + /// <summary> + /// 缃戝叧妫�娴嬩腑 + /// </summary> + private string isGatewayChecking = "0"; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆鏍囬淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); + + //鍒濆鍖栦腑閮ㄦ帶浠� + this.InitDefultMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄦ帶浠� + /// </summary> + private void InitDefultMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //绯荤粺鐏瘡绉掗棯鐑佷竴娆� + //鍒欒繛鎺ユ垚鍔� + string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg4).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); + int yy = Application.GetRealHeight(1066); + foreach (var msg in ArryMsg) + { + var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); + btnMsg.Text = msg; + btnMsg.Y = yy; + btnMsg.TextAlignment = TextAlignment.Center; + btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1; + bodyFrameLayout.AddChidren(btnMsg); + yy = btnMsg.Bottom; + } + + //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉 + this.InitConcetionAnimete(); + } + + /// <summary> + /// 鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢 + /// </summary> + private void InitFailMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //鍥炬爣 + var picGwImage = new FrameLayout(); + picGwImage.Width = Application.GetMinRealAverage(861); + picGwImage.Height = Application.GetMinRealAverage(245); + picGwImage.Y = Application.GetRealWidth(223); + picGwImage.Gravity = Gravity.CenterHorizontal; + picGwImage.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png"; + bodyFrameLayout.AddChidren(picGwImage); + var btnFailIcon = new PicViewControl(66, 66); + btnFailIcon.UnSelectedImagePath = "Item/FailIcon.png"; + btnFailIcon.Gravity = Gravity.CenterHorizontal; + btnFailIcon.Y = Application.GetMinRealAverage(110); + picGwImage.AddChidren(btnFailIcon); + //鎼滅储澶辫触 + var btnFailView = new NormalViewControl(300, 60, true); + btnFailView.TextAlignment = TextAlignment.Center; + btnFailView.Y = picGwImage.Bottom - Application.GetRealHeight(15); + btnFailView.Gravity = Gravity.CenterHorizontal; + btnFailView.TextColor = UserCenterColor.Current.TextGrayColor3; + btnFailView.TextID = R.MyInternationalizationString.uSearchFail; + bodyFrameLayout.AddChidren(btnFailView); + + //瑙e喅鏂规硶锛屽彲閫夋嫨鎵ц浠ヤ笅浠绘剰涓�绉嶆柟寮忥細 + var btnMsg1 = new NormalViewControl(930, 60, true); + btnMsg1.X = Application.GetRealWidth(75); + btnMsg1.Y = picGwImage.Bottom + Application.GetRealHeight(112); + btnMsg1.TextID = R.MyInternationalizationString.uSearchGatewayFailMsg1; + bodyFrameLayout.AddChidren(btnMsg1); + //1.闀挎寜ZB/RST閿�20绉掞紝缃戝叧鎭㈠鍑哄巶璁剧疆锛屾寚绀虹伅鍏ㄩ儴鐔勭伃鍚庯紝閲嶆柊鍏ョ綉銆� + var btnMsg2 = new NormalViewControl(930, 100, true); + btnMsg2.X = Application.GetRealWidth(75); + btnMsg2.Y = btnMsg1.Bottom + Application.GetRealHeight(35); + btnMsg2.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg2).Replace("{0}", "\r\n"); + btnMsg2.TextSize = 12; + btnMsg2.TextColor = UserCenterColor.Current.TextGrayColor1; + btnMsg2.IsMoreLines = true; + bodyFrameLayout.AddChidren(btnMsg2); + //2.鐐规寜HID/WCFG閿紝杩涘叆缃戝叧鎹㈢粦妯″紡锛岀郴缁熸寚绀虹伅蹇棯5绉掋�� + var btnMsg3 = new NormalViewControl(930, 100, true); + btnMsg3.X = Application.GetRealWidth(75); + btnMsg3.Y = btnMsg2.Bottom + Application.GetRealHeight(12); + btnMsg3.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg3).Replace("{0}", "\r\n"); + btnMsg3.TextSize = 12; + btnMsg3.TextColor = UserCenterColor.Current.TextGrayColor1; + btnMsg3.IsMoreLines = true; + bodyFrameLayout.AddChidren(btnMsg3); + //3.璇烽噸璇曪紝閲嶆柊娣诲姞缃戝叧銆� + var btnMsg4 = new NormalViewControl(930, 50, true); + btnMsg4.X = Application.GetRealWidth(75); + btnMsg4.Y = btnMsg3.Bottom + Application.GetRealHeight(12); + btnMsg4.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg4); + btnMsg4.TextSize = 12; + btnMsg4.TextColor = UserCenterColor.Current.TextGrayColor1; + bodyFrameLayout.AddChidren(btnMsg4); + //4.杩斿洖缃戝叧绠$悊銆� + var btnMsg5 = new NormalViewControl(930, 50, true); + btnMsg5.X = Application.GetRealWidth(75); + btnMsg5.Y = btnMsg4.Bottom + Application.GetRealHeight(12); + btnMsg5.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg5); + btnMsg5.TextSize = 12; + btnMsg5.TextColor = UserCenterColor.Current.TextGrayColor1; + bodyFrameLayout.AddChidren(btnMsg5); + + //閲嶈瘯 + var frameback = new FrameLayoutControl(); + frameback.UseClickStatu = false; + frameback.Y = Application.GetRealHeight(1259); + frameback.Gravity = Gravity.CenterHorizontal; + frameback.Width = Application.GetRealWidth(746); + frameback.Height = Application.GetRealHeight(184); + frameback.BackgroundImagePath = "Item/BottomButtonGround.png"; + bodyFrameLayout.AddChidren(frameback); + var btnReDo = new NormalViewControl(300, 65, true); + btnReDo.TextColor = UserCenterColor.Current.White; + btnReDo.TextSize = 16; + btnReDo.Y = Application.GetRealHeight(49); + btnReDo.Gravity = Gravity.CenterHorizontal; + btnReDo.TextAlignment = TextAlignment.Center; + btnReDo.TextID = R.MyInternationalizationString.uReDoAgain; + frameback.AddChidren(btnReDo, ChidrenBindMode.BindEventOnly); + frameback.ButtonClickEvent += (sender, e) => + { + //鍒濆鍖栧垵濮嬩腑閮ㄦ帶浠� + this.InitDefultMiddleFrame(); + }; + + //杩斿洖缃戝叧绠$悊 + var btnGoBack = new BottomClickButton(688); + btnGoBack.Y = Application.GetRealHeight(1495); + btnGoBack.TextID = R.MyInternationalizationString.uGobackGatewayManage; + if (UserCenterResourse.DicActionForm.ContainsKey("GatewayListForm") == false) + { + //杩斿洖涓婚〉 + btnGoBack.TextID = R.MyInternationalizationString.uGobackToHomePage; + } + bodyFrameLayout.AddChidren(btnGoBack); + btnGoBack.ButtonClickEvent += (sender, e) => + { + this.CloseForm(); + //鍏抽棴鎸囧畾鐣岄潰 + this.CloseFormByFormName("NewGateWayMenuSelectForm"); + }; + } + + #endregion + + #region 鈻� 鍋囨兂鍔ㄧ敾___________________________ + + /// <summary> + /// 鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉 + /// </summary> + private void InitConcetionAnimete() + { + //鍥炬爣 + var btnGwImage = new FrameLayout(); + btnGwImage.Width = Application.GetMinRealAverage(861); + btnGwImage.Height = Application.GetMinRealAverage(245); + btnGwImage.Y = Application.GetRealHeight(360); + btnGwImage.Gravity = Gravity.CenterHorizontal; + btnGwImage.BackgroundImagePath = "Gateway/WirelessApGatewaySearching.png"; + bodyFrameLayout.AddChidren(btnGwImage); + + //姝e湪鎼滅储缃戝叧鈥� + var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); + btnMsg.TextID = R.MyInternationalizationString.uGatewaySearching; + btnMsg.Y = Application.GetRealHeight(821); + btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; + btnMsg.TextAlignment = TextAlignment.Center; + bodyFrameLayout.AddChidren(btnMsg); + + //棣栨牸鐨刋杞� + int firstPoint = Application.GetMinRealAverage(275); + //涓�鏍肩殑瀹藉害 + int width = Application.GetMinRealAverage(22); + //闂磋窛澶у皬 + int space = Application.GetMinRealAverage(12); + + //鐢熸垚鏍煎瓙鍧愭爣 + var listPoint = new List<int>(); + for (int i = 0; i < 9; i++) + { + listPoint.Add(firstPoint + (width + space) * i); + } + + //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼ + var btnRound = new PicViewControl(width, width, false); + btnRound.Radius = (uint)width / 2; + btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor; + btnRound.Y = Application.GetMinRealAverage(135); + btnRound.X = listPoint[0]; + btnGwImage.AddChidren(btnRound); + + string strMsg = btnMsg.Text; + HdlThreadLogic.Current.RunThread(() => + { + //娓呯┖鍏ㄩ儴鍒楄〃 + HdlGatewayLogic.Current.ClearAllRealGateway(); + ZigBee.Common.Application.IsSearchingGateway = true; + + int index = 1; + //璁℃椂鏃堕棿 + int timeCount = 0; + //瓒呮椂鏃堕棿 + int timeOut = 120; + while (btnGwImage.Parent != null) + { + timeCount++; + if (timeCount == 10) + { + //5绉掑悗娓呯┖缃戝叧鍒楄〃 + HdlGatewayLogic.Current.ClearAllRealGateway(); + ZigBee.Common.Application.IsSearchingGateway = true; + } + if (timeCount % 4 == 0 && timeCount >= 10) + { + lock (isGatewayChecking) + { + if (isGatewayChecking != "1") + { + isGatewayChecking = "1"; + HdlThreadLogic.Current.RunThread(async () => + { + //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏� + await this.CheckZbGatewayAndSetRow(); + lock (isGatewayChecking) + { + isGatewayChecking = "0"; + } + }); + } + } + } + if (timeCount % 2 == 0) + { + timeOut--; + } + if (this.newGatewayGetting == true || timeOut <= 0) + { + //鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋� + break; + } + + Application.RunOnMainThread(() => + { + btnRound.X = listPoint[index]; + index++; + if (index == listPoint.Count) + { + index = 0; + } + //姝e湪鎼滅储缃戝叧鈥Xs + btnMsg.Text = strMsg + timeOut + "s"; + }); + + System.Threading.Thread.Sleep(500); + } + if (timeOut <= 0) + { + HdlThreadLogic.Current.RunMain(() => + { + //鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢 + this.InitFailMiddleFrame(); + }); + } + else if (newGatewayGetting == true) + { + HdlThreadLogic.Current.RunMain(() => + { + if (this.Parent != null) + { + var form = new GatewayManage.GatewaySearchListForm(); + this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv); + } + }); + } + }); + } + + #endregion + + #region 鈻� 缃戝叧妫�娴媉__________________________ + + /// <summary> + /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏� + /// </summary> + private async Task<bool> CheckZbGatewayAndSetRow() + { + var listCheck = new HashSet<string>(); + for (int i = 0; i < ZbGateway.GateWayList.Count; i++) + { + var way = ZbGateway.GateWayList[i]; + var wayId = HdlGatewayLogic.Current.GetGatewayId(way); + if (dicZbGatewayDiv.ContainsKey(wayId) == true) + { + //宸茬粡澶勭悊浜� + continue; + } + + //缃戝叧缁戝畾妯″紡 + GatewayBindMode mode = GatewayBindMode.BindAgain; + //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨� + if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true + || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId) + { + if (way.getGatewayBaseInfo.HomeId != Common.Config.Instance.HomeId) + { + //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖ + mode = GatewayBindMode.First; + } + else + { + //宸茬粡缁戝畾杩囦簡 + mode = GatewayBindMode.Binded; + } + //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔) + var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO); + if (result == false) + { + continue; + } + } + //鏀堕泦缃戝叧瀵硅薄 + this.listZbGateway.Add(way); + + //鍏ㄩ儴澶勭悊OK鍚庯紝鎵嶈兘璁剧疆flage + if (mode == GatewayBindMode.First) + { + //绗竴娆$粦瀹� + this.dicZbGatewayDiv[wayId] = 0; + //鑾峰彇鍒颁簡鏂扮綉鍏� + this.newGatewayGetting = true; + } + else if (mode == GatewayBindMode.Binded) + { + //宸茬粡缁戝畾杩� + this.dicZbGatewayDiv[wayId] = 1; + } + else + { + //闇�瑕侀噸鏂扮粦瀹� + this.dicZbGatewayDiv[wayId] = 2; + } + + if (mode == GatewayBindMode.First) + { + //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛� + Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way); + } + } + return true; + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseForm() + { + ZigBee.Common.Application.IsSearchingGateway = false; + //鍋滄Wi-Fi閰嶇綉 + HdlWifiLogic.Current.StopSmartConnection(); + + if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == false) + { + //鍒锋柊涓婚〉 + UserView.UserPage.Instance.Fresh(); + } + base.CloseForm(); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs new file mode 100755 index 0000000..1c4d446 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessApSelectNetworkForm.cs @@ -0,0 +1,115 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.GatewayAdd +{ + public class WirelessApSelectNetworkForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + bodyFrameLayout.RemoveAll(); + + var frameBack = new FrameLayout(); + frameBack.Height = Application.GetRealHeight(409); + frameBack.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(frameBack); + + //璇烽�夋嫨缃戠粶 + var btnTitle = new NormalViewControl(600, 64, true); + btnTitle.X = ControlCommonResourse.XXLeft; + btnTitle.Y = Application.GetRealHeight(30); + btnTitle.TextSize = 15; + btnTitle.TextID = R.MyInternationalizationString.uPleaseSelectNetwork; + frameBack.AddChidren(btnTitle); + + //WIFI + var rowWifi = new FrameCaptionInputControl("WiFi", string.Empty); + rowWifi.Y = Application.GetRealHeight(124); + frameBack.AddChidren(rowWifi); + rowWifi.InitControl(); + rowWifi.AddBottomLine(); + rowWifi.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputHomeWifiAccount); + + //瀵嗙爜 + var btnPsw = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uPassword), string.Empty); + btnPsw.Y = rowWifi.Bottom + Application.GetRealHeight(9); + frameBack.AddChidren(btnPsw); + btnPsw.InitControl(); + btnPsw.txtInput.SecureTextEntry = true; + btnPsw.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword); + var btnView = btnPsw.AddMostRightEmptyIcon(81, 81); + btnView.UnSelectedImagePath = "Item/HidenPWD.png"; + btnView.SelectedImagePath = "Item/UnHidenPWD.png"; + btnPsw.ChangedChidrenBindMode(btnView, ChidrenBindMode.NotBind); + btnView.ButtonClickEvent += (sender, e) => + { + btnView.IsSelected = !btnView.IsSelected; + btnPsw.txtInput.SecureTextEntry = !btnPsw.txtInput.SecureTextEntry; + }; + + var btnMsg = new NormalViewControl(btnPsw.txtInput.Width, false); + btnMsg.X = ControlCommonResourse.XXLeft; + btnMsg.Y = frameBack.Bottom + Application.GetRealHeight(23); + btnMsg.TextSize = 12; + btnMsg.Height = Application.GetRealHeight(40); + btnMsg.TextColor = UserCenterColor.Current.Red; + bodyFrameLayout.AddChidren(btnMsg); + + //鏌ョ湅甯姪 + var btnHelp = this.AddHelpControl(); + btnHelp.ButtonClickEvent += (sender, e) => + { + var form = new DeviceDirection.DeviceDirectionHelpForm(); + form.AddForm("WirelessUdp"); + }; + + //涓嬩竴姝� + var btnNext = new BottomClickButton(); + btnNext.TextID = R.MyInternationalizationString.uNextway; + bodyFrameLayout.AddChidren(btnNext); + + btnNext.MouseUpEventHandler += (sender, e) => + { + btnMsg.Text = string.Empty; + if (rowWifi.Text == string.Empty) + { + //璇疯緭鍏ュ搴璚IFI璐﹀彿 + btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputHomeWifiAccount); + return; + } + if (btnPsw.Text == string.Empty) + { + //璇疯緭鍏ifi瀵嗙爜 + btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword); + return; + } + var form = new WirelessApDirection3Form(); + this.AddFromAndRemoveNowForm(form); + }; + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGatewaySearchForm.cs deleted file mode 100755 index 943dab1..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGatewaySearchForm.cs +++ /dev/null @@ -1,345 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using ZigBee.Device; - -namespace Shared.Phone.UserCenter.GatewayAdd -{ - /// <summary> - /// 鎼滅储鏃犵嚎缃戝叧鐨勭晫闈� - /// </summary> - public class WirelessGatewaySearchForm : EditorCommonForm - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 鍔ㄧ敾绾跨▼ - /// </summary> - private bool animateThread = false; - /// <summary> - /// 瓒呮椂鏃堕棿(500姣姣忓崟浣�) - /// </summary> - private int timeOut = 360; - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - public void ShowForm() - { - //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); - - //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(); - } - - /// <summary> - /// 鍒濆鍖栦腑閮ㄦ帶浠� - /// </summary> - private void InitMiddleFrame() - { - //鍥炬爣 - var btnGwImage = new PicViewControl(248, 230, true); - btnGwImage.X = Application.GetRealWidth(107); - btnGwImage.Y = Application.GetRealHeight(507); - btnGwImage.UnSelectedImagePath = "Gateway/WirelessGatewayImage.png"; - bodyFrameLayout.AddChidren(btnGwImage); - - //鍥炬爣 - var btnPhoneImage = new PicViewControl(236, 478, true); - btnPhoneImage.X = Application.GetRealWidth(737); - btnPhoneImage.Y = Application.GetRealHeight(438); - btnPhoneImage.UnSelectedImagePath = "Gateway/PhoneImage.png"; - bodyFrameLayout.AddChidren(btnPhoneImage); - - //鏅鸿兘缃戝叧姝e湪閰嶇疆缃戠粶涓� - var btnMsg1 = new NormalViewControl(bodyFrameLayout.Width, false); - btnMsg1.TextID = R.MyInternationalizationString.uGatewaySearching; - btnMsg1.Y = Application.GetRealHeight(1036); - btnMsg1.TextAlignment = TextAlignment.Center; - bodyFrameLayout.AddChidren(btnMsg1); - //璇风◢鍊欌�� - var btnMsg2 = new NormalViewControl(bodyFrameLayout.Width, false); - btnMsg2.TextID = R.MyInternationalizationString.uPleaseWait; - btnMsg2.TextAlignment = TextAlignment.Center; - btnMsg2.Y = btnMsg1.Bottom; - bodyFrameLayout.AddChidren(btnMsg2); - - //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉 - this.InitConcetionAnimete(); - } - - #endregion - - #region 鈻� 鍋囨兂鍔ㄧ敾___________________________ - - /// <summary> - /// 鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉 - /// </summary> - private void InitConcetionAnimete() - { - var frame = new FrameLayout(); - frame.Width = Application.GetRealWidth(294); - frame.Height = Application.GetRealHeight(30); - frame.X = Application.GetRealWidth(403); - frame.Y = Application.GetRealHeight(650 + 30 / 2); - bodyFrameLayout.AddChidren(frame); - - //涓�鏍肩殑瀹藉害 - int width = Application.GetRealWidth(22); - //闂磋窛澶у皬 - int space = Application.GetRealWidth(9); - - //棣栨牸鍙槸鍗婃牸 - var btnFirstPoint = new NormalViewControl(width / 2, 3, false); - btnFirstPoint.Gravity = Gravity.CenterVertical; - btnFirstPoint.BackgroundColor = UserCenterColor.Current.ButtomLine; - frame.AddChidren(btnFirstPoint); - - NormalViewControl btnTemp = btnFirstPoint; - //鐢熸垚鏍煎瓙 - var listPoint = new List<int>(); - for (int i = 0; i < 8; i++) - { - var btnPoint = new NormalViewControl(width, 3, false); - btnPoint.BackgroundColor = UserCenterColor.Current.ButtomLine; - btnPoint.Gravity = Gravity.CenterVertical; - btnPoint.X = btnTemp.Right + space; - frame.AddChidren(btnPoint); - - listPoint.Add(btnPoint.X); - btnTemp = btnPoint; - } - - //灏炬牸鍙槸鍗婃牸 - var btnLastPoint = new NormalViewControl(width / 2, 3, false); - btnLastPoint.Gravity = Gravity.CenterVertical; - btnLastPoint.X = btnTemp.Right + space; - btnLastPoint.BackgroundColor = UserCenterColor.Current.ButtomLine; - frame.AddChidren(btnLastPoint); - - btnTemp = null; - - //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼ - this.StartConcetionAnimeteThread(frame, listPoint, width); - } - - /// <summary> - /// 寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼ - /// </summary> - /// <param name="frame"></param> - /// <param name="listPoint"></param> - /// <param name="roundWidth"></param> - private void StartConcetionAnimeteThread(FrameLayout frame, List<int> listPoint, int roundWidth) - { - var btnRound = new PicViewControl(roundWidth, roundWidth, false); - btnRound.Radius = (uint)roundWidth / 2; - btnRound.Gravity = Gravity.CenterVertical; - btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor; - btnRound.X = listPoint[0]; - frame.AddChidren(btnRound); - - animateThread = true; - HdlThreadLogic.Current.RunThread(() => - { - int index = 1; - int timeCount = 0; - while (animateThread == true && this.Parent != null) - { - System.Threading.Thread.Sleep(500); - timeOut--; - if (timeCount == 10) - { - //5绉掑悗娓呯┖缃戝叧鍒楄〃 - HdlGatewayLogic.Current.ClearAllRealGateway(); - ZigBee.Common.Application.IsSearchingGateway = true; - //妫�娴嬫悳绱㈠埌鐨勭綉鍏� - this.CheckZbGatewayAndSetRow(); - } - timeCount++; - - Application.RunOnMainThread(() => - { - if (btnRound != null) - { - btnRound.X = listPoint[index]; - index++; - if (index == listPoint.Count) - { - index = 0; - } - } - }); - } - }); - } - - #endregion - - #region 鈻� 缃戝叧妫�娴媉__________________________ - - /// <summary> - /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏� - /// </summary> - private void CheckZbGatewayAndSetRow() - { - HdlThreadLogic.Current.RunThread(async () => - { - while (animateThread == true && this.Parent != null) - { - await Task.Delay(1000); - if (timeOut < 0) - { - this.animateThread = false; - //鍏堥殢渚夸贡鍐欑偣涓滆タ濂戒簡 - string msg = "娌℃湁鍙戠幇缃戝叧,寤鸿浣跨敤XXX閾炬帴鏂瑰紡"; - this.ShowMassage(ShowMsgType.Tip, msg); - break; - } - - var listCheck = new HashSet<string>(); - for (int i = 0; i < ZbGateway.GateWayList.Count; i++) - { - var realWay = ZbGateway.GateWayList[i]; - string gwId = HdlGatewayLogic.Current.GetGatewayId(realWay); - - if (listCheck.Contains(gwId) == true - || HdlGatewayLogic.Current.IsGatewayExist(realWay) == true - || HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(realWay, "IpAddress").ToString() == string.Empty) - { - //濡傛灉澶勭悊鎴愬姛浜嗭紝鍒欎笉鍐嶅鐞� - //鏈湴濡傛灉宸茬粡鏈夎繖涓綉鍏充簡锛屽垯涓嶅啀澶勭悊 - //IP娌℃湁鐨勭綉鍏筹紝鎴戜篃涓嶇煡閬撳畠鏄共鍢涚殑 - continue; - } - //缃戝叧缁戝畾妯″紡 - var mode = GatewayBindMode.BindAgain; - if (realWay.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId) - { - //宸茬粡缁戝畾杩囦簡 - mode = GatewayBindMode.Binded; - } - else if (HdlGatewayLogic.Current.HomeIdIsEmpty(realWay) == true) - { - //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖ - mode = GatewayBindMode.First; - } - if (mode != GatewayBindMode.Binded) - { - //鍙戠幇鏂扮綉鍏�,姝e湪澶勭悊涓�,璇风◢鍚� - string msg = Language.StringByID(R.MyInternationalizationString.uFindNewGatewayPleaseWaitToBinding); - this.ShowProgressBar(msg); - } - //鎵ц缁戝畾缃戝叧鎿嶄綔(鏃犳潯浠剁洿鎺ョ粦瀹氾紝鍝�曟槸浣忓畢ID涓嶄竴鏍�) - var result = await this.DoSaveGateway(realWay, ShowErrorMode.YES, mode); - if (mode != GatewayBindMode.Binded) - { - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - } - //铏界劧鍑洪敊浜嗭紝浣嗘槸鍙互鏃犻檺澶勭悊 - if (result == -1) { continue; } - //璁板綍澶勭悊鎴愬姛鐨勭綉鍏� - listCheck.Add(gwId); - - //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯(IP鍦板潃) - if (result == 0) { continue; } - //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛� - Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(realWay); - - Application.RunOnMainThread(() => - { - if (this.Parent != null) - { - //鎼滅储寰楀埌鏃犵嚎缃戝叧 - if (mode != GatewayBindMode.Binded) - { - //var form = new GatewayInfoAddForm(); - //this.AddFromAndRemoveNowForm(form, realWay); - } - } - }); - //鎼滅储寰楀埌鏃犵嚎缃戝叧,鍒欎腑鏂嚎绋� - if (mode != GatewayBindMode.Binded) - { - this.animateThread = false; - return; - } - } - } - }); - } - - #endregion - - #region 鈻� 鎵ц缃戝叧淇濆瓨_______________________ - - /// <summary> - /// 鎵ц缃戝叧淇濆瓨(1:姝e父 -1:寮傚父 0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈�) - /// </summary> - /// <param name="zbGateway">缃戝叧瀵硅薄</param> - /// <param name="mode">鏄惁鏄剧ず閿欒</param> - /// <param name="bindMode">缁戝畾鏂瑰紡</param> - /// <returns></returns> - private async Task<int> DoSaveGateway(ZbGateway zbGateway, ShowErrorMode mode, GatewayBindMode bindMode) - { - //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛� - //1:姝e父 -1:寮傚父 0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈� - int result = 0; - if (bindMode == GatewayBindMode.BindAgain) - { - result = await HdlGatewayLogic.Current.ReBindNewGateway(zbGateway); - } - else - { - result = await HdlGatewayLogic.Current.AddNewGateway(zbGateway, mode); - } - if (result == -1) - { - return result; - } - - //鍓嶇殑缃戝叧缁戝畾鍦ㄤ簡褰撳墠璐﹀彿涓嬬殑涓嶅悓浣忓畢閲岄潰 - if (result == 0) - { - //缃戝叧缁戝畾鍦ㄥ綋鍓嶈处鍙蜂笅鐨勫叾浠栦綇瀹呴噷\r\n璇疯В闄ょ粦瀹氬悗鍐嶈瘯(IP鍦板潃) - string msg = Language.StringByID(R.MyInternationalizationString.uTheGatewayInOtherResidenceMsg); - if (msg.Contains("{0}") == true) - { - msg = string.Format(msg, "\r\n") + "(" + HdlGatewayLogic.Current.GetGatewayBaseInfoAttribute(zbGateway, "IpAddress").ToString() + ")"; - } - this.ShowMassage(ShowMsgType.Tip, msg); - } - return result; - } - - #endregion - - #region 鈻� 鐣岄潰鍏抽棴___________________________ - - /// <summary> - /// 鐣岄潰鍏抽棴 - /// </summary> - public override void CloseForm() - { - this.animateThread = false; - ZigBee.Common.Application.IsSearchingGateway = false; - //鍋滄Wi-Fi閰嶇綉 - //Com.Mediatek.Elian.ElianNative.StopSmartConnection(); - - if (UserCenterResourse.listActionFormId.Contains("GatewayManagementForm") == false) - { - //鍒锋柊涓婚〉 - UserView.UserPage.Instance.Fresh(); - } - base.CloseForm(); - } - - #endregion - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwAddDirectionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwAddDirectionForm.cs deleted file mode 100755 index cbe8758..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwAddDirectionForm.cs +++ /dev/null @@ -1,67 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter.GatewayAdd -{ - /// <summary> - /// 娣诲姞鏃犵嚎缃戝叧鐨勬寚绀哄浘鐢婚潰 - /// </summary> - public class WirelessGwAddDirectionForm : EditorCommonForm - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - public void ShowForm() - { - //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); - - //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(); - } - - /// <summary> - /// 鍒濆鍖栦腑閮ㄦ帶浠� - /// </summary> - private void InitMiddleFrame() - { - //鍥炬爣 - var btnimage = new PicViewControl(766, 691, true); - btnimage.Y = Application.GetRealHeight(265); - btnimage.Gravity = Gravity.CenterHorizontal; - btnimage.UnSelectedImagePath = "Gateway/WirelessGatewayInstruct.png"; - bodyFrameLayout.AddChidren(btnimage); - - //璇风‘淇濇墜鏈哄凡缁忛摼鎺IFI - var btnMsg1 = new NormalViewControl(bodyFrameLayout.Width, false); - btnMsg1.TextID = R.MyInternationalizationString.uWirelessGatewayDirection1; - btnMsg1.Y = btnimage.Bottom + Application.GetRealHeight(100); - btnMsg1.TextAlignment = TextAlignment.Center; - bodyFrameLayout.AddChidren(btnMsg1); - - //鍘昏缃� - var btnNext = new BottomClickButton(); - btnNext.TextID = R.MyInternationalizationString.uGotoSettion; - bodyFrameLayout.AddChidren(btnNext); - - btnNext.MouseUpEventHandler += (sender, e) => - { - var form = new WirelessGwSelectNetworkForm(); - base.AddFromAndRemoveNowForm(form); - }; - } - - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - #endregion - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwClickButtonForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwClickButtonForm.cs deleted file mode 100755 index d22fca6..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwClickButtonForm.cs +++ /dev/null @@ -1,94 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter.GatewayAdd -{ - /// <summary> - /// 鏃犵嚎缃戝叧鎸変笅鎸夐挳鐣岄潰 - /// </summary> - public class WirelessGwClickButtonForm : EditorCommonForm - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 鍋滄杩炴帴 - /// </summary> - private bool stopConnection = true; - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - public void ShowForm() - { - //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); - - //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(); - } - - /// <summary> - /// 鍒濆鍖栦腑閮ㄦ帶浠� - /// </summary> - private void InitMiddleFrame() - { - //鍥炬爣 - var btnimage = new PicViewControl(403, 371, true); - btnimage.Y = Application.GetRealHeight(386); - btnimage.Gravity = Gravity.CenterHorizontal; - btnimage.UnSelectedImagePath = "Gateway/WirelessGatewayImage.png"; - bodyFrameLayout.AddChidren(btnimage); - - //璇风偣鎸夋棤绾跨綉鍏充笂鐨刋X閿� - var btnMsg1 = new NormalViewControl(bodyFrameLayout.Width, false); - btnMsg1.TextID = R.MyInternationalizationString.uWirelessGatewayButtonClick1; - btnMsg1.Y = btnimage.Bottom + Application.GetRealHeight(213); - btnMsg1.TextAlignment = TextAlignment.Center; - bodyFrameLayout.AddChidren(btnMsg1); - //浣跨綉鍏宠繘鍏ラ厤缃戠姸鎬� - var btnMsg2 = new NormalViewControl(bodyFrameLayout.Width, false); - btnMsg2.TextID = R.MyInternationalizationString.uWirelessGatewayButtonClick2; - btnMsg2.TextAlignment = TextAlignment.Center; - btnMsg2.Y = btnMsg1.Bottom; - bodyFrameLayout.AddChidren(btnMsg2); - - //涓嬩竴姝� - var btnNext = new BottomClickButton(); - btnNext.TextID = R.MyInternationalizationString.uNextway; - bodyFrameLayout.AddChidren(btnNext); - - btnNext.MouseUpEventHandler += (sender, e) => - { - //涓嶄腑鏂繛鎺� - this.stopConnection = false; - - var form = new WirelessGatewaySearchForm(); - this.AddFromAndRemoveNowForm(form); - }; - } - - #endregion - - #region 鈻� 鐣岄潰鍏抽棴___________________________ - - /// <summary> - /// 鐣岄潰鍏抽棴 - /// </summary> - public override void CloseForm() - { - if (stopConnection == true) - { - //鍋滄Wi-Fi閰嶇綉 - //Com.Mediatek.Elian.ElianNative.StopSmartConnection(); - } - base.CloseForm(); - } - - #endregion - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwSelectNetworkForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwSelectNetworkForm.cs deleted file mode 100755 index 6c358e2..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessGwSelectNetworkForm.cs +++ /dev/null @@ -1,104 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter.GatewayAdd -{ - /// <summary> - /// 娣诲姞鏃犵嚎缃戝叧閫夋嫨缃戠粶鐨勭晫闈� - /// </summary> - public class WirelessGwSelectNetworkForm : EditorCommonForm - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - public void ShowForm() - { - //璁剧疆澶撮儴淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); - - //鍒濆鍖栦腑閮ㄤ俊鎭� - this.InitMiddleFrame(); - } - - /// <summary> - /// 鍒濆鍖栦腑閮ㄤ俊鎭� - /// </summary> - private void InitMiddleFrame() - { - bodyFrameLayout.RemoveAll(); - - //璇烽�夋嫨缃戠粶 - var btnTitle = new DetailTitleControl(800, 141, true); - btnTitle.TextID = R.MyInternationalizationString.uPleaseSelectNetwork; - bodyFrameLayout.AddChidren(btnTitle); - - var frame = new FrameLayout(); - frame.Y = btnTitle.Bottom; - frame.Height = ControlCommonResourse.ListViewRowHeight * 2; - frame.Width = bodyFrameLayout.Width; - frame.BackgroundColor = UserCenterColor.Current.White; - bodyFrameLayout.AddChidren(frame); - - //鍚嶇О - string ssiD = Shared.WiimuUPnP.SSID; - if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\"")) - { - ssiD = ssiD.Substring(1, ssiD.Length - 2); - } - var btnName = new FrameCaptionViewControl("", ssiD); - frame.AddChidren(btnName); - btnName.InitControl(); - btnName.AddBottomLine(); - - //瀵嗙爜 - var btnPsw = new FrameCaptionInputControl("", string.Empty); - btnPsw.Y = btnName.Bottom; - frame.AddChidren(btnPsw); - btnPsw.InitControl(); - btnPsw.Height = btnPsw.Height; - btnPsw.txtInput.SecureTextEntry = true; - btnPsw.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword); - - var btnMsg = new NormalViewControl(btnPsw.txtInput.Width, false); - btnMsg.X = btnPsw.txtInput.X; - btnMsg.Y = btnPsw.txtInput.Bottom - Application.GetRealHeight(10); - btnMsg.TextSize = 12; - btnMsg.Height = Application.GetRealHeight(40); - btnMsg.TextColor = UserCenterColor.Current.Red; - btnPsw.AddChidren(btnMsg); - - //涓嬩竴姝� - var btnNext = new BottomClickButton(); - btnNext.TextID = R.MyInternationalizationString.uNextway; - bodyFrameLayout.AddChidren(btnNext); - - btnNext.MouseUpEventHandler += (sender, e) => - { - btnMsg.Text = string.Empty; - if (btnPsw.Text == string.Empty) - { - //璇疯緭鍏ョ綉缁滃瘑鐮� - btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword); - return; - } - - ////鍒濆鍖朩i-Fi杩炴帴 - //Com.Mediatek.Elian.ElianNative.InitSmartConnection(1, 1); - ////寮�濮媁i-Fi杩炴帴 - //var result = Com.Mediatek.Elian.ElianNative.StartSmartConnection(btnName.Text, btnPsw.Text, "1"); - - var form = new WirelessGwClickButtonForm(); - this.AddFromAndRemoveNowForm(form); - }; - } - - #endregion - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs index 6b8ee67..ae7d7b3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpDirectionForm.cs @@ -81,7 +81,6 @@ var form = new DeviceDirection.DeviceDirectionHelpForm(); form.AddForm("WirelessUdp"); }; - bodyFrameLayout.AddChidren(btnHelp); //涓嬩竴姝� var btnNext = new BottomClickButton(); @@ -89,8 +88,8 @@ bodyFrameLayout.AddChidren(btnNext); btnNext.ButtonClickEvent += (sender, e) => { - var form = new Device.DeviceSearchForm(); - form.AddForm(this.FormID); + var form = new WirelessUdpSelectNetworkForm(); + this.AddFromAndRemoveNowForm(form); }; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs new file mode 100755 index 0000000..945ae81 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs @@ -0,0 +1,421 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter.GatewayAdd +{ + /// <summary> + /// 鏃犵嚎缃戝叧UDP妯″紡鐨勬悳绱㈢晫闈� + /// </summary> + public class WirelessUdpSearchForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鎼滅储鍒扮殑缃戝叧鍒楄〃 + /// </summary> + private List<ZbGateway> listZbGateway = new List<ZbGateway>(); + /// <summary> + /// 鎼滅储鍒扮殑缃戝叧绫诲埆 0:绗竴娆$粦瀹� 1:宸茬粡缁戝畾 2:闇�瑕佹崲缁� + /// </summary> + private Dictionary<string, int> dicZbGatewayDiv = new Dictionary<string, int>(); + /// <summary> + /// 鑾峰彇寰楀埌浜嗘柊缃戝叧 + /// </summary> + private bool newGatewayGetting = false; + /// <summary> + /// 缃戝叧妫�娴嬩腑 + /// </summary> + private string isGatewayChecking = "0"; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆鏍囬淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddWirelessGateway)); + + //鍒濆鍖栦腑閮ㄦ帶浠� + this.InitDefultMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄦ帶浠� + /// </summary> + private void InitDefultMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //闀挎寜缃戝叧HID/WCFG鎸夐敭20绉� + //绯荤粺鐏揩闂�60绉掑垯杩涘叆閰嶇綉鐘舵�� + //绯荤粺鐏瘡绉掗棯鐑佷竴娆� + //鍒欒繛鎺ユ垚鍔� + string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddUdpWirelessGatewayMsg).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); + int yy = Application.GetRealHeight(1037); + foreach (var msg in ArryMsg) + { + var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); + btnMsg.Text = msg; + btnMsg.Y = yy; + btnMsg.TextAlignment = TextAlignment.Center; + btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1; + bodyFrameLayout.AddChidren(btnMsg); + yy = btnMsg.Bottom; + } + + //鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉 + this.InitConcetionAnimete(); + } + + /// <summary> + /// 鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢 + /// </summary> + private void InitFailMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //鍥炬爣 + var picGwImage = new FrameLayout(); + picGwImage.Width = Application.GetMinRealAverage(852); + picGwImage.Height = Application.GetMinRealAverage(478); + picGwImage.Y = Application.GetRealWidth(158); + picGwImage.Gravity = Gravity.CenterHorizontal; + picGwImage.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png"; + bodyFrameLayout.AddChidren(picGwImage); + var btnFailIcon = new PicViewControl(66, 66); + btnFailIcon.UnSelectedImagePath = "Item/FailIcon.png"; + btnFailIcon.Gravity = Gravity.CenterHorizontal; + btnFailIcon.Y = Application.GetMinRealAverage(200); + picGwImage.AddChidren(btnFailIcon); + //鎼滅储澶辫触 + var btnFailView = new NormalViewControl(300, 60, true); + btnFailView.TextAlignment = TextAlignment.Center; + btnFailView.Y = Application.GetMinRealAverage(305); + btnFailView.Gravity = Gravity.CenterHorizontal; + btnFailView.TextColor = UserCenterColor.Current.TextGrayColor3; + btnFailView.TextID = R.MyInternationalizationString.uSearchFail; + picGwImage.AddChidren(btnFailView); + + //瑙e喅鏂规硶锛屽彲閫夋嫨鎵ц浠ヤ笅浠绘剰涓�绉嶆柟寮忥細 + var btnMsg1 = new NormalViewControl(930, 60, true); + btnMsg1.X = Application.GetRealWidth(75); + btnMsg1.Y = picGwImage.Bottom + Application.GetRealHeight(112); + btnMsg1.TextID = R.MyInternationalizationString.uSearchGatewayFailMsg1; + bodyFrameLayout.AddChidren(btnMsg1); + //1.闀挎寜ZB/RST閿�20绉掞紝缃戝叧鎭㈠鍑哄巶璁剧疆锛屾寚绀虹伅鍏ㄩ儴鐔勭伃鍚庯紝閲嶆柊鍏ョ綉銆� + var btnMsg2 = new NormalViewControl(930, 100, true); + btnMsg2.X = Application.GetRealWidth(75); + btnMsg2.Y = btnMsg1.Bottom + Application.GetRealHeight(35); + btnMsg2.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg2).Replace("{0}", "\r\n"); + btnMsg2.TextSize = 12; + btnMsg2.TextColor = UserCenterColor.Current.TextGrayColor1; + btnMsg2.IsMoreLines = true; + bodyFrameLayout.AddChidren(btnMsg2); + //2.鐐规寜HID/WCFG閿紝杩涘叆缃戝叧鎹㈢粦妯″紡锛岀郴缁熸寚绀虹伅蹇棯5绉掋�� + var btnMsg3 = new NormalViewControl(930, 100, true); + btnMsg3.X = Application.GetRealWidth(75); + btnMsg3.Y = btnMsg2.Bottom + Application.GetRealHeight(12); + btnMsg3.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg3).Replace("{0}", "\r\n"); + btnMsg3.TextSize = 12; + btnMsg3.TextColor = UserCenterColor.Current.TextGrayColor1; + btnMsg3.IsMoreLines = true; + bodyFrameLayout.AddChidren(btnMsg3); + //3.璇烽噸璇曪紝閲嶆柊娣诲姞缃戝叧銆� + var btnMsg4 = new NormalViewControl(930, 50, true); + btnMsg4.X = Application.GetRealWidth(75); + btnMsg4.Y = btnMsg3.Bottom + Application.GetRealHeight(12); + btnMsg4.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg4); + btnMsg4.TextSize = 12; + btnMsg4.TextColor = UserCenterColor.Current.TextGrayColor1; + bodyFrameLayout.AddChidren(btnMsg4); + //4.杩斿洖缃戝叧绠$悊銆� + var btnMsg5 = new NormalViewControl(930, 50, true); + btnMsg5.X = Application.GetRealWidth(75); + btnMsg5.Y = btnMsg4.Bottom + Application.GetRealHeight(12); + btnMsg5.Text = Language.StringByID(R.MyInternationalizationString.uSearchGatewayFailMsg5); + btnMsg5.TextSize = 12; + btnMsg5.TextColor = UserCenterColor.Current.TextGrayColor1; + bodyFrameLayout.AddChidren(btnMsg5); + + //閲嶈瘯 + var frameback = new FrameLayoutControl(); + frameback.UseClickStatu = false; + frameback.Y = Application.GetRealHeight(1259); + frameback.Gravity = Gravity.CenterHorizontal; + frameback.Width = Application.GetRealWidth(746); + frameback.Height = Application.GetRealHeight(184); + frameback.BackgroundImagePath = "Item/BottomButtonGround.png"; + bodyFrameLayout.AddChidren(frameback); + var btnReDo = new NormalViewControl(300, 65, true); + btnReDo.TextColor = UserCenterColor.Current.White; + btnReDo.TextSize = 16; + btnReDo.Y = Application.GetRealHeight(49); + btnReDo.Gravity = Gravity.CenterHorizontal; + btnReDo.TextAlignment = TextAlignment.Center; + btnReDo.TextID = R.MyInternationalizationString.uReDoAgain; + frameback.AddChidren(btnReDo, ChidrenBindMode.BindEventOnly); + frameback.ButtonClickEvent += (sender, e) => + { + //鍒濆鍖栧垵濮嬩腑閮ㄦ帶浠� + this.InitDefultMiddleFrame(); + }; + + //杩斿洖缃戝叧绠$悊 + var btnGoBack = new BottomClickButton(688); + btnGoBack.Y = Application.GetRealHeight(1495); + btnGoBack.TextID = R.MyInternationalizationString.uGobackGatewayManage; + if (UserCenterResourse.DicActionForm.ContainsKey("GatewayListForm") == false) + { + //杩斿洖涓婚〉 + btnGoBack.TextID = R.MyInternationalizationString.uGobackToHomePage; + } + bodyFrameLayout.AddChidren(btnGoBack); + btnGoBack.ButtonClickEvent += (sender, e) => + { + this.CloseForm(); + //鍏抽棴鎸囧畾鐣岄潰 + this.CloseFormByFormName("NewGateWayMenuSelectForm"); + }; + } + + #endregion + + #region 鈻� 鍋囨兂鍔ㄧ敾___________________________ + + /// <summary> + /// 鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉 + /// </summary> + private void InitConcetionAnimete() + { + //鍥炬爣 + var btnGwImage = new FrameLayout(); + btnGwImage.Width = Application.GetMinRealAverage(852); + btnGwImage.Height = Application.GetMinRealAverage(478); + btnGwImage.Y = Application.GetRealHeight(193); + btnGwImage.Gravity = Gravity.CenterHorizontal; + btnGwImage.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png"; + bodyFrameLayout.AddChidren(btnGwImage); + + //姝e湪鎼滅储缃戝叧鈥� + var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); + btnMsg.TextID = R.MyInternationalizationString.uGatewaySearching; + btnMsg.Y = Application.GetRealHeight(821); + btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; + btnMsg.TextAlignment = TextAlignment.Center; + bodyFrameLayout.AddChidren(btnMsg); + + //棣栨牸鐨刋杞� + int firstPoint = Application.GetMinRealAverage(280); + //涓�鏍肩殑瀹藉害 + int width = Application.GetMinRealAverage(22); + //闂磋窛澶у皬 + int space = Application.GetMinRealAverage(12); + + //鐢熸垚鏍煎瓙鍧愭爣 + var listPoint = new List<int>(); + for (int i = 0; i < 9; i++) + { + listPoint.Add(firstPoint + (width + space) * i); + } + + //寮�鍚繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉绾跨▼ + var btnRound = new PicViewControl(width, width, false); + btnRound.Radius = (uint)width / 2; + btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor; + btnRound.Y = Application.GetMinRealAverage(225); + btnRound.X = listPoint[0]; + btnGwImage.AddChidren(btnRound); + + string strMsg = btnMsg.Text; + HdlThreadLogic.Current.RunThread(() => + { + //娓呯┖鍏ㄩ儴鍒楄〃 + HdlGatewayLogic.Current.ClearAllRealGateway(); + ZigBee.Common.Application.IsSearchingGateway = true; + + int index = 1; + //璁℃椂鏃堕棿 + int timeCount = 0; + //瓒呮椂鏃堕棿 + int timeOut = 120; + while (btnGwImage.Parent != null) + { + timeCount++; + if (timeCount == 10) + { + //5绉掑悗娓呯┖缃戝叧鍒楄〃 + HdlGatewayLogic.Current.ClearAllRealGateway(); + ZigBee.Common.Application.IsSearchingGateway = true; + } + if (timeCount % 4 == 0 && timeCount >= 10) + { + lock (isGatewayChecking) + { + if (isGatewayChecking != "1") + { + isGatewayChecking = "1"; + HdlThreadLogic.Current.RunThread(async () => + { + //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏� + await this.CheckZbGatewayAndSetRow(); + lock (isGatewayChecking) + { + isGatewayChecking = "0"; + } + }); + } + } + } + if (timeCount % 2 == 0) + { + timeOut--; + } + if (this.newGatewayGetting == true || timeOut <= 0) + { + //鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋� + break; + } + + Application.RunOnMainThread(() => + { + btnRound.X = listPoint[index]; + index++; + if (index == listPoint.Count) + { + index = 0; + } + //姝e湪鎼滅储缃戝叧鈥Xs + btnMsg.Text = strMsg + timeOut + "s"; + }); + + System.Threading.Thread.Sleep(500); + } + if (timeOut <= 0) + { + HdlThreadLogic.Current.RunMain(() => + { + //鍒濆鍖栧け璐ユā寮忕殑涓儴鎺т欢 + this.InitFailMiddleFrame(); + }); + } + else if (newGatewayGetting == true) + { + HdlThreadLogic.Current.RunMain(() => + { + if (this.Parent != null) + { + var form = new GatewayManage.GatewaySearchListForm(); + this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv); + } + }); + } + }); + } + + #endregion + + #region 鈻� 缃戝叧妫�娴媉__________________________ + + /// <summary> + /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏� + /// </summary> + private async Task<bool> CheckZbGatewayAndSetRow() + { + var listCheck = new HashSet<string>(); + for (int i = 0; i < ZbGateway.GateWayList.Count; i++) + { + var way = ZbGateway.GateWayList[i]; + var wayId = HdlGatewayLogic.Current.GetGatewayId(way); + if (dicZbGatewayDiv.ContainsKey(wayId) == true) + { + //宸茬粡澶勭悊浜� + continue; + } + + //缃戝叧缁戝畾妯″紡 + GatewayBindMode mode = GatewayBindMode.BindAgain; + //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨� + if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true + || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId) + { + if (way.getGatewayBaseInfo.HomeId != Common.Config.Instance.HomeId) + { + //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖ + mode = GatewayBindMode.First; + } + else + { + //宸茬粡缁戝畾杩囦簡 + mode = GatewayBindMode.Binded; + } + //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔) + var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO); + if (result == false) + { + continue; + } + } + //鏀堕泦缃戝叧瀵硅薄 + this.listZbGateway.Add(way); + + //鍏ㄩ儴澶勭悊OK鍚庯紝鎵嶈兘璁剧疆flage + if (mode == GatewayBindMode.First) + { + //绗竴娆$粦瀹� + this.dicZbGatewayDiv[wayId] = 0; + //鑾峰彇鍒颁簡鏂扮綉鍏� + this.newGatewayGetting = true; + } + else if (mode == GatewayBindMode.Binded) + { + //宸茬粡缁戝畾杩� + this.dicZbGatewayDiv[wayId] = 1; + } + else + { + //闇�瑕侀噸鏂扮粦瀹� + this.dicZbGatewayDiv[wayId] = 2; + } + + if (mode == GatewayBindMode.First) + { + //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛� + Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way); + } + } + return true; + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseForm() + { + ZigBee.Common.Application.IsSearchingGateway = false; + //鍋滄Wi-Fi閰嶇綉 + HdlWifiLogic.Current.StopSmartConnection(); + + if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == false) + { + //鍒锋柊涓婚〉 + UserView.UserPage.Instance.Fresh(); + } + base.CloseForm(); + } + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs index f4ca433..d7bdf96 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSelectNetworkForm.cs @@ -48,12 +48,8 @@ frameBack.AddChidren(btnTitle); //WIFI - string ssiD = Shared.WiimuUPnP.SSID; - if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\"")) - { - ssiD = ssiD.Substring(1, ssiD.Length - 2); - } - var rowWifi = new FrameCaptionViewControl("WiFi", ssiD); + var rowWifi = new FrameCaptionViewControl("WiFi", HdlWifiLogic.Current.SSID); + //var rowWifi = new FrameCaptionViewControl("WiFi", "software"); rowWifi.UseClickStatu = false; rowWifi.Y = Application.GetRealHeight(124); frameBack.AddChidren(rowWifi); @@ -78,12 +74,20 @@ }; var btnMsg = new NormalViewControl(btnPsw.txtInput.Width, false); - btnMsg.X = btnPsw.txtInput.X; + btnMsg.X = ControlCommonResourse.XXLeft; btnMsg.Y = frameBack.Bottom + Application.GetRealHeight(23); btnMsg.TextSize = 12; btnMsg.Height = Application.GetRealHeight(40); btnMsg.TextColor = UserCenterColor.Current.Red; bodyFrameLayout.AddChidren(btnMsg); + + //鏌ョ湅甯姪 + var btnHelp = this.AddHelpControl(); + btnHelp.ButtonClickEvent += (sender, e) => + { + var form = new DeviceDirection.DeviceDirectionHelpForm(); + form.AddForm("WirelessUdp"); + }; //涓嬩竴姝� var btnNext = new BottomClickButton(); @@ -95,18 +99,14 @@ btnMsg.Text = string.Empty; if (btnPsw.Text == string.Empty) { - //璇疯緭鍏ョ綉缁滃瘑鐮� + //璇疯緭鍏ifi瀵嗙爜 btnMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputWifiPassword); return; } - - //鍒濆鍖朩i-Fi杩炴帴 - //var hdlWifi = new Com.Hdl.Hdlelianzigbee.ElianNative(); - //hdlWifi.InitSmartConnection(null, 1, 1); - //寮�濮媁i-Fi杩炴帴 - //var result = hdlWifi.StartSmartConnection(rowWifi.Text, btnPsw.Text, "1"); - //var form = new WirelessGwClickButtonForm(); - //this.AddFromAndRemoveNowForm(form); + //寮�濮媁i-Fi閰嶇綉 + HdlWifiLogic.Current.StartSmartConnection(rowWifi.Text, btnPsw.Text, "1"); + var form = new WirelessUdpSearchForm(); + this.AddFromAndRemoveNowForm(form); }; } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs similarity index 98% rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayAddSuccessForm.cs rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs index 27ac27e..0b3a7d8 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayAddSuccessForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayAddSuccessForm.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Shared.Phone.UserCenter.GatewayAdd +namespace Shared.Phone.UserCenter.GatewayManage { /// <summary> /// 缃戝叧娣诲姞鎴愬姛鐨勬樉绀虹晫闈� diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs new file mode 100755 index 0000000..2a2ea96 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs @@ -0,0 +1,385 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter.GatewayManage +{ + /// <summary> + /// 缃戝叧澶囦唤鐨勫垪琛ㄧ晫闈� + /// </summary> + public class GatewayBackUpListForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鍒楄〃鎺т欢 + /// </summary> + private VerticalListControl listView = null; + /// <summary> + /// 缃戝叧瀵硅薄(杩欎釜鏄湡瀹炵墿鐞嗙綉鍏冲璞�) + /// </summary> + private ZbGateway realGateway = null; + /// <summary> + /// 褰撳墠閫夋嫨鐨勫浠絀D + /// </summary> + private string nowSelectBackId = string.Empty; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬帶浠� + /// </summary> + private MostRightIconControl nowbtnSelect = null; + /// <summary> + /// 涓嬭浇鎸夐挳 + /// </summary> + private BottomClickButton btnDownload = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_zbGateway"></param> + public void ShowForm(ZbGateway i_zbGateway) + { + this.realGateway = i_zbGateway; + + //璁剧疆鏍囬淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDwonloadData)); + + //鍒濆鍖栦腑閮ㄦ帶浠� + 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); + + listView = new VerticalListControl(12); + listView.Y = frameBack.Bottom; + listView.Height = bodyFrameLayout.Height - frameBack.Height; + listView.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(listView); + + HdlThreadLogic.Current.RunThread(() => + { + //浠庝簯绔幏鍙栨暟鎹� + this.SetBackupInfoToForm(); + }); + } + + #endregion + + #region 鈻� 浠庝簯绔幏鍙栨暟鎹甠____________________ + + /// <summary> + /// 浠庝簯绔幏鍙栨暟鎹� + /// </summary> + private async void SetBackupInfoToForm() + { + //杩涘害鏉� + this.ShowProgressBar(); + + //浠庝簯绔幏鍙栨暟鎹� + var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB(2, HdlGatewayLogic.Current.GetGatewayId(realGateway)); + if (pageData == null) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + + HdlThreadLogic.Current.RunMain(() => + { + listView.RemoveAll(); + listView.RecoverHeight(); + for (int i = 0; i < pageData.Count; i++) + { + //娣诲姞澶囦唤琛� + this.AddRowlayout(pageData[i], i != pageData.Count - 1); + } + + this.btnDownload?.RemoveFromParent(); + if (pageData.Count > 0) + { + //涓嬭浇 + this.btnDownload = new BottomClickButton(); + btnDownload.TextID = R.MyInternationalizationString.uDownLoad; + bodyFrameLayout.AddChidren(btnDownload); + btnDownload.ButtonClickEvent += (sender, e) => + { + if (this.nowSelectBackId == string.Empty) + { + return; + } + //鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛� + string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg); + this.ShowMassage(ShowMsgType.Confirm, msg, () => + { + this.LoadBackupInfo(this.nowSelectBackId); + }); + }; + //璋冩暣鐪熷疄楂樺害 + listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(23)); + } + + }); + } + + #endregion + + #region 鈻� 娣诲姞澶囦唤琛宊________________________ + + /// <summary> + /// 娣诲姞澶囦唤琛� + /// </summary> + /// <param name="fileInfo"></param> + /// <param name="addLine"></param> + private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine) + { + var rowLayout = new RowLayoutControl(listView.rowSpace / 2); + listView.AddChidren(rowLayout); + + //澶囦唤鍚嶅瓧 + var txtText = rowLayout.frameTable.AddLeftCaption(fileInfo.BackupName, 700, 60); + txtText.TextSize = 15; + txtText.Y = Application.GetRealHeight(12) + rowLayout.chidrenYaxis; + rowLayout.frameTable.AddChidren(txtText, ChidrenBindMode.BindEventOnly); + //鏃堕棿 2019-11-11T11:31:01 + var btnTime = rowLayout.frameTable.AddLeftCaption("", 600, 50, true); + btnTime.Y = Application.GetRealHeight(72) + rowLayout.chidrenYaxis; + btnTime.TextSize = 12; + btnTime.TextColor = UserCenterColor.Current.TextGrayColor1; + rowLayout.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly); + if (fileInfo.CreatedOnUtc.Length >= 19) + { + btnTime.Text = fileInfo.CreatedOnUtc.Replace("-", ".").Replace("T", " "); + } + //搴曠嚎 + if (addLine == true) + { + rowLayout.frameTable.AddBottomLine(); + } + + //閫夋嫨 + var btnSelect = rowLayout.frameTable.AddMostRightEmptyIcon(58, 58); + btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png"; + btnSelect.SelectedImagePath = "Item/ItemSelected.png"; + rowLayout.frameTable.ButtonClickEvent += (sender, e) => + { + btnSelect.IsSelected = !btnSelect.IsSelected; + if (btnSelect.IsSelected == true) + { + this.nowSelectBackId = fileInfo.Id; + if (nowbtnSelect != null) + { + nowbtnSelect.IsSelected = false; + } + nowbtnSelect = btnSelect; + } + else + { + this.nowSelectBackId = string.Empty; + this.nowbtnSelect = null; + } + }; + + //缂栬緫 + var btnEditor = rowLayout.AddEditorControl(); + btnEditor.ButtonClickEvent += (sender, e) => + { + //鏄剧ず缂栬緫澶囪�冨悕鐢婚潰 + this.ShowEditorBackupForm(fileInfo); + }; + + //鍒犻櫎 + var btnDelete = rowLayout.AddDeleteControl(); + btnDelete.ButtonClickEvent += (sender, e) => + { + //纭鍒犻櫎璇ュ浠芥暟鎹�? + string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg); + this.ShowMassage(ShowMsgType.Confirm, msg, () => + { + //鍒犻櫎澶囦唤鏂囨。 + this.DeleteBackInfo(fileInfo.Id); + }); + }; + } + + #endregion + + #region 鈻� 璇诲彇澶囦唤鏂囨。_______________________ + + /// <summary> + /// 璇诲彇澶囦唤鏂囨。 + /// </summary> + /// <param name="BackupClassId"></param> + private void LoadBackupInfo(string BackupClassId) + { + HdlThreadLogic.Current.RunThread(async () => + { + //鑾峰彇缃戝叧涓婇潰瀛樺湪鐨勫叏閮ㄦ枃浠� + var listFile = await this.GetGatewayFileFromGateway(); + if (listFile == null) + { + return; + } + //浠庝簯绔幏鍙栧浠界殑鏂囦欢 + bool result = await HdlBackupLogic.Current.LoadGatewayBackupInfo(BackupClassId, realGateway, listFile); + if (result == false) + { + //缃戝叧鎭㈠澶辫触 + string msg2 = Language.StringByID(R.MyInternationalizationString.uGatewayFileRecoverFail); + this.ShowMassage(ShowMsgType.Error, msg2); + return; + } + + HdlThreadLogic.Current.RunMain(() => + { + //鍏抽棴鑷韩 + this.CloseForm(); + }); + + //缃戝叧鎭㈠鎴愬姛 + string msg = Language.StringByID(R.MyInternationalizationString.uGatewayFileRecoverSuccess); + this.ShowMassage(ShowMsgType.Normal, msg); + }); + } + + #endregion + + #region 鈻� 缂栬緫澶囦唤鍚嶇О_______________________ + + /// <summary> + /// 缂栬緫澶囦唤鍚嶇О + /// </summary> + /// <param name="BackupClassId"></param> + /// <param name="backName"></param> + private async void EditorBackInfo(string BackupClassId, string backName) + { + var Pra = new EditorBackUpNamePra(); + Pra.BackupClassId = BackupClassId; + Pra.BackupName = backName; + //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken + Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + + bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/UpdateHomeAppGatewayName", true, Pra); + if (result == false) + { + return; + } + + this.SetBackupInfoToForm(); + } + + #endregion + + #region 鈻� 鍒犻櫎澶囦唤鏂囨。_______________________ + + /// <summary> + /// 鍒犻櫎澶囦唤鏂囨。 + /// </summary> + /// <param name="BackupClassId"></param> + private async void DeleteBackInfo(string BackupClassId) + { + bool success = await HdlBackupLogic.Current.DeleteDbBackupData(BackupClassId); + if (success == false) + { + return; + } + if (this.nowSelectBackId == BackupClassId) + { + this.nowSelectBackId = string.Empty; + this.nowbtnSelect = null; + } + this.SetBackupInfoToForm(); + } + + #endregion + + #region 鈻� 鏄剧ず缂栬緫澶囪�冨悕鐢婚潰_________________ + + /// <summary> + /// 鏄剧ず缂栬緫澶囪�冨悕鐢婚潰 + /// </summary> + /// <param name="fileInfo"></param> + /// <returns></returns> + private void ShowEditorBackupForm(BackupListNameInfo fileInfo) + { + //鐢熸垚涓�涓脊绐楃敾闈� + var dialogForm = new DialogInputForm(); + dialogForm.AddForm(DialogFrameMode.OnlyInput); + + //缂栬緫澶囦唤 + dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup)); + //璇疯緭鍏ュ娉ㄥ悕绉� + dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup)); + dialogForm.Text = fileInfo.BackupName; + + //鎸変笅纭鎸夐挳 + dialogForm.ComfirmClickEvent += ((txtvalue) => + { + //鐢婚潰鍏抽棴 + dialogForm.CloseForm(); + //鍚嶅瓧涓�鏍锋椂锛屼笉澶勭悊 + if (txtvalue != fileInfo.BackupName) + { + //缂栬緫澶囦唤鍚嶇О + this.EditorBackInfo(fileInfo.Id, txtvalue); + } + }); + } + + #endregion + + #region 鈻� 鑾峰彇缃戝叧鏂囦欢_______________________ + + /// <summary> + /// 浠庣綉鍏宠幏鍙栧畠鐨勬枃浠� + /// </summary> + /// <returns></returns> + private async System.Threading.Tasks.Task<List<string>> GetGatewayFileFromGateway() + { + var fileData = await realGateway.FileTransferLsDirAsync(); + //妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜 + string error = HdlCheckLogic.Current.CheckCommonErrorCode(fileData); + if (error != null) + { + this.ShowMassage(ShowMsgType.Error, error); + return null; + } + + if (fileData == null || fileData.fileTransferLsDiResponseData == null || fileData.fileTransferLsDiResponseData.Result != 0) + { + //鑾峰彇缃戝叧鏂囦欢澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayFileFail); + this.ShowMassage(ShowMsgType.Error, msg); + return null; + } + var listFile = new List<string>(); + foreach (var filedata in fileData.fileTransferLsDiResponseData.Dir) + { + listFile.Add(filedata.File); + } + return listFile; + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs index 35a290a..832dbe1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayGeneralInformationForm.cs @@ -65,7 +65,7 @@ rowSerial.UseClickStatu = false; listView.AddChidren(rowSerial); rowSerial.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSerialNumber), 300); - rowSerial.AddMostRightView("", 600); + rowSerial.AddMostRightView(string.IsNullOrEmpty(i_gateway.getGwInfo.GWSN) == false ? i_gateway.getGwInfo.GWSN : "000000000000", 600); rowSerial.AddBottomLine(); //缃戝叧ID @@ -89,7 +89,7 @@ rowMac.UseClickStatu = false; listView.AddChidren(rowMac); rowMac.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorMac), 300); - rowMac.AddMostRightView("", 600); + var btnMac = rowMac.AddMostRightView("", 600); rowMac.AddBottomLine(); //鍗忚鍣ㄤ俊閬� @@ -97,7 +97,7 @@ rowChannel.UseClickStatu = false; listView.AddChidren(rowChannel); rowChannel.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorChannel), 300); - rowChannel.AddMostRightView("", 600); + var btnChannel = rowChannel.AddMostRightView("", 600); rowChannel.AddBottomLine(); //鍗忚鍣≒anID @@ -105,7 +105,7 @@ rowPanid.UseClickStatu = false; listView.AddChidren(rowPanid); rowPanid.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uCoordinatorPanid), 300); - rowPanid.AddMostRightView("", 600); + var btnPanId = rowPanid.AddMostRightView("", 600); rowPanid.AddBottomLine(); //鍒堕�犲晢 @@ -116,6 +116,62 @@ rowProtuct.AddMostRightView("HDL", 600); listView.AdjustRealHeight(Application.GetRealHeight(23)); + + HdlThreadLogic.Current.RunThread(() => + { + //鑾峰彇缃戝叧鏁版嵁 + this.GetGatewayData(i_gateway, btnMac, btnChannel, btnPanId); + }); + } + + #endregion + + #region 鈻� 鑾峰彇鏁版嵁___________________________ + + /// <summary> + /// 鑾峰彇缃戝叧鏁版嵁 + /// </summary> + /// <param name="gateway">缃戝叧瀵硅薄</param> + /// <param name="btnMac">鍗忚皟鍣∕AC</param> + /// <param name="btnChannel">鍗忚皟鍣ㄤ俊閬�</param> + /// <param name="btnPanid">鍗忚皟鍣≒anId</param> + private void GetGatewayData(ZbGateway gateway, NormalViewControl btnMac, NormalViewControl btnChannel, NormalViewControl btnPanid) + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + + //鍗忚皟鍣∕AC + string strMac = HdlGatewayLogic.Current.GetGatewayCoordinatorMac(gateway); + if (strMac == null) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } + //鍗忚皟鍣ㄤ俊閬� + int intChannel = HdlGatewayLogic.Current.GetGatewayChannelId(gateway); + if (intChannel == -1) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } + //鍗忚皟鍣≒anId + int intPanId = HdlGatewayLogic.Current.GetGatewayPanId(gateway); + if (intPanId == -1) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + HdlThreadLogic.Current.RunMain(() => + { + btnMac.Text = strMac; + btnChannel.Text = intChannel.ToString(); + btnPanid.Text = intPanId.ToString(); + }); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs index aae291d..bc006ad 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs @@ -104,6 +104,8 @@ rowData.frameTable.AddBottomLine(); rowData.frameTable.ButtonClickEvent += (sender, e) => { + var form = new GatewayUploadAndDownLoadForm(); + form.AddForm(HdlGatewayLogic.Current.GetGatewayId(this.zbGateway)); }; //閫氱敤淇℃伅 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayProductInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs similarity index 99% rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayProductInfoForm.cs rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs index 1eca0ed..ce7a88e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/GatewayProductInfoForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayProductInfoForm.cs @@ -3,7 +3,7 @@ using System.Text; using ZigBee.Device; -namespace Shared.Phone.UserCenter.GatewayAdd +namespace Shared.Phone.UserCenter.GatewayManage { /// <summary> /// 缃戝叧浜у搧淇℃伅鐨勭晫闈� diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayRebindForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs similarity index 83% rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayRebindForm.cs rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs index 3b5f660..262558f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayRebindForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayRebindForm.cs @@ -3,12 +3,12 @@ using System.Text; using ZigBee.Device; -namespace Shared.Phone.UserCenter.GatewayAdd +namespace Shared.Phone.UserCenter.GatewayManage { /// <summary> /// 閲嶆柊缁戝畾缃戝叧鐨勭晫闈� /// </summary> - public class WiredGatewayRebindForm : EditorCommonForm + public class GatewayRebindForm : EditorCommonForm { #region 鈻� 鍙橀噺澹版槑___________________________ @@ -26,11 +26,18 @@ //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddGateway)); + var btnLoading = new LoadingControl(); + btnLoading.Y = Application.GetRealHeight(656); + btnLoading.Gravity = Gravity.CenterHorizontal; + bodyFrameLayout.AddChidren(btnLoading); + btnLoading.StartAction(); + //姝e湪鎹㈢粦缃戝叧锛岃绋嶅�欌�� var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false); btnMsg.Y = Application.GetRealHeight(979); btnMsg.TextAlignment = TextAlignment.Center; btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; + btnMsg.TextID = R.MyInternationalizationString.uIsReBindingPleaseWaiting; bodyFrameLayout.AddChidren(btnMsg); HdlThreadLogic.Current.RunThread(async () => @@ -58,7 +65,7 @@ //鎴愬姛鎴栬�呭け璐ラ兘鍏抽棴鐣岄潰 this.CloseForm(); }); - }); + }); } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs similarity index 96% rename from ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs rename to ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs index cc9c284..4266eeb 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewayListForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewaySearchListForm.cs @@ -3,12 +3,12 @@ using System.Text; using ZigBee.Device; -namespace Shared.Phone.UserCenter.GatewayAdd +namespace Shared.Phone.UserCenter.GatewayManage { /// <summary> - /// 鎼滅储寰楀埌鐨勬湁绾跨綉鍏崇殑鍒楄〃鐣岄潰 + /// 鎼滅储寰楀埌鐨勭綉鍏崇殑鍒楄〃鐣岄潰 /// </summary> - public class WiredGatewayListForm : EditorCommonForm + public class GatewaySearchListForm : EditorCommonForm { #region 鈻� 鍙橀噺澹版槑___________________________ @@ -142,7 +142,7 @@ string msg = Language.StringByID(R.MyInternationalizationString.uRebindGatewayMsg); this.ShowMassage(ShowMsgType.Confirm, msg, () => { - var form = new WiredGatewayRebindForm(); + var form = new GatewayRebindForm(); form.AddForm(gateway, dicZbGatewayDiv); }); }; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs new file mode 100755 index 0000000..3688714 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayUploadAndDownLoadForm.cs @@ -0,0 +1,130 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter.GatewayManage +{ + /// <summary> + /// 缃戝叧鏁版嵁涓婁紶鍙婁笅杞界晫闈� + /// </summary> + public class GatewayUploadAndDownLoadForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 缃戝叧ID + /// </summary> + private string gatewayId = string.Empty; + /// <summary> + /// 缃戝叧瀵硅薄 + /// </summary> + private ZbGateway realGateway = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_gatewayId">缃戝叧ID</param> + public void ShowForm(string i_gatewayId) + { + this.gatewayId = i_gatewayId; + HdlGatewayLogic.Current.GetRealGateway(ref this.realGateway, gatewayId); + + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDataUploadAndDownLoad)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + 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.Y = frameBack.Bottom; + listView.Height = bodyFrameLayout.Height - frameBack.Height; + listView.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(listView); + + //鑷姩澶囦唤 + var frameAuto = new FrameRowControl(listView.rowSpace / 2); + frameAuto.UseClickStatu = false; + listView.AddChidren(frameAuto); + frameAuto.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAutoBackup), 700); + frameAuto.AddBottomLine(); + var btnSwicth = frameAuto.AddMostRightSwitchIcon(); + btnSwicth.ButtonClickEvent += (sender, e) => + { + btnSwicth.IsSelected = !btnSwicth.IsSelected; + }; + + //涓婁紶鏁版嵁鑷充簯绔� + var frameUp = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(frameUp); + frameUp.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uUploadDataToDb), 700); + frameUp.AddRightArrow(); + frameUp.AddBottomLine(); + frameUp.ButtonClickEvent += (sender, e) => + { + if (this.realGateway == null) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg); + this.ShowMassage(ShowMsgType.Error, msg); + return; + } + //鐢熸垚涓�涓脊绐楃敾闈� + var dialogForm = new DialogInputForm(); + dialogForm.AddForm(DialogFrameMode.OnlyInput); + //涓婁紶鏁版嵁 + dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uUploadData)); + //璇疯緭鍏ュ娉ㄥ悕绉� + dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup)); + //鎸変笅纭鎸夐挳 + dialogForm.ComfirmClickEvent += ((textValue) => + { + //鐢婚潰鍏抽棴 + dialogForm.CloseForm(); + HdlThreadLogic.Current.RunThread(() => + { + //涓婁紶澶囦唤 + HdlGatewayBackupLogic.Current.DoBackupGateway(this.realGateway, textValue); + }); + }); + }; + + //浠庝簯绔笅杞芥暟鎹� + var frameDown = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(frameDown); + frameDown.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDwonloadDataFromDb), 700); + frameDown.AddRightArrow(); + frameDown.ButtonClickEvent += (sender, e) => + { + var form = new GatewayBackUpListForm(); + form.AddForm(this.realGateway); + }; + //璋冩暣鐪熷疄楂樺害 + listView.AdjustRealHeight(Application.GetRealHeight(23)); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + #endregion + } +} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs index 033ca0a..1fb7f2e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayCoordinatorInfoForm.cs @@ -124,7 +124,7 @@ //鍥轰欢鏃ユ湡 row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uHardwareDate), 300); - //row1.AddMostRightView(zbGateway.getGwInfo.AppVersion.ToString(), 400); + row1.AddMostRightView(zbGateway.getGwInfo.AppVersion.ToString(), 400); row1.AddBottomLine(); } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs index 5de6624..69d5d06 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Update/GatewayVirtualDriveInfoForm.cs @@ -117,7 +117,7 @@ row3.UseClickStatu = false; frameTable.AddChidren(row3); row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uHardwareDate), 300); - row3.AddMostRightView("XXXXXXX", 400); + row3.AddMostRightView("", 400); row3.AddBottomLine(); //纭欢鐗堟湰 diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackUpForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackUpForm.cs deleted file mode 100755 index d50e463..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackUpForm.cs +++ /dev/null @@ -1,258 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter.HdlBackup -{ - /// <summary> - /// 鑷姩澶囦唤鐨勭晫闈� - /// </summary> - public class HdlAutoBackUpForm : EditorCommonForm - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// BackupClassId - /// </summary> - private string m_BackupDeleteClassId = null; - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - public void ShowForm() - { - //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAppAutoBackup)); - - //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(); - - //娣诲姞涓婁紶鑿滃崟 - this.AddUploadMenu(); - } - - /// <summary> - /// 鍒濆鍖栦腑閮ㄦ帶浠� - /// </summary> - private void InitMiddleFrame() - { - //娓呯┖bodyFrame - this.ClearBodyFrame(); - - HdlThreadLogic.Current.RunThread(async () => - { - //杩涘害鏉� - this.ShowProgressBar(); - //鑾峰彇app鐨勮嚜鍔ㄥ浠� - var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1); - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - if (data == null || data.Count == 0) - { - return; - } - //鑷姩澶囦唤鍙湁涓�涓� - Application.RunOnMainThread(() => - { - if (this.Parent != null) - { - //娣诲姞鑷姩澶囦唤鐨勮 - this.AddRowlayout(data[0]); - this.m_BackupDeleteClassId = data[0].Id; - } - }); - }); - } - - #endregion - - #region 鈻� 娣诲姞鑷姩澶囦唤鐨勮___________________ - - /// <summary> - /// 娣诲姞鑷姩澶囦唤鐨勮 - /// </summary> - /// <param name="info"></param> - private void AddRowlayout(BackupListNameInfo info) - { - //琛� - var rowLayout = new FrameRowControl(); - bodyFrameLayout.AddChidren(rowLayout); - - //鍥炬爣 - var btnPoint = rowLayout.AddLeftIcon(); - btnPoint.UnSelectedImagePath = "Center/Backup.png"; - - //澶囦唤鍚嶅瓧 - var txtText = rowLayout.AddLeftCaption("", 700); - txtText.TextID = R.MyInternationalizationString.uAutoBackupData; - - //搴曠嚎 - rowLayout.AddBottomLine(); - - //涓嬭浇鍥炬爣 - var btnLoad = rowLayout.AddMostRightEmptyIcon(81, 81); - rowLayout.ChangedChidrenBindMode(btnLoad, ChidrenBindMode.NotBind); - //鍚敤鐐逛寒鍔熻兘 - btnLoad.UseClickStatu = true; - btnLoad.UnSelectedImagePath = "Item/DownLoad.png"; - btnLoad.SelectedImagePath = "Item/DownLoadSelected.png"; - btnLoad.ButtonClickEvent += (sender, e) => - { - //鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛� - string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg); - this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - // 璇诲彇澶囦唤鏂囨。 - this.LoadBackupInfo(info.Id); - }); - }; - } - - #endregion - - #region 鈻� 璇诲彇澶囦唤鏂囨。_______________________ - - /// <summary> - /// 璇诲彇澶囦唤鏂囨。 - /// </summary> - /// <param name="BackupClassId"></param> - private void LoadBackupInfo(string BackupClassId) - { - HdlThreadLogic.Current.RunThread(async () => - { - //浠庝簯绔幏鍙栧浠界殑鏂囦欢 - bool result = await HdlBackupLogic.Current.LoadAppBackupInfo(BackupClassId); - if (result == false) - { - //鏂囦欢鎭㈠澶辫触 - string msg2 = Language.StringByID(R.MyInternationalizationString.uFileRecoverFail); - this.ShowMassage(ShowMsgType.Normal, msg2); - return; - } - - Application.RunOnMainThread(() => - { - //鍏抽棴鎵�鏈夌晫闈� - UserCenterLogic.CloseAllOpenForm(); - //鍒囨崲鍒颁富椤� - UserView.UserPage.Instance.Fresh(); - }); - - //鏂囦欢鎭㈠鎴愬姛 - string msg = Language.StringByID(R.MyInternationalizationString.uFileRecoverSuccess); - this.ShowMassage(ShowMsgType.Normal, msg); - }); - } - - #endregion - - #region 鈻� 涓婁紶鏁版嵁___________________________ - - /// <summary> - /// 涓婁紶鏁版嵁 - /// </summary> - public void UpLoadBackupInfo() - { - HdlThreadLogic.Current.RunThread(async () => - { - int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData(); - if (result == -1) - { - //鏂囦欢涓婁紶澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail); - this.ShowMassage(ShowMsgType.Error, msg); - - return; - } - //鏁版嵁鎴愬姛鍚屾鍒版湇鍔″櫒 - string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg); - this.ShowMassage(ShowMsgType.Normal, msg2); - - Application.RunOnMainThread(() => - { - if (this.Parent != null) - { - //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(); - } - }); - }); - } - #endregion - - #region 鈻� 娣诲姞涓婁紶鑿滃崟_______________________ - - /// <summary> - /// 娣诲姞涓婁紶鑿滃崟 - /// </summary> - private void AddUploadMenu() - { - var btnIcon = new MostRightIconControl(69, 69); - btnIcon.UnSelectedImagePath = "Item/More.png"; - topFrameLayout.AddChidren(btnIcon); - btnIcon.InitControl(); - btnIcon.ButtonClickEvent += (sender, e) => - { - var menuForm = new TopRightMenuControl(2); - menuForm.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uUpLoadAutoBackUpButton), - "", "", () => - { - //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛� - string msg = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg); - this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - UpLoadBackupInfo(); - }); - }); - menuForm.AddRowMenu("鍒犻櫎澶囦唤", "", "", () => - { - string msg = "纭畾瑕佸垹闄よ嚜鍔ㄥ浠藉悧锛焅r\n(PS:姝ゅ姛鑳藉悗缁細鍒犻櫎)"; - this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - DeleteBackId(); - }); - }); - }; - } - - #endregion - - #region 鈻� 娣诲姞鍒犻櫎鑿滃崟(鏆傛椂,鍚庣画浼氬垹闄�)______ - - /// <summary> - /// 鍒犻櫎澶囦唤(鏆傛椂,鍚庣画浼氬垹闄�) - /// </summary> - private async void DeleteBackId() - { - if (this.m_BackupDeleteClassId == null) - { - return; - } - //杩涘害鏉� - this.ShowProgressBar(); - bool success = await HdlBackupLogic.Current.DeleteDbBackupData(m_BackupDeleteClassId); - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(); - - if (success == false) - { - //鍒犻櫎澶囦唤澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uDeleteBackupFail); - this.ShowMassage(ShowMsgType.Error, msg); - return; - } - - Application.RunOnMainThread(() => - { - this.m_BackupDeleteClassId = null; - - this.InitMiddleFrame(); - }); - } - #endregion - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackupSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackupSettionForm.cs deleted file mode 100755 index 23a4fda..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlAutoBackupSettionForm.cs +++ /dev/null @@ -1,140 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter.HdlBackup -{ - /// <summary> - /// 鑷姩澶囦唤鐨勮缃晫闈� - /// </summary> - public class HdlAutoBackupSettionForm : EditorCommonForm - { - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - public void ShowForm() - { - //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAutoBackupSettion)); - - //鍒濆鍖栦腑閮ㄦ帶浠� - //this.InitMiddleFrame(); - } - - ///// <summary> - ///// 鍒濆鍖栦腑閮ㄦ帶浠� - ///// </summary> - //private void InitMiddleFrame() - //{ - // //娓呯┖bodyFrame - // this.ClearBodyFrame(); - - // //淇℃伅琛� - // var msgRow = new FrameLayout(); - // msgRow.Y = Application.GetRealHeight(40); - // msgRow.Height = ControlCommonResourse.NormalControlHeight; - // bodyFrameLayout.AddChidren(msgRow); - - // //妫�娴嬪埌鏁版嵁鏇存柊,鏄惁闇�瑕佸浠� - // var btnMsg = new RowCenterView(false); - // btnMsg.TextID = R.MyInternationalizationString.uIsHadNotBackupDataOnScan; - // msgRow.AddChidren(btnMsg); - - // //绔嬪嵆澶囦唤(鎺ㄨ崘) - // var statuBackupRow = new StatuRowLayout(); - // statuBackupRow.Y = msgRow.Bottom; - // bodyFrameLayout.AddChidren(statuBackupRow); - // var btnBackup = new RowCenterView(false); - // string txtValue = Language.StringByID(R.MyInternationalizationString.uImmediatelyBackup); - // txtValue += " (" + Language.StringByID(R.MyInternationalizationString.uRecommendation) + ")"; - // btnBackup.Text = txtValue; - // statuBackupRow.AddChidren(btnBackup); - - // statuBackupRow.AddRightArrow(); - // statuBackupRow.MouseUpEvent += (sender, e) => - // { - // //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛� - // string msg = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg); - // this.ShowConfirmMsg(msg, "UpLoadBackupInfo"); - // }; - - // //鏆備笉鎻愰啋 - // var statuNextRow = new StatuRowLayout(); - // statuNextRow.Y = statuBackupRow.Bottom; - // bodyFrameLayout.AddChidren(statuNextRow); - // var btnNext = new RowCenterView(false); - // btnNext.TextID = R.MyInternationalizationString.uTemporaryStopRemind; - // statuNextRow.AddChidren(btnNext); - - // statuNextRow.AddRightArrow(); - // statuNextRow.MouseUpEvent += (sender, e) => - // { - // HdlAutoBackupLogic.SaveBackupNotPrompted(false, 3); - // this.CloseForm(); - // }; - - // //涓嶅啀鎻愮ず - // var statuNotRow = new StatuRowLayout(); - // statuNotRow.Y = statuNextRow.Bottom; - // bodyFrameLayout.AddChidren(statuNotRow); - // var btnNotReminder = new RowCenterView(false); - // btnNotReminder.TextID = R.MyInternationalizationString.uNotPrompted; - // statuNotRow.AddChidren(btnNotReminder); - - // statuNotRow.AddRightArrow(); - // statuNotRow.MouseUpEvent += (sender, e) => - // { - // //纭涓嶅啀鎻愮ず锛� - // string msg = Language.StringByID(R.MyInternationalizationString.uConfirmNotPrompted); - // this.ShowConfirmMsg(msg, "DoNotPrompted"); - // }; - //} - - ///// <summary> - ///// 涓婁紶鏁版嵁 - ///// </summary> - //public void UpLoadBackupInfo() - //{ - // //鍥為伩鐣岄潰鍗℃闂 - // HdlThreadLogic.Current.Run(() => - // { - // //涓婁紶鏁版嵁 - // this.UpLoadBackupInfoAsync(); - // }); - - //} - - ///// <summary> - ///// 涓婁紶鏁版嵁 - ///// </summary> - //public async void UpLoadBackupInfoAsync() - //{ - // int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData(); - // if (result == -1) - // { - // //鏂囦欢涓婁紶澶辫触 - // string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail); - // this.ShowErrorMsg(msg); - - // return; - // } - // //鏁版嵁鎴愬姛涓婁紶鍒版湇鍔″櫒 - // string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg); - // this.ShowMassage(msg2); - - // Application.RunOnMainThread(() => - // { - // this.CloseForm(); - // }); - //} - - ///// <summary> - ///// 鎵ц涓嶅啀鎻愮ず - ///// </summary> - //public void DoNotPrompted() - //{ - // HdlAutoBackupLogic.SaveBackupNotPrompted(true); - // this.CloseForm(); - //} - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs similarity index 62% rename from ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs rename to ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs index 2c0eff2..65888c1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs @@ -1,13 +1,13 @@ -锘縰sing Shared.Common; -using System; +锘縰sing System; using System.Collections.Generic; +using System.Text; namespace Shared.Phone.UserCenter.HdlBackup { /// <summary> - /// 澶囦唤鐢婚潰 + /// 澶囦唤鍒楄〃鐣岄潰 /// </summary> - public class HdlManualBackUpForm : EditorCommonForm + public class HdlBackupListForm : EditorCommonForm { #region 鈻� 鍙橀噺澹版槑___________________________ @@ -26,7 +26,7 @@ public void ShowForm() { //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBackupAndRecover)); + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDataBackup)); //鍙充笂娣诲姞鎸夐挳 var btnTopIcon = new MostRightIconControl(69, 69); @@ -75,30 +75,60 @@ //杩涘害鏉� this.ShowProgressBar(); + //鑾峰彇app鐨勮嚜鍔ㄥ浠� + var autoData = await HdlBackupLogic.Current.GetBackupListNameFromDB(1); + if (autoData == null) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } //浠庝簯绔幏鍙栨暟鎹� var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB(); + if (pageData == null) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + return; + } //鍏抽棴 this.CloseProgressBar(); - if (pageData == null) + HdlThreadLogic.Current.RunMain(() => { - return; - } - - Application.RunOnMainThread(() => - { - if (this.Parent == null || listView == null) + if (this.Parent == null) { return; } listView.RemoveAll(); - int count = pageData.Count - 1; + listView.RecoverHeight(); + //娣诲姞鑷姩澶囦唤琛� + if (autoData.Count == 0) + { + this.AddNotAutoBackupRow(pageData.Count > 0); + } + else + { + this.AddRowlayout(autoData[0], pageData.Count > 0, true); + } + + //鎺掑簭 + var dic = new Dictionary<string, BackupListNameInfo>(); + var listSort = new List<string>(); for (int i = 0; i < pageData.Count; i++) { - //娣诲姞澶囦唤琛� - this.AddRowlayout(pageData[i], i != count); + listSort.Add(pageData[i].CreatedOnUtc); + dic[pageData[i].CreatedOnUtc] = pageData[i]; } + listSort.Sort(); + + for (int i = listSort.Count - 1; i >= 0; i--) + { + //娣诲姞澶囦唤琛� + this.AddRowlayout(dic[listSort[i]], i != 0, false); + } + listView.AdjustRealHeight(Application.GetRealHeight(23)); }); } @@ -110,65 +140,145 @@ /// 娣诲姞澶囦唤琛� /// </summary> /// <param name="fileInfo"></param> - private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine) + private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine, bool autoBack) { //琛� var rowLayout = new RowLayoutControl(listView.rowSpace / 2); listView.AddChidren(rowLayout); + if (autoBack == true) + { + rowLayout.frameTable.UseClickStatu = false; + } //鍥炬爣 var btnPoint = rowLayout.frameTable.AddLeftIcon(); - btnPoint.UnSelectedImagePath = "Center/Backup.png"; + btnPoint.UnSelectedImagePath = "Item/DownLoad.png"; //澶囦唤鍚嶅瓧 - var txtText = rowLayout.frameTable.AddLeftCaption(fileInfo.BackupName, 700); + var txtText = rowLayout.frameTable.AddLeftCaption("", 700, 60); + if (autoBack == true) + { + //鑷姩澶囦唤 + txtText.Text = Language.StringByID(R.MyInternationalizationString.uAutoBackup); + } + else + { + txtText.Text = fileInfo.BackupName; + } + txtText.TextSize = 15; + //杩欎釜鍧愭爣鏈夌偣鐗规畩 + txtText.Y = Application.GetRealHeight(12) + rowLayout.chidrenYaxis; + rowLayout.frameTable.AddChidren(txtText, ChidrenBindMode.BindEventOnly); + //鏃堕棿 + var btnTime = rowLayout.frameTable.AddLeftCaption("", 600, 50, true); + //杩欎釜鍧愭爣鏈夌偣鐗规畩 + btnTime.Y = Application.GetRealHeight(72) + rowLayout.chidrenYaxis; + btnTime.TextSize = 12; + btnTime.TextColor = UserCenterColor.Current.TextGrayColor1; + rowLayout.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly); + if (fileInfo.CreatedOnUtc.Length >= 19) + { + btnTime.Text = fileInfo.CreatedOnUtc.Replace("-", ".").Replace("T", " "); + } if (addLine == true) { //搴曠嚎 rowLayout.frameTable.AddBottomLine(); } - //缂栬緫澶囨敞鍚� - rowLayout.frameTable.ButtonClickEvent += (sender, e) => - { - //鏄剧ず缂栬緫澶囪�冨悕鐢婚潰 - this.ShowEditorBackupForm(fileInfo); - }; - - //涓嬭浇鍥炬爣 - var btnLoad = rowLayout.frameTable.AddMostRightEmptyIcon(81, 81); - rowLayout.frameTable.ChangedChidrenBindMode(btnLoad, ChidrenBindMode.NotBind); - //鍚敤鐐逛寒鍔熻兘 - btnLoad.UseClickStatu = true; - btnLoad.UnSelectedImagePath = "Item/DownLoad.png"; - btnLoad.SelectedImagePath = "Item/DownLoadSelected.png"; + //绔嬪嵆涓嬭浇 + var btnLoad = new NormalViewControl(Application.GetRealWidth(200), rowLayout.frameTable.Height, false); + btnLoad.X = rowLayout.frameTable.Width - Application.GetRealWidth(200 + 127); + btnLoad.TextID = R.MyInternationalizationString.uDownLoadNow; + btnLoad.TextAlignment = TextAlignment.CenterRight; + btnLoad.TextSize = 12; + btnLoad.TextColor = UserCenterColor.Current.TextOrangeColor; + rowLayout.frameTable.AddChidren(btnLoad, ChidrenBindMode.NotBind); btnLoad.ButtonClickEvent += (sender, e) => { //鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛� string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg); this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - //璇诲彇澶囦唤鏂囨。 - this.LoadBackupInfo(fileInfo.Id); - }); + { + //璇诲彇澶囦唤鏂囨。 + this.LoadBackupInfo(fileInfo.Id); + }); }; + if (autoBack == true) + { + //涓婁紶 + var btnUpLoad = rowLayout.AddEditorControl(); + btnUpLoad.TextID = R.MyInternationalizationString.uUpload; + btnUpLoad.ButtonClickEvent += (sender, e) => + { + //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛� + this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg), () => + { + //涓婁紶鑷姩澶囦唤鏁版嵁 + this.UpLoadAutoBackupInfo(); + }); + }; + } + else + { + //缂栬緫澶囨敞鍚� + rowLayout.frameTable.ButtonClickEvent += (sender, e) => + { + //鏄剧ず缂栬緫澶囪�冨悕鐢婚潰 + this.ShowEditorBackupForm(fileInfo); + }; + } + //鍒犻櫎 - var btnDelete = new NormalViewControl(Application.GetRealWidth(177), rowLayout.Height, false); - btnDelete.BackgroundColor = UserCenterColor.Current.RowDeleteButtonColor; - btnDelete.TextAlignment = TextAlignment.Center; - btnDelete.TextColor = UserCenterColor.Current.White; - btnDelete.TextID = R.MyInternationalizationString.uDelete; - rowLayout.AddRightView(btnDelete); + var btnDelete = rowLayout.AddDeleteControl(); btnDelete.ButtonClickEvent += (sender, e) => { - //纭畾瑕佸垹闄ゆ枃浠跺悧锛� - string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteFileMsg); + //纭鍒犻櫎璇ュ浠芥暟鎹�? + string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg); this.ShowMassage(ShowMsgType.Confirm, msg, () => - { - //鍒犻櫎澶囦唤鏂囨。 - this.DeleteBackInfo(fileInfo.Id, ShowErrorMode.YES); - }); + { + //鍒犻櫎澶囦唤鏂囨。 + this.DeleteBackInfo(fileInfo.Id, ShowErrorMode.YES); + }); + }; + } + + /// <summary> + /// 娣诲姞娌℃湁鑷姩澶囦唤鏁版嵁鐨勮 + /// </summary> + /// <param name="addLine"></param> + private void AddNotAutoBackupRow(bool addLine) + { + //琛� + var rowLayout = new RowLayoutControl(listView.rowSpace / 2); + listView.AddChidren(rowLayout); + rowLayout.frameTable.UseClickStatu = false; + + //鍥炬爣 + var btnPoint = rowLayout.frameTable.AddLeftIcon(); + btnPoint.UnSelectedImagePath = "Item/DownLoad.png"; + + //澶囦唤鍚嶅瓧 + var txtText = rowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAutoBackup), 700); + txtText.TextSize = 15; + + if (addLine == true) + { + //搴曠嚎 + rowLayout.frameTable.AddBottomLine(); + } + //涓婁紶 + var btnUpLoad = rowLayout.AddEditorControl(); + btnUpLoad.TextID = R.MyInternationalizationString.uUpload; + btnUpLoad.ButtonClickEvent += (sender, e) => + { + //纭鏄惁涓婁紶鏁版嵁鍒版湇鍔″櫒锛� + this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg), () => + { + //涓婁紶鑷姩澶囦唤鏁版嵁 + this.UpLoadAutoBackupInfo(); + }); }; } @@ -210,7 +320,7 @@ #endregion - #region 鈻� 涓婁紶鏁版嵁___________________________ + #region 鈻� 涓婁紶鎵嬪姩澶囦唤鏁版嵁___________________ /// <summary> /// 涓婁紶鏁版嵁 @@ -253,6 +363,37 @@ }); } + #endregion + + #region 鈻� 涓婁紶鑷姩澶囦唤鏁版嵁___________________ + + /// <summary> + /// 涓婁紶鑷姩澶囦唤鏁版嵁 + /// </summary> + public void UpLoadAutoBackupInfo() + { + HdlThreadLogic.Current.RunThread(async () => + { + int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData(); + if (result == -1) + { + //鏂囦欢涓婁紶澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail); + this.ShowMassage(ShowMsgType.Error, msg); + + return; + } + //鏁版嵁鎴愬姛鍚屾鍒版湇鍔″櫒 + string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg); + this.ShowMassage(ShowMsgType.Normal, msg2); + + HdlThreadLogic.Current.RunThread(() => + { + //浠庝簯绔幏鍙栨暟鎹� + this.SetBackupInfoToForm(); + }); + }); + } #endregion #region 鈻� 缂栬緫澶囦唤鍚嶇О_______________________ @@ -340,8 +481,8 @@ private void ShowEditorBackupForm(BackupListNameInfo fileInfo) { //鐢熸垚涓�涓脊绐楃敾闈� - var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); - + var dialogForm = new DialogInputForm(); + dialogForm.AddForm(DialogFrameMode.OnlyInput); //缂栬緫澶囦唤 dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup)); //璇疯緭鍏ュ娉ㄥ悕绉� @@ -358,7 +499,7 @@ } //鐢婚潰鍏抽棴 - dialogForm.CloseDialog(); + dialogForm.CloseForm(); //鍚嶅瓧涓�鏍锋椂锛屼笉澶勭悊 if (textValue != fileInfo.BackupName) @@ -376,8 +517,8 @@ private void ShowAddBackupForm() { //鐢熸垚涓�涓脊绐楃敾闈� - var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); - + var dialogForm = new DialogInputForm(); + dialogForm.AddForm(DialogFrameMode.OnlyInput); //娣诲姞澶囦唤 dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddBackup)); //璇疯緭鍏ュ娉ㄥ悕绉� @@ -393,7 +534,7 @@ } //鐢婚潰鍏抽棴 - dialogForm.CloseDialog(); + dialogForm.CloseForm(); //涓婁紶澶囦唤 this.UpLoadBackInfo(textValue); @@ -409,7 +550,7 @@ /// </summary> private void CopyLocationAllFileToAutoBackDirectory() { - List<string> listAllFile = Global.FileListByHomeId(); + List<string> listAllFile = Shared.Common.Global.FileListByHomeId(); string strroot = Common.Config.Instance.FullPath; string autoPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupMenuForm.cs deleted file mode 100755 index 5b5f585..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupMenuForm.cs +++ /dev/null @@ -1,113 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter.HdlBackup -{ - /// <summary> - /// 鏁版嵁澶囦唤鐨勮彍鍗曠晫闈� - /// </summary> - public class HdlBackupMenuForm : EditorCommonForm - { - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - public void ShowForm() - { - //璁剧疆澶撮儴淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDataBackup)); - - //鍒濆鍖栦腑閮ㄤ俊鎭� - this.InitMiddleFrame(); - } - - /// <summary> - /// 鍒濆鍖栦腑閮ㄤ俊鎭� - /// </summary> - private void InitMiddleFrame() - { - //娓呯┖bodyFrame - this.ClearBodyFrame(); - - //鍒濆鍖栥�愬悓姝ユ暟鎹�戣 - this.InitAutoBackupRow(); - - //鍒濆鍖栥�愯嚜瀹氫箟澶囦唤銆戣 - this.InitManualBackupRow(); - - //鍒濆鍖栥�愮綉鍏冲浠姐�戣 - //this.InitGatewayBackupRow(); - } - - /// <summary> - /// 鍒濆鍖栥�愬悓姝ユ暟鎹�戣 - /// </summary> - private void InitAutoBackupRow() - { - var rowLayout = new FrameRowControl(); - bodyFrameLayout.AddChidren(rowLayout); - //搴曠嚎 - rowLayout.AddBottomLine(); - - //鑷姩鍚屾鏁版嵁 - var txName = rowLayout.AddLeftCaption("", 800); - txName.TextID = R.MyInternationalizationString.uAppAutoBackup; - - rowLayout.AddRightArrow(); - - rowLayout.ButtonClickEvent += (sender, e) => - { - var form = new HdlAutoBackUpForm(); - form.AddForm(); - }; - } - - /// <summary> - /// 鍒濆鍖栥�愯嚜瀹氫箟澶囦唤銆戣 - /// </summary> - private void InitManualBackupRow() - { - var rowLayout = new FrameRowControl(); - rowLayout.Y = ControlCommonResourse.ListViewRowHeight; - bodyFrameLayout.AddChidren(rowLayout); - //搴曠嚎 - rowLayout.AddBottomLine(); - - //鑷畾涔夊浠� - var txName = rowLayout.AddLeftCaption("", 800); - txName.TextID = R.MyInternationalizationString.uAppManualBackup; - rowLayout.AddChidren(txName); - - rowLayout.AddRightArrow(); - - rowLayout.ButtonClickEvent += (sender, e) => - { - var form = new HdlManualBackUpForm(); - form.AddForm(); - }; - } - - /// <summary> - /// 鍒濆鍖栥�愮綉鍏冲浠姐�戣 - /// </summary> - private void InitGatewayBackupRow() - { - var rowLayout = new FrameRowControl(); - rowLayout.Y = ControlCommonResourse.ListViewRowHeight * 2; - bodyFrameLayout.AddChidren(rowLayout); - - //缃戝叧澶囦唤 - var txName = rowLayout.AddLeftCaption("", 800); - txName.TextID = R.MyInternationalizationString.uGatewayBackup; - rowLayout.AddChidren(txName); - - rowLayout.AddRightArrow(); - - rowLayout.ButtonClickEvent += (sender, e) => - { - var form = new HdlGatewayListBackUpForm(); - form.AddForm(); - }; - } - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs index 2e1e226..a4e7f3b 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs @@ -43,12 +43,19 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberResult.DistributedMark + ".png"); + //鍐欏叆澶村儚鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(iconPath, memberResult.HeadImage); + //澶村儚 - var btnIcon = new PicViewControl(207, 207); - btnIcon.UnSelectedImagePath = "Center/Admin.png"; - btnIcon.Y = Application.GetRealHeight(219); - btnIcon.Gravity = Gravity.CenterHorizontal; - bodyFrameLayout.AddChidren(btnIcon); + var btnUserIcon = new ImageView(); + btnUserIcon.Height = Application.GetMinRealAverage(207); + btnUserIcon.Width = Application.GetMinRealAverage(207); + btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2; + btnUserIcon.ImagePath = iconPath; + btnUserIcon.Y = Application.GetRealHeight(219); + btnUserIcon.Gravity = Gravity.CenterHorizontal; + bodyFrameLayout.AddChidren(btnUserIcon); //鎴愬憳ID var btnUserId = new NormalViewControl(800, 50, true); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs index cbfe08e..6e549ec 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs @@ -15,6 +15,14 @@ /// 鍒楄〃鎺т欢 /// </summary> private VerticalListControl listView = null; + /// <summary> + /// 鎴愬憳澶村儚鎺т欢 + /// </summary> + private Dictionary<string, ImageView> dicIconControl = new Dictionary<string, ImageView>(); + /// <summary> + /// 鎴愬憳鐨勮处鍙�(鑾峰彇澶村儚鐢�) + /// </summary> + private Dictionary<string, string> dicMemberAccount = new Dictionary<string, string>(); #endregion @@ -39,8 +47,15 @@ string msg1 = Language.StringByID(R.MyInternationalizationString.uScanQRcode); menuContr.AddRowMenu(msg1, "Item/ScanQRcodeIcon.png", "Item/ScanQRcodeIconSelected.png", () => { - var form = new AddMemberByIdForm(); - form.AddForm(); + QRCode.ScanQRcode((qrCode) => + { + if (string.IsNullOrEmpty(qrCode) == true) + { + return; + } + //鎼滅储ID + this.SearchMemberInfo(qrCode); + }); }); //杈撳叆璐﹀彿 string msg2 = Language.StringByID(R.MyInternationalizationString.uInputAccount); @@ -86,11 +101,13 @@ bodyFrameLayout.AddChidren(frameBack); //鐢ㄦ埛鍥炬爣 - var btnUserIcon = new PicViewControl(207, 207); - btnUserIcon.Y = Application.GetRealHeight(46); + var btnUserIcon = new ImageView(); + btnUserIcon.Height = Application.GetMinRealAverage(207); + btnUserIcon.Width = Application.GetMinRealAverage(207); btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2; + btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile; + btnUserIcon.Y = Application.GetRealHeight(46); btnUserIcon.Gravity = Gravity.CenterHorizontal; - btnUserIcon.UnSelectedImagePath = "Center/Admin.png"; frameBack.AddChidren(btnUserIcon); //鏄电О @@ -142,7 +159,7 @@ listView.Y = frameBack.Bottom; bodyFrameLayout.AddChidren(listView); - HdlThreadLogic.Current.RunMainInThread(() => + HdlThreadLogic.Current.RunThread(() => { //鎬讳箣鍏堟竻绌哄叡浜枃浠跺す鍑嗘病閿� HdlShardLogic.Current.ClearShardDirectory(); @@ -214,9 +231,11 @@ { return; } - - //娣诲姞鎴愬憳鍒楄〃 - this.AddMemberListRowByData(); + HdlThreadLogic.Current.RunMain(() => + { + //娣诲姞鎴愬憳鍒楄〃 + this.AddMemberListRowByData(); + }); } /// <summary> @@ -238,6 +257,8 @@ } //璋冩暣鍒楄〃鎺т欢鐨勯珮搴� listView.AdjustRealHeight(Application.GetRealHeight(23)); + //鑾峰彇鎴愬憳澶村儚 + this.GetMemberIcon(); } #endregion @@ -257,14 +278,29 @@ listView.AddChidren(rowlayout); //鎴愬憳澶村儚鍥炬爣 - var btnIcon = rowlayout.AddLeftIcon(115); - btnIcon.Radius = (uint)btnIcon.IconSize / 2; - btnIcon.UnSelectedImagePath = "Center/Admin.png"; + string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, info.DistributedMark + ".png"); + var btnIcon = new ImageView(); + btnIcon.X = ControlCommonResourse.XXLeft; + btnIcon.Gravity = Gravity.CenterVertical; + btnIcon.Height = Application.GetMinRealAverage(115); + btnIcon.Width = Application.GetMinRealAverage(115); + btnIcon.Radius = (uint)Application.GetMinRealAverage(115) / 2; + if (System.IO.File.Exists(iconPath) == true) + { + btnIcon.ImagePath = iconPath; + } + else + { + btnIcon.ImagePath = "Center/Admin.png"; + this.dicIconControl[info.DistributedMark] = btnIcon; + this.dicMemberAccount[info.DistributedMark] = info.Account; + } rowlayout.AddChidren(btnIcon); //鎴愬憳鏄电О string memberName = string.IsNullOrEmpty(info.UserName) == true ? info.Account : info.UserName; var btnName = rowlayout.AddLeftCaption(memberName, 600, true); + btnName.X = ControlCommonResourse.XXLeft + btnIcon.Height + Application.GetRealWidth(35); btnName.TextSize = 15; rowlayout.AddChidren(btnName); @@ -280,6 +316,54 @@ var form = new MemberManagementForm(); form.AddForm(info); }; + } + + #endregion + + #region 鈻� 鑾峰彇鎴愬憳澶村儚_______________________ + + /// <summary> + /// 鑾峰彇鎴愬憳澶村儚 + /// </summary> + private void GetMemberIcon() + { + if (dicIconControl.Count == 0) + { + return; + } + HdlThreadLogic.Current.RunThread(async () => + { + var pra = new AccountInfoPra(); + foreach (var keys in dicMemberAccount.Keys) + { + if (this.Parent == null) + { + return; + } + pra.Account = dicMemberAccount[keys]; + var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "NotSetAgain" }); + if (result == null) + { + continue; + } + var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(result)); + if (revertObj == null || revertObj.ResponseData == null) + { + continue; + } + var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString()); + if (infoResult.HeadImage != null) + { + //鍐欏叆澶村儚鍐呭 + string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, keys + ".png"); + Shared.IO.FileUtils.WriteFileByBytes(iconPath, infoResult.HeadImage); + HdlThreadLogic.Current.RunMain(() => + { + dicIconControl[keys].ImagePath = iconPath; + }); + } + } + }); } #endregion @@ -309,6 +393,43 @@ #endregion + #region 鈻� 鎼滅储ID_____________________________ + + /// <summary> + /// 鎼滅储鎸囧畾ID鐨勪俊鎭� + /// </summary> + /// <param name="accountId">鎴愬憳ID</param> + /// <param name="txtMsg">淇℃伅鎺т欢</param> + private async void SearchMemberInfo(string accountId) + { + var pra = new AccountInfoPra(); + pra.Account = accountId; + string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "AccountNoExists" }); + if (result == null) + { + //寮傚父 + return; + } + if (result == string.Empty) + { + //鎴愬憳涓嶅瓨鍦� + var form = new MemberNotEsixtForm(); + form.AddForm(); + return; + } + + var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(result); + infoResult.Account = accountId; + + Application.RunOnMainThread(() => + { + var form = new AddMemberInfoForm(); + form.AddForm(infoResult); + }); + } + + #endregion + #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________ /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs index 0bf877c..0b8607f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberManagementForm.cs @@ -1,4 +1,6 @@ 锘縰sing System; +using System.Collections.Generic; + namespace Shared.Phone.UserCenter.Member { /// <summary> @@ -112,11 +114,24 @@ bodyFrameLayout.AddChidren(frame); //鐢ㄦ埛鍥炬爣 - var btnUserIcon = new PicViewControl(207, 207); + string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberInfo.DistributedMark + ".png"); + var btnUserIcon = new ImageView(); + btnUserIcon.Height = Application.GetMinRealAverage(207); + btnUserIcon.Width = Application.GetMinRealAverage(207); + btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2; + if (System.IO.File.Exists(iconPath) == true) + { + btnUserIcon.ImagePath = iconPath; + } + else + { + btnUserIcon.ImagePath = "Center/Admin.png"; + } btnUserIcon.Y = Application.GetRealHeight(45); btnUserIcon.Gravity = Gravity.CenterHorizontal; - btnUserIcon.UnSelectedImagePath = "Center/Admin.png"; frame.AddChidren(btnUserIcon); + //鑾峰彇鎴愬憳澶村儚 + this.GetMemberIcon(btnUserIcon); //鏉冮檺 btnAuthority = new NormalViewControl(800, 50, true); @@ -361,6 +376,43 @@ #endregion + #region 鈻� 鑾峰彇鎴愬憳澶村儚_______________________ + + /// <summary> + /// 鑾峰彇鎴愬憳澶村儚 + /// </summary> + private void GetMemberIcon(ImageView btnUserIcon) + { + HdlThreadLogic.Current.RunThread(async () => + { + var pra = new AccountInfoPra(); + pra.Account = memberInfo.Account; + var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "NotSetAgain" }); + if (result == null) + { + return; + } + var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(result)); + if (revertObj == null || revertObj.ResponseData == null) + { + return; + } + var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString()); + if (infoResult.HeadImage != null) + { + //鍐欏叆澶村儚鍐呭 + string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, memberInfo.DistributedMark + ".png"); + Shared.IO.FileUtils.WriteFileByBytes(iconPath, infoResult.HeadImage); + HdlThreadLogic.Current.RunMain(() => + { + btnUserIcon.ImagePath = iconPath; + }); + } + }); + } + + #endregion + #region 鈻� 缁撴瀯浣揰____________________________ /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs index 3800429..bc68e08 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorGesturePasswordForm.cs @@ -146,10 +146,8 @@ pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uGestureNotEqual)); return; } - UserCenterResourse.Option.GestureAuthentication = i_Psw; - UserCenterResourse.Option.Save(); - //鍏抽棴鐣岄潰 - this.CloseForm(); + //淇濆瓨瀵嗙爜 + this.SaveSecondaryPassword(pswControl, i_Psw); } else if (formMode == FormMode.A楠岃瘉鍓嶅洖瀵嗙爜) { @@ -176,6 +174,12 @@ } else if (formMode == FormMode.A淇敼瀵嗙爜) { + if (i_Psw == UserCenterResourse.Option.GestureAuthentication) + { + //鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷达紝璇烽噸鏂拌緭鍏� + pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uNewPswAndOldPswIsEqual)); + return; + } if (pswLength <= 4) { //鎵嬪娍瀵嗙爜闀垮害蹇呴』澶т簬4 @@ -196,10 +200,8 @@ pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uGestureNotEqual)); return; } - UserCenterResourse.Option.GestureAuthentication = i_Psw; - UserCenterResourse.Option.Save(); - //鍏抽棴鐣岄潰 - this.CloseForm(); + //淇濆瓨瀵嗙爜 + this.SaveSecondaryPassword(pswControl, i_Psw); } } @@ -218,6 +220,50 @@ #endregion + #region 鈻� 淇濆瓨瀵嗙爜___________________________ + + /// <summary> + /// 淇濆瓨瀵嗙爜 + /// </summary> + /// <param name="contr">鎺т欢</param> + /// <param name="psw">瀵嗙爜</param> + private void SaveSecondaryPassword(PswGestureInputControl contr, string psw) + { + HdlThreadLogic.Current.RunThread(async () => + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + var pra = new + { + RequestVersion = Common.CommonPage.RequestVersion, + LoginAccessToken = Common.Config.Instance.Token, + GesturePwd = psw, + StringPwd = UserCenterResourse.Option.PswAuthentication + }; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdatEexpandPwd", false, pra); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + + if (result == false) + { + contr.SetErrorMsg(string.Empty); + } + else + { + UserCenterResourse.Option.GestureAuthentication = psw; + UserCenterResourse.Option.Save(); + + HdlThreadLogic.Current.RunMain(() => + { + //鐣岄潰鍏抽棴 + this.CloseForm(); + }); + } + }); + } + + #endregion + #region 鈻� 鐣岄潰鍏抽棴___________________________ /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs index 074ea87..1083b47 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs @@ -137,10 +137,8 @@ pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual2)); return; } - UserCenterResourse.Option.PswAuthentication = i_Psw; - UserCenterResourse.Option.Save(); - //鍏抽棴鐣岄潰 - this.CloseForm(); + //淇濆瓨瀵嗙爜 + this.SaveSecondaryPassword(pswControl, i_Psw); } else if (formMode == FormMode.A楠岃瘉鍓嶅洖瀵嗙爜) { @@ -167,6 +165,12 @@ } else if (formMode == FormMode.A淇敼瀵嗙爜) { + if (i_Psw == UserCenterResourse.Option.PswAuthentication) + { + //鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷达紝璇烽噸鏂拌緭鍏� + pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uNewPswAndOldPswIsEqual)); + return; + } //杈撳叆浜屾瀵嗙爜 this.firstPssword = i_Psw; formMode = FormMode.A纭淇敼瀵嗙爜; @@ -180,10 +184,8 @@ pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual2)); return; } - UserCenterResourse.Option.PswAuthentication = i_Psw; - UserCenterResourse.Option.Save(); - //鍏抽棴鐣岄潰 - this.CloseForm(); + //淇濆瓨瀵嗙爜 + this.SaveSecondaryPassword(pswControl, i_Psw); } } @@ -202,6 +204,50 @@ #endregion + #region 鈻� 淇濆瓨瀵嗙爜___________________________ + + /// <summary> + /// 淇濆瓨瀵嗙爜 + /// </summary> + /// <param name="contr">鎺т欢</param> + /// <param name="psw">瀵嗙爜</param> + private void SaveSecondaryPassword(PswNumberInputControl contr, string psw) + { + HdlThreadLogic.Current.RunThread(async () => + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + var pra = new + { + RequestVersion = Common.CommonPage.RequestVersion, + LoginAccessToken = Common.Config.Instance.Token, + GesturePwd = UserCenterResourse.Option.GestureAuthentication, + StringPwd = psw + }; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdatEexpandPwd", false, pra); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + + if (result == false) + { + contr.SetErrorMsg(string.Empty); + } + else + { + UserCenterResourse.Option.PswAuthentication = psw; + UserCenterResourse.Option.Save(); + + HdlThreadLogic.Current.RunMain(() => + { + //鐣岄潰鍏抽棴 + this.CloseForm(); + }); + } + }); + } + + #endregion + #region 鈻� 缁撴瀯浣揰____________________________ /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs index 51dfaf3..d5c6847 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs @@ -38,15 +38,19 @@ //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Common.Config.Instance.Home.FloorDics[i_floor]); - var btnIcon = new MostRightIconControl(69, 69); - btnIcon.UnSelectedImagePath = "Item/Add.png"; - topFrameLayout.AddChidren(btnIcon); - btnIcon.InitControl(); - btnIcon.ButtonClickEvent += ((sender, e) => + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { - var form = new AddNewRoomForm(); - form.AddForm(i_floor); - }); + var btnIcon = new MostRightIconControl(69, 69); + btnIcon.UnSelectedImagePath = "Item/Add.png"; + topFrameLayout.AddChidren(btnIcon); + btnIcon.InitControl(); + btnIcon.ButtonClickEvent += ((sender, e) => + { + var form = new AddNewRoomForm(); + form.AddForm(i_floor); + }); + } //鍒濆鍖栦腑閮ㄤ俊鎭� this.InitMiddleFrame(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs index 06aa559..1246bf1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/LookRoomSettionForm.cs @@ -186,12 +186,28 @@ { var frameContr = new FrameLayout(); frameContr.Height = Application.GetRealHeight(470); + frameContr.Gravity = Gravity.CenterHorizontal; listView.AddChidrenFrame(frameContr); + //鍦烘櫙鍥剧墖 - var btnPic = new PicViewControl(878, 470, true); - btnPic.Gravity = Gravity.CenterHorizontal; - btnPic.UnSelectedImagePath = data.IconPath; + var btnPic = new ImageView(); + btnPic.X = Application.GetRealWidth(179); + btnPic.Width = Application.GetRealWidth(844); + btnPic.Height = Application.GetRealHeight(420); + btnPic.ImagePath = data.IconPath; + btnPic.Radius = 17; frameContr.AddChidren(btnPic); + + var btnName = new NormalViewControl(251, 282, true); + btnName.X = ControlCommonResourse.XXLeft; + btnName.Gravity = Gravity.CenterVertical; + btnName.BackgroundColor = 0xff333333; + btnName.Radius = 17; + btnName.Text = data.Name; + btnName.TextSize = 15; + btnName.TextColor = UserCenterColor.Current.White; + btnName.TextAlignment = TextAlignment.Center; + frameContr.AddChidren(btnName); } }); } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs index 00f1d1d..99aac4c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceListForm.cs @@ -264,7 +264,8 @@ private void ShowEditorNameForm(Common.ResponseEntity.ResidenceObj info, NormalViewControl btnHome) { //鐢熸垚涓�涓脊绐楃敾闈� - var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); + var dialogForm = new DialogInputForm(); + dialogForm.AddForm(DialogFrameMode.OnlyInput); //缂栬緫浣忓畢 dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedName)); //璇疯緭鍏ヤ綇瀹呭悕绉� @@ -282,7 +283,7 @@ return; } //鐢婚潰鍏抽棴 - dialogForm.CloseDialog(); + dialogForm.CloseForm(); if (info.Name != textValue) { @@ -340,7 +341,8 @@ private void ShowAddNameForm() { //鐢熸垚涓�涓脊绐楃敾闈� - var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); + var dialogForm = new DialogInputForm(); + dialogForm.AddForm(DialogFrameMode.OnlyInput); //鍒涘缓浣忓畢 dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatResidence)); //璇疯緭鍏ヤ綇瀹呭悕绉� @@ -356,7 +358,7 @@ return; } //鐢婚潰鍏抽棴 - dialogForm.CloseDialog(); + dialogForm.CloseForm(); //淇濆瓨浣忓畢 this.AddNewResidence(textValue); @@ -545,29 +547,6 @@ /// ZigbeeHomeGuid /// </summary> public string Id = string.Empty; - } - - /// <summary> - /// 缂栬緫浣忓畢鐨勫惎鍔ㄥ弬鏁� - /// </summary> - public class EditorResidencePra : 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 = ""; - /// <summary> - /// Name - /// </summary> - public string Name = string.Empty; } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs index 434417d..da559e5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs @@ -68,6 +68,7 @@ rowHome.Height = Application.GetRealHeight(173); rowHome.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(rowHome); + rowHome.frameTable.UseClickStatu = false; var btnAdreeIcon = rowHome.frameTable.AddLeftIcon(81); btnAdreeIcon.UnSelectedImagePath = "Item/FixedPositionSelected.png"; @@ -83,8 +84,36 @@ btnNowView.Y = Application.GetRealHeight(95); btnNowView.TextColor = UserCenterColor.Current.TextGrayColor1; rowHome.frameTable.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly); - //鍙崇澶� - rowHome.frameTable.AddRightArrow(); + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鍙崇澶� + rowHome.frameTable.AddRightArrow(); + } + //缁忕含搴� + var btnLocation = rowHome.frameTable.AddMostRightView(string.Empty, 500); + btnLocation.Text = this.GetLatitudeAndLongitudeText(Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude); + + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + rowHome.frameTable.UseClickStatu = true; + rowHome.frameTable.ButtonClickEvent += (sender, e) => + { + //榛樿鍊� 23.134421,113.267189 + double latitude = Common.Config.Instance.Home.Latitude; + double longitude = Common.Config.Instance.Home.Longitude; + //鍦板浘 + GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => + { + HdlThreadLogic.Current.RunThread(() => + { + //淇濆瓨浣忓畢鍦板潃 + this.SaveResidenceAdrress(btnLocation, mLatitude, mLongitude); + }); + }, Language.StringByID(R.MyInternationalizationString.uSelectAdrress), true, latitude, longitude, 100); + }; + } if (i_CanDeleteResidence == true) { @@ -375,7 +404,8 @@ private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName) { //鐢熸垚涓�涓脊绐楃敾闈� - var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); + var dialogForm = new DialogInputForm(); + dialogForm.AddForm(DialogFrameMode.OnlyInput); //鍒涘缓妤煎眰 dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatFloor)); if (keys != string.Empty) @@ -396,7 +426,7 @@ return; } //鐢婚潰鍏抽棴 - dialogForm.CloseDialog(); + dialogForm.CloseForm(); if (floorName != textValue) { //缂栬緫鎴栬�呭垱寤烘ゼ灞傚悕绉� @@ -623,6 +653,61 @@ #endregion + #region 鈻� 淇濆瓨浣忓畢鍦板浘鍦板潃___________________ + + /// <summary> + /// 淇濆瓨浣忓畢鍦板潃 + /// </summary> + /// <param name="btnLocation">鏄剧ず鎺т欢</param> + /// <param name="latitude">绾害</param> + /// <param name="longitude">缁忓害</param> + private async void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude) + { + //寮�鍚繘搴︽潯 + this.ShowProgressBar(); + + var Pra = new EditorResidencePra(); + Pra.HomeId = Common.Config.Instance.Home.Id; + Pra.Name = Common.Config.Instance.Home.Name; + Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + Pra.Latitude = latitude; + Pra.Longitude = longitude; + + //缂栬緫浣忓畢 + bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", true, Pra); + if (flage == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + //璁剧疆鍏ㄩ儴缃戝叧鐨勪綇瀹呭湴鍧� + var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway(); + foreach (var gateway in listGateway) + { + var result = HdlGatewayLogic.Current.SetGatewaySite(gateway, longitude, latitude); + if (result == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } + + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + //淇濆瓨缂撳瓨 + Common.Config.Instance.Home.Longitude = longitude; + Common.Config.Instance.Home.Latitude = latitude; + Common.Config.Instance.Home.Save(); + HdlThreadLogic.Current.RunMain(() => + { + btnLocation.Text = this.GetLatitudeAndLongitudeText(longitude, latitude); + }); + } + + #endregion + #region 鈻� 涓�鑸柟娉昣__________________________ /// <summary> @@ -674,6 +759,50 @@ return true; } + /// <summary> + /// 鑾峰彇缁忕含搴︾殑缈昏瘧鍚嶅瓧 + /// </summary> + /// <param name="Longitude">缁忓害</param> + /// <param name="Latitude">绾害</param> + /// <returns></returns> + private string GetLatitudeAndLongitudeText(double Longitude, double Latitude) + { + string value1 = string.Empty; + string value2 = string.Empty; + if (Longitude == 0) + { + //榛樿涓滅粡 + value1 = "0掳00'E"; + } + else if (Longitude > 0) + { + //涓滅粡 + value1 = Math.Round(Longitude, 2).ToString().Replace(".", "掳") + "'E"; + } + else if (Longitude < 0) + { + //瑗跨粡 + value1 = Math.Round(-Longitude, 2).ToString().Replace(".", "掳") + "'W"; + } + + if (Latitude == 0) + { + //榛樿鍖楃含 + value2 = "0掳00'N"; + } + else if (Latitude > 0) + { + //鍖楃含 + value2 = Math.Round(Latitude, 2).ToString().Replace(".", "掳") + "'N"; + } + else if (Latitude < 0) + { + //鍗楃含 + value2 = Math.Round(-Latitude, 2).ToString().Replace(".", "掳") + "'S"; + } + return value1 + " " + value2; + } + #endregion #region 鈻� 缁撴瀯浣揰____________________________ diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs index c8f6761..14721c3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectCurtainForm.cs @@ -210,7 +210,11 @@ btnOpen.TextColor = UserCenterColor.Current.TextColor1; seekBar.Enable = true; seekBar.ProgressColor = 0xfffdb500; - + if (seekBar.Progress == 0) + { + seekBar.Progress = 100; + btnPersent.Text = "100%"; + } //鍏� 涓嶅彲鐢� btnClose.TextColor = UserCenterColor.Current.TextGrayColor3; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs index 6a06cc5..4f2c30f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectLightForm.cs @@ -210,6 +210,11 @@ btnOpen.TextColor = UserCenterColor.Current.TextColor1; seekBar.Enable = true; seekBar.ProgressColor = 0xfffdb500; + if (seekBar.Progress == 0) + { + seekBar.Progress = 100; + btnPersent.Text = "100%"; + } //鍏� 涓嶅彲鐢� btnClose.TextColor = UserCenterColor.Current.TextGrayColor3; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs index 86513a8..702fbec 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddContactForm.cs @@ -42,6 +42,12 @@ btnIcon.InitControl(); btnIcon.ButtonClickEvent += ((sender, e) => { + Contacts.ContactAction = (phoneName, phoneNum) => + { + //淇濆瓨鑱旂郴浜� + this.SaveCoercePhoneNumber("86", phoneNum, phoneName); + }; + Contacts.Open(); }); //鍒濆鍖栦腑閮ㄤ俊鎭� @@ -153,13 +159,16 @@ /// </summary> /// <param name="areaCode"></param> /// <param name="phoneNum"></param> + /// <param name="strNote"></param> private async void SaveCoercePhoneNumber(string areaCode, string phoneNum, string strNote) { - Dictionary<string, string> dicPhone = new Dictionary<string, string>(); - dicPhone[phoneNum] = areaCode; + var listPhone = new List<string>(); + listPhone.Add(areaCode + "-" + phoneNum); + var listNote = new List<string>(); + listNote.Add(strNote); //鍙樻洿 - var result = await HdlSafeguardLogic.Current.SetCoercePhoneNumber(dicPhone); + var result = await HdlSafeguardLogic.Current.SetCoercePhoneNumber(listPhone, listNote); if (result == false) { return; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs index e354820..f00d28f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswAddNewForm.cs @@ -66,8 +66,6 @@ string msg = this.CheckPassword(firstPsw, pssword); if (msg != string.Empty) { - //璇烽噸澶嶈緭鍏ユ柊鑳佽揩瀵嗙爜 - pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewCoercePassword)); //璁剧疆閿欒淇℃伅 pswControl.SetErrorMsg(msg); return; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs index 8249786..9968b1e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/CoercePswEditorForm.cs @@ -193,11 +193,32 @@ /// <param name="data"></param> private void AddPhoneNumRowLayout(VerticalListControl listview, ZigBee.Device.Safeguard.PushTargetInfo data) { + var strArry = data.PushNumber.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries); + if (strArry.Length != 2) + { + return; + } + string areaCode2 = strArry[0]; + string phoneNum = strArry[1]; + + string strPhone = "+" + areaCode2 + " " + phoneNum; + if (phoneNum.Length >= 11) + { + phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 7, '*') + phoneNum.Substring(phoneNum.Length - 4, 4); + strPhone = "+" + areaCode2 + " " + phoneNum; + } + else if (phoneNum.Length >= 5) + { + //鎴栬杩欐槸鍥藉鐨勬墜鏈哄惂 + phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 5, '*') + phoneNum.Substring(phoneNum.Length - 2, 2); + strPhone = "+" + areaCode2 + " " + phoneNum; + } + var rowContact = new RowLayoutControl(); rowContact.frameTable.UseClickStatu = false; listview.AddChidren(rowContact); //鑱旂郴鏂瑰紡 - rowContact.frameTable.AddLeftCaption("+" + data.PushNumber.Replace("-", " "), 800); + rowContact.frameTable.AddLeftCaption(strPhone + " (" + data.PushNumberNote + ")", 800); rowContact.frameTable.AddBottomLine(); //鍒犻櫎 var btnDetete = rowContact.AddDeleteControl(); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs index 7eead35..50a2a5a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs @@ -68,8 +68,6 @@ string msg = this.CheckPassword(firstPsw, pssword); if (msg != string.Empty) { - //璇烽噸澶嶈緭鍏ユ柊瀹夐槻瀵嗙爜 - pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewSafetyPassword)); //璁剧疆閿欒淇℃伅 pswControl.SetErrorMsg(msg); return; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordRefreshMsgForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordRefreshMsgForm.cs deleted file mode 100755 index 7777241..0000000 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordRefreshMsgForm.cs +++ /dev/null @@ -1,39 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter.Safety -{ - /// <summary> - /// 瀹夐槻瀵嗙爜淇敼瀹屾垚鍚庯紝鎻愮ず宸茬粡鏇存柊鐨勭敾闈� - /// </summary> - public class PasswordRefreshMsgForm : EditorCommonForm - { - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) - /// </summary> - /// <param name="msg">鎻愮ず淇℃伅</param> - public void ShowForm(string msg) - { - //璁剧疆澶撮儴淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedPassword)); - - var txtMsg = new NormalViewControl(1000, true); - txtMsg.Y = Application.GetRealHeight(320); - txtMsg.Text = msg; - txtMsg.Gravity = Gravity.CenterHorizontal; - txtMsg.TextAlignment = TextAlignment.Center; - bodyFrameLayout.AddChidren(txtMsg); - - HdlThreadLogic.Current.RunThread(() => - { - //浜旂鍚庡叧闂敾闈� - System.Threading.Thread.Sleep(5000); - Application.RunOnMainThread(() => - { - this.CloseForm(); - }); - }); - } - } -} diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs index ae802ca..5cf9e10 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs @@ -198,16 +198,33 @@ //鍦烘櫙鍥剧墖 var frameContr = new FrameLayoutControl(); frameContr.UseClickStatu = false; - frameContr.Width = Application.GetRealWidth(878); - frameContr.Height = Application.GetRealHeight(440); - frameContr.Gravity = Gravity.CenterHorizontal; - frameContr.BackgroundImagePath = data.IconPath; + frameContr.Height = Application.GetRealHeight(470); listView.AddChidrenFrame(frameContr); + + //鍦烘櫙鍥剧墖 + var btnPic = new ImageView(); + btnPic.X = Application.GetRealWidth(179); + btnPic.Width = Application.GetRealWidth(844); + btnPic.Height = Application.GetRealHeight(420); + btnPic.ImagePath = data.IconPath; + btnPic.Radius = 17; + frameContr.AddChidren(btnPic); + + var btnName = new NormalViewControl(251, 282, true); + btnName.X = ControlCommonResourse.XXLeft; + btnName.Gravity = Gravity.CenterVertical; + btnName.BackgroundColor = 0xff333333; + btnName.Radius = 17; + btnName.Text = data.Name; + btnName.TextSize = 15; + btnName.TextColor = UserCenterColor.Current.White; + btnName.TextAlignment = TextAlignment.Center; + frameContr.AddChidren(btnName); var btnSelect = new IconViewControl(58); btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png"; btnSelect.SelectedImagePath = "Item/ItemSelected.png"; - btnSelect.X = Application.GetRealWidth(786); + btnSelect.X = Application.GetRealWidth(887); btnSelect.Y = Application.GetRealHeight(35); frameContr.AddChidren(btnSelect, ChidrenBindMode.BindEventOnly); if (dicSelectScene.ContainsKey(data.Id) == true) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs index 8293b3d..82a86d1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs @@ -181,16 +181,33 @@ //鍦烘櫙鍥剧墖 var frameContr = new FrameLayoutControl(); frameContr.UseClickStatu = false; - frameContr.Width = Application.GetRealWidth(878); - frameContr.Height = Application.GetRealHeight(440); - frameContr.Gravity = Gravity.CenterHorizontal; - frameContr.BackgroundImagePath = data.IconPath; + frameContr.Height = Application.GetRealHeight(470); listView.AddChidrenFrame(frameContr); + + //鍦烘櫙鍥剧墖 + var btnPic = new ImageView(); + btnPic.X = Application.GetRealWidth(179); + btnPic.Width = Application.GetRealWidth(844); + btnPic.Height = Application.GetRealHeight(420); + btnPic.ImagePath = data.IconPath; + btnPic.Radius = 17; + frameContr.AddChidren(btnPic); + + var btnName = new NormalViewControl(251, 282, true); + btnName.X = ControlCommonResourse.XXLeft; + btnName.Gravity = Gravity.CenterVertical; + btnName.BackgroundColor = 0xff333333; + btnName.Radius = 17; + btnName.Text = data.Name; + btnName.TextSize = 15; + btnName.TextColor = UserCenterColor.Current.White; + btnName.TextAlignment = TextAlignment.Center; + frameContr.AddChidren(btnName); var btnSelect = new IconViewControl(58); btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png"; btnSelect.SelectedImagePath = "Item/ItemSelected.png"; - btnSelect.X = Application.GetRealWidth(786); + btnSelect.X = Application.GetRealWidth(887); btnSelect.Y = Application.GetRealHeight(35); frameContr.AddChidren(btnSelect, ChidrenBindMode.BindEventOnly); if (dicSelectScene.ContainsKey(data.Id) == true) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs index f6a1ded..39e8883 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Suggestion/FeedbackForm.cs @@ -11,6 +11,15 @@ { #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// 0:Bug銆�1:浼樺寲銆�2:鏂伴渶姹� + /// </summary> + private int typeMode = 0; + /// <summary> + /// 鎰忚鍙嶉鍓╀綑娆℃暟 + /// </summary> + private int suggestionCount = 3; + #endregion #region 鈻� 鍒濆鍖朹____________________________ @@ -35,18 +44,249 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + //鎻愪氦 + var btnSubmit = new BottomClickButton(); + var frameInput = new FrameLayout(); frameInput.Height = Application.GetRealHeight(576); frameInput.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(frameInput); - var txtInput = new TextInputControl(bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2, Application.GetRealHeight(473), false); + //瀛楁暟 + var btnFild = new NormalViewControl(120, 60, true); + btnFild.X = frameInput.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(80); + btnFild.Y = Application.GetRealHeight(503); + btnFild.TextColor = UserCenterColor.Current.TextGrayColor1; + btnFild.TextSize = 12; + btnFild.Text = "500"; + btnFild.TextAlignment = TextAlignment.CenterRight; + frameInput.AddChidren(btnFild); + + //鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂� + var txtInput = new TextInputControl(bodyFrameLayout.Width - ControlCommonResourse.XXLeft * 2, Application.GetRealHeight(470), false); + txtInput.Y = Application.GetRealHeight(32); + txtInput.TextAlignment = TextAlignment.TopLeft; + txtInput.Gravity = Gravity.CenterHorizontal; + txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uYouSuggestionMsg); + frameInput.AddChidren(txtInput); + txtInput.TextChangeEventHandler += (sender, txtvalue) => + { + if (this.suggestionCount <= 0) + { + return; + } + + int length = txtvalue.Length; + if (length > 500) + { + if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; } + btnFild.Text = "0"; + return; + } + if (length == 0) + { + if (btnSubmit.CanClick == true) { btnSubmit.CanClick = false; } + } + else + { + if (btnSubmit.CanClick == false) { btnSubmit.CanClick = true; } + } + btnFild.Text = (500 - length).ToString(); + }; + var framType = new FrameLayout(); + framType.Height = Application.GetRealHeight(150); + framType.Y = frameInput.Bottom + Application.GetRealHeight(23); + framType.BackgroundColor = UserCenterColor.Current.White; + bodyFrameLayout.AddChidren(framType); + + IconViewControl btnBugIcon = null; + IconViewControl btnOptimizationIcon = null; + IconViewControl btnDemandIcon = null; + + //鍙嶉绫诲瀷 + var btnType = new NormalViewControl(220, 60, true); + btnType.X = ControlCommonResourse.XXLeft; + btnType.Gravity = Gravity.CenterVertical; + btnType.TextID = R.MyInternationalizationString.uSuggestionType; + framType.AddChidren(btnType); + //Bug + var frameBug = new FrameLayoutControl(); + frameBug.UseClickStatu = false; + frameBug.Width = Application.GetRealWidth(200); + frameBug.X = Application.GetRealWidth(314); + framType.AddChidren(frameBug); + btnBugIcon = new IconViewControl(58); + btnBugIcon.UnSelectedImagePath = "Item/ItemUnSelected.png"; + btnBugIcon.SelectedImagePath = "Item/ItemSelected.png"; + btnBugIcon.Gravity = Gravity.CenterVertical; + frameBug.AddChidren(btnBugIcon); + btnBugIcon.IsSelected = true; + var btnBug = new NormalViewControl(140, 60, true); + btnBug.X = btnBugIcon.Right + Application.GetRealWidth(12); + btnBug.TextColor = UserCenterColor.Current.TextGrayColor3; + btnBug.Gravity = Gravity.CenterVertical; + btnBug.Text = "Bug"; + frameBug.AddChidren(btnBug); + frameBug.ButtonClickEvent += (sender, e) => + { + if (btnBugIcon.IsSelected == false) + { + btnBugIcon.IsSelected = true; + btnOptimizationIcon.IsSelected = false; + btnDemandIcon.IsSelected = false; + this.typeMode = 0; + } + }; + //浼樺寲 + var frameOptimization = new FrameLayoutControl(); + frameOptimization.UseClickStatu = false; + frameOptimization.Width = Application.GetRealWidth(200); + frameOptimization.X = Application.GetRealWidth(524); + framType.AddChidren(frameOptimization); + btnOptimizationIcon = new IconViewControl(58); + btnOptimizationIcon.UnSelectedImagePath = "Item/ItemUnSelected.png"; + btnOptimizationIcon.SelectedImagePath = "Item/ItemSelected.png"; + btnOptimizationIcon.Gravity = Gravity.CenterVertical; + frameOptimization.AddChidren(btnOptimizationIcon); + var btnOptimization = new NormalViewControl(140, 60, true); + btnOptimization.X = btnOptimizationIcon.Right + Application.GetRealWidth(12); + btnOptimization.TextColor = UserCenterColor.Current.TextGrayColor3; + btnOptimization.Gravity = Gravity.CenterVertical; + btnOptimization.TextID = R.MyInternationalizationString.uOptimization; + frameOptimization.AddChidren(btnOptimization); + frameOptimization.ButtonClickEvent += (sender, e) => + { + if (btnOptimizationIcon.IsSelected == false) + { + btnOptimizationIcon.IsSelected = true; + + btnBugIcon.IsSelected = false; + btnDemandIcon.IsSelected = false; + this.typeMode = 1; + } + }; + //鏂伴渶姹� + var frameDemand = new FrameLayoutControl(); + frameDemand.UseClickStatu = false; + frameDemand.Width = Application.GetRealWidth(200); + frameDemand.X = Application.GetRealWidth(734); + framType.AddChidren(frameDemand); + btnDemandIcon = new IconViewControl(58); + btnDemandIcon.UnSelectedImagePath = "Item/ItemUnSelected.png"; + btnDemandIcon.SelectedImagePath = "Item/ItemSelected.png"; + btnDemandIcon.Gravity = Gravity.CenterVertical; + frameDemand.AddChidren(btnDemandIcon); + var btnDemand = new NormalViewControl(140, 60, true); + btnDemand.X = btnDemandIcon.Right + Application.GetRealWidth(12); + btnDemand.TextColor = UserCenterColor.Current.TextGrayColor3; + btnDemand.Gravity = Gravity.CenterVertical; + btnDemand.TextID = R.MyInternationalizationString.uNewDemand; + frameDemand.AddChidren(btnDemand); + frameDemand.ButtonClickEvent += (sender, e) => + { + if (btnDemandIcon.IsSelected == false) + { + btnDemandIcon.IsSelected = true; + + btnBugIcon.IsSelected = false; + btnOptimizationIcon.IsSelected = false; + this.typeMode = 2; + } + }; + + var frameEmail = new FrameLayout(); + frameEmail.Height = Application.GetRealHeight(150); + frameEmail.BackgroundColor = UserCenterColor.Current.White; + frameEmail.Y = framType.Bottom + Application.GetRealHeight(23); + bodyFrameLayout.AddChidren(frameEmail); + //閭鍦板潃 + var btnEmail = new NormalViewControl(220, 60, true); + btnEmail.X = ControlCommonResourse.XXLeft; + btnEmail.Gravity = Gravity.CenterVertical; + btnEmail.TextID = R.MyInternationalizationString.uEmailAddress; + frameEmail.AddChidren(btnEmail); + var txtEmail = new TextInputControl(500, 60, true); + txtEmail.X = Application.GetRealWidth(314); + txtEmail.Gravity = Gravity.CenterVertical; + txtEmail.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputYouEmailAddress); + frameEmail.AddChidren(txtEmail); + + //鎻愪氦 + btnSubmit.oldBackgroundColor = UserCenterColor.Current.ClickButtonDefultColor; + btnSubmit.TextID = R.MyInternationalizationString.uSubmit; + bodyFrameLayout.AddChidren(btnSubmit); + btnSubmit.CanClick = false; + btnSubmit.ButtonClickEvent += (sender, e) => + { + //涓婁紶鎰忚 + this.UploadSuggestion(txtInput.Text, txtEmail.Text); + }; + + + var strFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Common.Config.Instance.Guid, DirNameResourse.SuggestionFile); + if (System.IO.File.Exists(strFile) == false) + { + return; + } + var data = UserCenterLogic.LoadFileContent(strFile); + if (data != null) + { + var strNowData = DateTime.Now.ToString("yyyyMMdd"); + if (strNowData != data.Substring(1)) + { + this.suggestionCount = 3; + return; + } + //鍓╀綑娆℃暟 + this.suggestionCount = Convert.ToInt32(data.Substring(0, 1)); + if (this.suggestionCount <= 1) + { + btnSubmit.TextID = R.MyInternationalizationString.uSubmitCountIsOverMsg; + } + } } #endregion - #region 鈻� 涓�鑸柟娉昣__________________________ + #region 鈻� 涓婁紶鎰忚___________________________ + + /// <summary> + /// 涓婁紶鎰忚 + /// </summary> + /// <param name="strContent"></param> + /// <param name="email"></param> + private void UploadSuggestion(string strContent, string email) + { + HdlThreadLogic.Current.RunThread(async() => + { + var pra = new + { + RequestVersion = Common.CommonPage.RequestVersion, + LoginAccessToken = Common.Config.Instance.Token, + Content = strContent, + OpinionFeedbackType = this.typeMode, + Email = email + }; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("App/AddOpinionFeedback", false, pra); + if (result == true) + { + //淇濆瓨娆℃暟 + this.suggestionCount--; + var strFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Common.Config.Instance.Guid, DirNameResourse.SuggestionFile); + var byteData = System.Text.Encoding.UTF8.GetBytes(this.suggestionCount + DateTime.Now.ToString("yyyyMMdd")); + //鍐欏叆鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(strFile, byteData); + + HdlThreadLogic.Current.RunMain(() => + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSubmitSuccessMsg)); + //鍏抽棴鐣岄潰 + this.CloseForm(); + }); + } + }); + } #endregion } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs index 4f643e6..67f8470 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/QRCodeForm.cs @@ -80,7 +80,7 @@ frameDetail.AddChidren(btnUser); //浜岀淮鐮� var btnQrCode = new PicViewControl(236, 236); - btnQrCode.BackgroundColor = UserCenterColor.Current.Green; + btnQrCode.ImageBytes = QRCode.BytesFromText(UserCenterResourse.UserInfo.Account, Application.GetMinRealAverage(236), Application.GetMinRealAverage(236)); btnQrCode.Gravity = Gravity.CenterHorizontal; btnQrCode.Y = Application.GetRealHeight(262); frameDetail.AddChidren(btnQrCode); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs index d8d38b6..8b2940a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs @@ -46,20 +46,18 @@ bodyFrameLayout.AddChidren(specialTopFrame); //鐢ㄦ埛鍥炬爣 - var btnUserIcon = new CutPictureControl(UserCenterResourse.UserInfo.UserIconFile, 251, 251, true); + var btnUserIcon = new ImageView(); + btnUserIcon.Height = Application.GetMinRealAverage(251); + btnUserIcon.Width = Application.GetMinRealAverage(251); btnUserIcon.Radius = (uint)Application.GetMinRealAverage(251) / 2; btnUserIcon.Y = Application.GetRealHeight(46); btnUserIcon.Gravity = Gravity.CenterHorizontal; btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile; specialTopFrame.AddChidren(btnUserIcon); - btnUserIcon.SelectPictrueEvent += async (selectPic) => + btnUserIcon.MouseUpEventHandler += (sender, e) => { - var pra = new { HeadImage = Shared.IO.FileUtils.ReadFile(selectPic) }; - var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdateHeadImage", false, pra); - if (result == true) - { - UserCenterResourse.UserInfo.UserIconFileChanged = true; - } + //鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟 + this.ShowUserIconMenu(btnUserIcon); }; } @@ -252,6 +250,7 @@ //閫�鍑虹櫥闄� var btnLogout = new NormalClickButton(specialFrame.Width, specialFrame.Height); + btnLogout.clickStatuColor = 0xfffbfbfb; btnLogout.TextID = R.MyInternationalizationString.uLogoutAccount; btnLogout.TextColor = 0xff666666; btnLogout.BackgroundColor = UserCenterColor.Current.White; @@ -306,6 +305,98 @@ #endregion + #region 鈻� 鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟_______________ + + /// <summary> + /// 鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟 + /// </summary> + /// <param name="btnUser"></param> + private void ShowUserIconMenu(ImageView btnUser) + { + var menuContr = new BottomMenuSelectForm(); + menuContr.AddForm(2); + //鎷嶇収 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uTakePictrue), () => + { + //閫氳繃鐩告満鎷嶇収瑁佸壀 + CropImage.TakePicture((imagePath) => + { + if (string.IsNullOrEmpty(imagePath) == false) + { + //绉诲姩鐢ㄦ埛澶村儚鏂囦欢 + if (this.MoveUserIconFile(imagePath) == true) + { + //涓婁紶鐢ㄦ埛澶村儚鏂囦欢 + this.UpLoadUserIconFile(btnUser, UserCenterResourse.UserInfo.UserIconFile); + } + } + }, "HdlPicture"); + }); + //浠庣浉鍐屼腑閫夋嫨 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uGetPictrueFromAlbum), () => + { + //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 + CropImage.SelectPicture((imagePath) => + { + if (string.IsNullOrEmpty(imagePath) == false) + { + //绉诲姩鐢ㄦ埛澶村儚鏂囦欢 + if (this.MoveUserIconFile(imagePath) == true) + { + //涓婁紶鐢ㄦ埛澶村儚鏂囦欢 + this.UpLoadUserIconFile(btnUser, UserCenterResourse.UserInfo.UserIconFile); + } + } + }, "HdlPicture"); + }); + } + + /// <summary> + /// 涓婁紶鐢ㄦ埛澶村儚鏂囦欢 + /// </summary> + /// <param name="btnUser"></param> + /// <param name="imagePath"></param> + private async void UpLoadUserIconFile(ImageView btnUser, string imagePath) + { + var pra = new { HeadImage = Shared.IO.FileUtils.ReadFile(imagePath) }; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdateHeadImage", false, pra); + if (result == true) + { + UserCenterResourse.UserInfo.UserIconFileChanged = true; + btnUser.ImagePath = imagePath; + } + } + + /// <summary> + /// 绉诲姩鐢ㄦ埛澶村儚鏂囦欢 + /// </summary> + /// <param name="imagePath"></param> + /// <returns></returns> + private bool MoveUserIconFile(string imagePath) + { + try + { + if (System.IO.File.Exists(UserCenterResourse.UserInfo.UserIconFile) == true) + { + System.IO.File.Delete(UserCenterResourse.UserInfo.UserIconFile); + } + //绉诲姩鏂囦欢 + System.IO.File.Move(imagePath, UserCenterResourse.UserInfo.UserIconFile); + return true; + } + catch (Exception ex) + { + //鍑虹幇鏈煡閿欒 + var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError)); + alert.Show(); + //Log + HdlLogLogic.Current.WriteLog(ex); + return false; + } + } + + #endregion + #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________ /// <summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs index 6d704ff..5ef06a0 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserMainForm.cs @@ -355,7 +355,7 @@ btnBackView.X -= ControlCommonResourse.XXLeft / 2; rowback.ButtonClickEvent += (sender, e) => { - var form = new HdlBackup.HdlBackupMenuForm(); + var form = new HdlBackup.HdlBackupListForm(); form.AddForm(); }; } @@ -378,8 +378,8 @@ btnSuView.X -= ControlCommonResourse.XXLeft / 2; rowSuggestion.ButtonClickEvent += (sender, e) => { - var form = new DeviceDoorLock.DoorLockHistoryLogForm(); - form.AddForm("澶╀笅绗竴"); + var form = new Suggestion.FeedbackForm(); + form.AddForm(); }; //鍏充簬鎴戜滑 diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index 099699a..21003fa 100644 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -639,7 +639,8 @@ roomPageView.AddChidren(roomBackView); var roomBG = new Button() { - UnSelectedImagePath = "Room/HomeBG.png", + //UnSelectedImagePath = "Room/HomeBG.png", + UnSelectedImagePath = room.BackgroundImage }; roomBackView.AddChidren(roomBG); var roomName = new Button() @@ -661,24 +662,11 @@ Width = Application.GetMinRealAverage(100), Height = Application.GetMinRealAverage(100), UnSelectedImagePath = "Item/List.png", - SelectedImagePath = "Item/ListSelected.png" }; roomBackView.AddChidren(roomListBtn); roomListBtn.MouseUpEventHandler += (send, e) => { - //var roomList = new Device.Room.RoomManagement(); - //HomePage.Instance.AddChidren(roomList); - //HomePage.Instance.PageIndex += 1; - //roomList.Show(); - //roomList.action += () => - //{ - // Show(); - //}; - if(room.IsLove) - { - return; - } var editRoom = new Device.Room.EditRoom(); HomePage.Instance.AddChidren(editRoom); HomePage.Instance.PageIndex += 1; @@ -687,7 +675,6 @@ { Show(); }; - }; } } @@ -713,7 +700,7 @@ Text = Language.StringByID(R.MyInternationalizationString.Favorite), TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize = 18, + TextSize = 18 }; roomBackView.AddChidren(roomName); var roomListBtn = new Button() diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs index 0857931..0464340 100644 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; -using Java.Util; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Shared; @@ -36,14 +35,16 @@ public string currentUserDisplayMethod = string.Empty;//褰撳墠鐢ㄦ埛鏄剧ず鏂瑰紡 //鏈湴鎵�鏈夎处鎴峰垪琛� public List<Shared.Phone.UserCenter.MemberInfoRes> localAllAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; - public static int RemoteUnlockCount = 5;//杩滅▼寮�閿佹鏁伴檺鍒� - public static string RemoteUnlockPassword = string.Empty;//杩滅▼寮�閿佸瘑鐮� - public static DateTime maxValue = DateTime.MaxValue; - public static DateTime minValue = DateTime.MinValue; public string LocalTempPassword = string.Empty;//鏈湴鐢熸垚鐨勪复鏃跺瘑鐮� public Dictionary<string, bool> IsFreezeAccount = new Dictionary<string, bool> { };//鏄惁鍐荤粨瀛愯处鎴� public Dictionary<string, bool> HasRemoteUnlockAccess = new Dictionary<string, bool> { };//鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢 public Dictionary<string, bool> IsFailedToGetDoorLockInfo = new Dictionary<string, bool> { };//鏄惁鑾峰彇闂ㄩ攣鏁版嵁澶辫触 + public string RemoteUnlockPassword = string.Empty;//杩滅▼寮�閿佸瘑鐮� + + public static int RemoteUnlockCount = 5;//杩滅▼寮�閿佹鏁伴檺鍒� + public static DateTime maxValue = DateTime.MaxValue; + public static DateTime minValue = DateTime.MinValue; + #region 涓存椂瀵嗙爜淇℃伅 /// <summary> /// 鐢ㄦ埛绠$悊鍙戦�佹暟鎹洖澶� @@ -217,6 +218,7 @@ public string PrimaryId = ""; /// <summary> /// 闂ㄩ攣Id -->閿悕 : DoorLockId (鍙��) + /// DelDoorLockDelType 闂ㄩ攣鍒犻櫎绫诲瀷(0: 鏍规闂ㄩ攣涓婚敭(浜戠涓婚敭)鍒犻櫎(鍗曟潯鍒犻櫎)銆�1:鏍规闂ㄩ攣Id鎵归噺鍒犻櫎(鍑℃槸涓庨棬閿両d鐩稿悓閮戒細鍒犻櫎)銆�2锛氭牴妞愰棬閿両d鍙婇棬閿佹湰鍦扮敤鎴稩d鎵归噺鍒犻櫎(杩欎釜闂ㄩ攣Id杩欎釜闂ㄩ攣鏈湴鐢ㄦ埛Id鍧囦細琚垹闄�)) -->閿悕 : DelDoorLockDelType 榛樿鍊�: 0 /// </summary> public int DelDoorLockDelType; } @@ -675,7 +677,7 @@ ///涓嶅父鐢細 /// 1:RF(Zigbee鏃犵嚎)锛�2:Manual(鎵嬪姩)锛�255:Indeterminate(涓嶇‘瀹�) /// </summary> - public int OperationEventSource; + public int OperationEventSoure; /// <summary> /// 浜嬩欢鐮� /// 甯哥敤锛� @@ -1463,12 +1465,12 @@ ///杩滅▼寮�閿� ///<para>inputPassword: 杈撳叆瀵嗙爜/para> /// </summary> - public async System.Threading.Tasks.Task<TempPasswordResponseAllData> RemoteControlAsync(string inputPassword) + public async System.Threading.Tasks.Task<RemoteResponseAllData> RemoteControlAsync(string inputPassword) { - TempPasswordResponseAllData result = null; + RemoteResponseAllData result = null; if (Gateway == null) { - result = new TempPasswordResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" }; + result = new RemoteResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" }; return result; } return await System.Threading.Tasks.Task.Run(async () => @@ -1485,22 +1487,33 @@ if (temp == null) { - result = new TempPasswordResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" }; + result = new RemoteResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" }; } else { - result = new TempPasswordResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) }; + result = new RemoteResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) }; } } - if (topic == gatewayID + "/" + "ZbDataPassthrough") + else if (topic == $"{gatewayID}/DoorLock/DoorLockOperatingEventNotificationCommand") + { + var OperatingEventNotificationDatad = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockOperatingEventNotificationCommand>(jobject["Data"].ToString()); + if (OperatingEventNotificationDatad != null) + { + if (OperatingEventNotificationDatad.OperationEventSoure == 1 && OperatingEventNotificationDatad.OperationEventCode == 5) + { + result = new RemoteResponseAllData { IsPawDispear = true }; + } + } + } + else 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 TempPasswordResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" }; + result = new RemoteResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" }; } else { @@ -1512,10 +1525,10 @@ var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString(); if (command == "0002") { - var tempD = new TempPasswordResponseData(); + var tempD = new RemoteResponseData(); tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString(); tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16); - result = new TempPasswordResponseAllData { responseData = tempD }; + result = new RemoteResponseAllData { responseData = tempD }; DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0462_{ topic}"); } } @@ -1523,7 +1536,6 @@ } } }; - Gateway.Actions += action; DebugPrintLog("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString()); @@ -1539,18 +1551,25 @@ catch { } var dateTime = DateTime.Now; - while ((DateTime.Now - dateTime).TotalMilliseconds < 9000)// WaitReceiveDataTime) + while ((DateTime.Now - dateTime).TotalMilliseconds < 5000)// WaitReceiveDataTime) { await System.Threading.Tasks.Task.Delay(10); - if (result != null && result.responseData != null && result.responseData.command == "0462") + if (result == null) + { + continue; + } + if (result.responseData != null && result.responseData.command == "0462") + { + break; + } + if (result.IsPawDispear == true) { break; } } if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime) { - result = new TempPasswordResponseAllData - { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" }; + result = new RemoteResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" }; } Gateway.Actions -= action; DebugPrintLog("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString()); @@ -1585,6 +1604,51 @@ catch { }; return data; + } + + /// <summary> + /// 杩滅▼鍥炲鏁版嵁 + /// </summary> + public RemoteResponseAllData remoteResponseAllData; + [System.Serializable] + public class RemoteResponseAllData + { + /// <summary> + /// 閿欒淇℃伅 + /// </summary> + public string errorMessageBase; + /// <summary> + /// 缃戝叧淇℃伅閿欒鍙嶉 + /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para> + /// </summary> + public ErrorResponData errorResponData; + /// <summary> + /// 涓存椂瀵嗙爜鍥炲鏁版嵁 + /// </summary> + public RemoteResponseData responseData; + /// <summary> + /// 鏄惁瀵嗙爜琚垹闄� + /// </summary> + public bool IsPawDispear = false; + } + + /// <summary> + /// 鐢ㄦ埛绠$悊鏁版嵁鍥炲 + /// </summary> + [System.Serializable] + public class RemoteResponseData + { + /// <summary> + ///鍝嶅簲鎿嶄綔鐮侊紙0-ffff锛� + /// </summary> + public string command = ""; + /// <summary> + /// 鐘舵�佸�� + /// <para>榛樿鍝嶅簲缁撴灉锛� + ///<para>0 鎴愬姛</para> + ///<para>1 澶辫触</para> + /// </summary> + public int status = -1; } #endregion @@ -1735,13 +1799,13 @@ /// <summary> /// 涓存椂瀵嗙爜鍥炲鏁版嵁 /// </summary> - public TempPasswordResponseAllData keyColorDataResponseAllData; + public TempPasswordResponseAllData tempPasswordResponseAllData; [System.Serializable] public class TempPasswordResponseAllData { /// <summary> /// 閿欒淇℃伅 - /// </summary> + /// </summary> public string errorMessageBase; /// <summary> /// 缃戝叧淇℃伅閿欒鍙嶉 diff --git a/ZigbeeApp/Shared/R.cs b/ZigbeeApp/Shared/R.cs index 0dc0ca4..a9ceea7 100644 --- a/ZigbeeApp/Shared/R.cs +++ b/ZigbeeApp/Shared/R.cs @@ -2193,9 +2193,9 @@ /// </summary> public const int uDownLoadAndRecoverMsg = 15221; /// <summary> - /// 纭畾瑕佸垹闄ゆ枃浠跺悧锛� + /// 纭鍒犻櫎璇ュ浠芥暟鎹�? /// </summary> - public const int uDoDeleteFileMsg = 15222; + public const int uDoDeleteBackupMsg = 15222; /// <summary> /// 娣诲姞澶囦唤 /// </summary> @@ -4716,6 +4716,150 @@ /// WLAN璁剧疆杩炴帴瀹跺涵WiFi /// </summary> public const int uWlanConnectHomeWifi = 15906; + /// <summary> + /// 闀挎寜缃戝叧HID/WCFG鎸夐敭20绉抺0}绯荤粺鐏揩闂�60绉掑垯杩涘叆閰嶇綉鐘舵�亄0}绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔� + /// </summary> + public const int uAddUdpWirelessGatewayMsg = 15907; + /// <summary> + /// 闀挎寜缃戝叧HID/WCFG鎸夐敭5绉抺0}绯荤粺鐏父浜�60绉掑悗鍒欒繘鍏ラ厤缃戠姸鎬� + /// </summary> + public const int uAddApWirelessGatewayMsg1 = 15908; + /// <summary> + /// 璺宠浆鍒扮Щ鍔ㄨ澶嘩LAN璁剧疆{0}閫夋嫨hdlZigbeeGW-xxxx缃戠粶 + /// </summary> + public const int uAddApWirelessGatewayMsg2 = 15909; + /// <summary> + /// 璇疯緭鍏ュ搴璚IFI璐﹀彿 + /// </summary> + public const int uPleaseInputHomeWifiAccount = 15910; + /// <summary> + /// 璇峰墠寰�绉诲姩璁惧WLAN璁剧疆{0}閲嶆柊杩炴帴瀹跺涵wiFi + /// </summary> + public const int uAddApWirelessGatewayMsg3 = 15911; + /// <summary> + /// 绯荤粺鐏瘡绉掗棯鐑佷竴娆0}鍒欒繛鎺ユ垚鍔� + /// </summary> + public const int uAddApWirelessGatewayMsg4 = 15912; + /// <summary> + /// 閫夋嫨鍦扮偣 + /// </summary> + public const int uSelectAdrress = 15915; + /// <summary> + /// 鎮ㄧ殑鍙嶉鍜屾剰瑙佷細璁╂垜浠彉寰楁洿濂� + /// </summary> + public const int uYouSuggestionMsg = 15916; + /// <summary> + /// 鍙嶉绫诲瀷 + /// </summary> + public const int uSuggestionType = 15917; + /// <summary> + /// 浼樺寲 + /// </summary> + public const int uOptimization = 15918; + /// <summary> + /// 鏂伴渶姹� + /// </summary> + public const int uNewDemand = 15919; + /// <summary> + /// 閭鍦板潃 + /// </summary> + public const int uEmailAddress = 15920; + /// <summary> + /// 璇疯緭鍏ユ偍鐨勯偖绠卞湴鍧� + /// </summary> + public const int uPleaseInputYouEmailAddress = 15921; + /// <summary> + /// 鎻愪氦 + /// </summary> + public const int uSubmit = 15922; + /// <summary> + /// 鎻愪氦鎴愬姛,鎰熻阿鎮ㄧ殑鎰忚 + /// </summary> + public const int uSubmitSuccessMsg = 15923; + /// <summary> + /// 涓婁紶 + /// </summary> + public const int uUpload = 15924; + /// <summary> + /// 鑷姩澶囦唤 + /// </summary> + public const int uAutoBackup = 15925; + /// <summary> + /// 浠婃棩鎻愪氦娆℃暟宸蹭笂闄� + /// </summary> + public const int uSubmitCountIsOverMsg = 15926; + /// <summary> + /// 鑾峰彇缃戝叧淇¢亾澶辫触 + /// </summary> + public const int uGetGatewayChannelIdFail = 15927; + /// <summary> + /// 鑾峰彇鍗忚皟鍣∕ac澶辫触 + /// </summary> + public const int uGetGatewayCoordinatorMacFail = 15928; + /// <summary> + /// 鑾峰彇鍗忚皟鍣≒anID澶辫触 + /// </summary> + public const int uGetGatewayPanIDFail = 15929; + /// <summary> + /// 涓婁紶鏁版嵁鑷充簯绔� + /// </summary> + public const int uUploadDataToDb = 15930; + /// <summary> + /// 浠庝簯绔笅杞芥暟鎹� + /// </summary> + public const int uDwonloadDataFromDb = 15931; + /// <summary> + /// 涓婁紶鏁版嵁 + /// </summary> + public const int uUploadData = 15932; + /// <summary> + /// 涓婁紶鏁版嵁鎴愬姛 + /// </summary> + public const int uUploadDataSuccess = 15933; + /// <summary> + /// 涓嬭浇鏁版嵁 + /// </summary> + public const int uDwonloadData = 15934; + /// <summary> + /// 涓嬭浇 + /// </summary> + public const int uDownLoad = 15935; + /// <summary> + /// 璁剧疆缃戝叧缁忕含搴﹀け璐� + /// </summary> + public const int uSetGatewaySiteFail = 15936; + /// <summary> + /// 姝e湪淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅 + /// </summary> + public const int uGatewayNVFileSaving = 15937; + /// <summary> + /// 淇濆瓨鍗忚皟鍣ㄧ殑nv鍒嗗尯缁勭綉淇℃伅澶辫触 + /// </summary> + public const int uSaveGatewayNVFileFail = 15938; + /// <summary> + /// 鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳藉け璐� + /// </summary> + public const int uOpenZbMsComSendFail = 15939; + /// <summary> + /// 缃戝叧鏁版嵁澶囦唤澶辫触 + /// </summary> + public const int uBackupgatewayDataFail = 15940; + /// <summary> + /// 寮�濮嬪浠界綉鍏虫暟鎹� + /// </summary> + public const int uStartBackupgatewayData = 15941; + /// <summary> + /// 鍝嶅簲瓒呮椂,缃戝叧鏁版嵁澶囦唤澶辫触 + /// </summary> + public const int uResponseTimeoutsAndBackupgatewayDataFail = 15942; + /// <summary> + /// 鍒涘缓澶囦唤鏂囦欢 + /// </summary> + public const int uCreatBackupFile = 15943; + /// <summary> + /// 姝e湪鎵撳紑鍗忚皟鍣ㄤ覆鍙e彂閫佸姛鑳� + /// </summary> + public const int uZbMsComSendOpening = 15944; //鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽� /// <summary> diff --git a/ZigbeeApp/Shared/Shared.projitems b/ZigbeeApp/Shared/Shared.projitems index d857204..4bd216c 100644 --- a/ZigbeeApp/Shared/Shared.projitems +++ b/ZigbeeApp/Shared/Shared.projitems @@ -109,7 +109,6 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Logic\DoorLockLogic\LockAddScene.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Logic\DoorLockLogic\LockLogicList.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Logic\DoorLockLogic\AddCondition.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\AirSwitch\AirSwitchControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\SelectTime.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\Line.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\CommonForm\FunctionRow.cs" /> @@ -160,12 +159,51 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Account\AccountResetPWDSuccess.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Account\PhoneEmailForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Account\AccountLogin.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlAutoBackUpForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlManualBackUpForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\IO\LocalFileUtils.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\BigInteger.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\OwnCodes.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\Config.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\Global.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\CloudMqttResponsePack.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\IStatus.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\EncryptionService.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\Application.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\CommonInfo.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\SendDataToGateway.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\RemoteOperatorConsts.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\SecuritySet.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ThirdPartyModuleUpgrade.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Safeguard.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\LogicBase.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\CommonDevice.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Scene.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Logic.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\TemperatureSensor.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ZbGateway.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ZbGatewayData.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\AC.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ThermostatObj.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Transverter.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Rollershade.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\CurtainBase.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Repeater.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Enum.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\BindObj.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\AirSwitch.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Panel.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\PIRSensor.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\IASZone.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DeviceType.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DoorLock.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\HDLbutton.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\LigthtBase.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\OTADevice.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ColorDimmableLight.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ToggleLight.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DimmableLight.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlBackupListForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlGatewayBackUpForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlGatewayListBackUpForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlBackupMenuForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\HdlBackup\HdlAutoBackupSettionForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Residence\LookRoomDeviceListForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Residence\FloorListRoomForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Residence\LookRoomSettionForm.cs" /> @@ -203,7 +241,6 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\AlarmTargetStatuSelectSwitchForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\GarrisonAreaListMenuForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\AlarmTargetExistSettionForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\PasswordRefreshMsgForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\SafetyManagementMainForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\PasswordAddNewForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Safety\AlarmTargetAddSceneForm.cs" /> @@ -223,18 +260,13 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MemberFrozenPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockCommonLayout.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\FunctionSetting.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\SubAccountManagementPage.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\RemotelyUnlock.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethodTip.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethodFailedTip.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\FunctionSettingSub.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MasterManagementPage.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockUserMangement.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UnLockMethod.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\TimeSettignPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorlockDialog.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UserDoorLockPage.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorLockListPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UserManagement.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\AddUnLockMethod.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\TemporaryPassword.cs" /> @@ -300,10 +332,13 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Resourse\FirmwareUpdateResourse.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Resourse\DirectoryFileNameResourse.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\PswSecondarySecurityForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\NumberPswInputDialogForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\BottomMenuSelectForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\SelectDeviceForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\PswGestureSecirityForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\BottomDialogSelectForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\BottomItemSelectForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\AreaCodeSelectForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\DialogInputForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\Base\CommonFormBase.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\Base\EditorCommonForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Form\Base\DialogCommonForm.cs" /> @@ -320,7 +355,9 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlShardLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlLogLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceImageInfoLogic.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlGatewayBackupLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceCurtainLogic.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlWifiLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlJiguangMsgPushLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlAutoBackupLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceBindLogic.cs" /> @@ -331,7 +368,12 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDevicePanelLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlDeviceAirConditionerLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlGatewayLogic.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\DialogInputFrameControl.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\IMessageCommon.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterCommon.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\GatewayBackupEnum.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterColor.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterEnumCommon.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\AccountOption.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\PicViewControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\NormalViewControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\BackViewControl.cs" /> @@ -341,6 +383,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\DetailTitleControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\TopLayoutTitleControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\DateSelectControl.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\NormalControls\LoadingControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\TextInputControls\TextInputControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\TextInputControls\TextInputExControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\FrameLayoutControls\FrameCaptionViewControl.cs" /> @@ -370,6 +413,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\CutPictureControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\VerificationCodeControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\DeviceInformationListControl.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\ProgressFormBar.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\PswNumberInputControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\MsgControls.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\CompoundControls\BelongAreaControl.cs" /> @@ -383,12 +427,6 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\BaseCommonControl\Common\ClickButtonCommon.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\BaseCommonControl\Base\TextInputBase.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Controls\BaseCommonControl\Base\ButtonBase.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\IMessageCommon.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterCommon.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\GatewayBackupEnum.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterColor.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\UserCenterEnumCommon.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Common\AccountOption.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayFirmwareUpdateForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayCoordinatorInfoForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayVirtualDriveInfoForm.cs" /> @@ -396,63 +434,25 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayHistoryFirmwareVersionForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Update\GatewayLinuxInfoForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessUdpSelectNetworkForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WiredGatewayRebindForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\NewGateWayMenuSelectForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WiredGatewayListForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApSelectNetworkForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApDirection3Form.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessUdpSearchForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApDirection1Form.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WiredGatewaySearchForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\GatewayAddSuccessForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\GatewayProductInfoForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGatewaySearchForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WiredGatewayDirectionForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApDirection2Form.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessUdpDirectionForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGwSelectNetworkForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGwClickButtonForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessGwAddDirectionForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Add\WirelessApSearchForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayInfoEditorForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayAddSuccessForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayListForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayProductInfoForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewaySearchListForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayGeneralInformationForm.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\IO\LocalFileUtils.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\BigInteger.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\OwnCodes.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\Config.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\Global.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\CloudMqttResponsePack.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\IStatus.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\EncryptionService.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\Application.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\CommonInfo.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\SendDataToGateway.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\RemoteOperatorConsts.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Common\SecuritySet.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ThirdPartyModuleUpgrade.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Safeguard.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\LogicBase.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\CommonDevice.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Scene.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Logic.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\TemperatureSensor.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ZbGateway.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ZbGatewayData.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\AC.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ThermostatObj.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Transverter.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Rollershade.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\CurtainBase.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Repeater.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Enum.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\BindObj.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\AirSwitch.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\Panel.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\PIRSensor.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\IASZone.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DeviceType.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DoorLock.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\HDLbutton.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\LigthtBase.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\OTADevice.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ColorDimmableLight.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ToggleLight.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\DimmableLight.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayBackUpListForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayRebindForm.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Gateway\Manage\GatewayUploadAndDownLoadForm.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Pad\" /> @@ -461,16 +461,11 @@ <ItemGroup> <None Include="$(MSBuildThisFileDirectory)DLL\MQTTnet.dll" /> <None Include="$(MSBuildThisFileDirectory)DLL\Security.dll" /> - <None Include="$(MSBuildThisFileDirectory)DLL\Shared.Droid.TouchID.dll" /> <None Include="$(MSBuildThisFileDirectory)DLL\Elian.iOS.dll" /> - <None Include="$(MSBuildThisFileDirectory)DLL\Shared.IOS.TBL.dll" /> - <None Include="$(MSBuildThisFileDirectory)DLL\Shared.IOS.dll" /> <None Include="$(MSBuildThisFileDirectory)DLL\ZigBee.Droid.dll" /> <None Include="$(MSBuildThisFileDirectory)DLL\Shared.Droid.dll" /> - <None Include="$(MSBuildThisFileDirectory)DLL\Shared.Droid.HDLWidget.dll" /> <None Include="$(MSBuildThisFileDirectory)DLL\Newtonsoft.Json.dll" /> <None Include="$(MSBuildThisFileDirectory)DLL\ZigBee.Ios.xml" /> - <None Include="$(MSBuildThisFileDirectory)DLL\Xamarin.Essentials.dll" /> <None Include="$(MSBuildThisFileDirectory)DLL\ZigBee.Droid.xml" /> <None Include="$(MSBuildThisFileDirectory)DLL\M2Mqtt.Net.dll" /> </ItemGroup> -- Gitblit v1.8.0