From 794b0967171bd975bb454287616aca170546f8e1 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 16 三月 2021 17:15:09 +0800 Subject: [PATCH] Merge branch 'WJC' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into WJC --- HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs | 227 ++ HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png | 0 HDL-ON_Android/Assets/Language.ini | 183 + HDL_ON/UI/UI0-Public/TopViewDivBLL.cs | 35 HDL_ON/Common/ApiUtlis.cs | 15 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalracks.png | 0 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToClound.png | 0 HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs | 164 + HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png | 0 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png | 0 HDL_ON/HDL_ON.projitems | 17 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/projector.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/adddevice.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortemperature.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irac.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/airFreshstandard.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/search.png | 0 HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs | 27 HDL_ON/UI/UI0-Stan/Controls/NormalControls/NormalViewControl.cs | 2 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png | 0 HDL_ON/UI/UI0-Public/TopViewDiv.cs | 28 HDL_ON/UI/UI0-Stan/Logic/HdlWifiLogic.cs | 99 + HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainswitch.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/next.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irmodule.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png | 0 DLL/IOS/HdlBluWi.dll | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/airFreshstandard.png | 0 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainshades.png | 0 HDL_ON/UI/UI0-Stan/Form/Base/CommonFormBase.cs | 13 HDL_ON/UI/UI2/.DS_Store | 0 HDL-ON_Android/Assets/Phone/PirIcon/addlbuton.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png | 0 HDL_ON/UI/UI0-Stan/Controls/CompoundControls/ProgressRowBar.cs | 251 ++ HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorsmoke.png | 0 HDL-ON_iOS/.DS_Store | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png | 0 HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs | 1 HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs | 144 + HDL-ON_iOS/Resources/Language.ini | 184 + HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs | 489 +++++ HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorgas.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/musicstandard.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irac.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png | 0 HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs | 78 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png | 0 HDL_ON/Common/FileUtlis.cs | 7 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irlearn.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorwater.png | 0 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccess.png | 0 HDL_ON/.DS_Store | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightswitch.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalsocket.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png | 0 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irmodule.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgb.png | 0 HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs | 533 +++++ HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorhumidity.png | 0 HDL-ON_iOS/Info.plist | 6 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs | 84 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png | 0 HDL_ON/Common/HDLCommon.cs | 6 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png | 0 HDL_ON/UI/UI1-Login/LoginPage.cs | 2 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightcct.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/icon1.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png | 0 HDL_ON/UI/.DS_Store | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpm25.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/More.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/projector.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorgas.png | 0 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/addlbuton.png | 0 HDL_ON/Entity/Function/Function.cs | 69 HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 139 HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs | 308 +++ HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irtv.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightdimming.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/del.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpm25.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png | 0 HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs | 142 + HDL_ON/UI/UI0-Stan/Controls/BaseControl/TextInputBase.cs | 2 HDL-ON_Android/Assets/Phone/Public/ProgressMsg.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png | 0 HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 5 HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 108 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightswitch.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightdimming.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/tv.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortvoc.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/fan.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png | 0 HDL_ON/UI/MainPage.cs | 10 HDL-ON_Android/Assets/Phone/PirIcon/STB.png | 0 HDL_ON/UI/UI0-Stan/Form/Base/EditorCommonForm.cs | 111 + HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs | 164 + DLL/Android/AndriodBluetoothLibrary.dll | 0 HDL_ON/Entity/FunctionList.cs | 37 HDL-ON_iOS/Resources/Phone/PirIcon/dvd.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainroller.png | 0 HDL_ON/DAL/Server/NewAPI.cs | 4 HDL-ON_iOS/Resources/Phone/Public/ProgressMsg.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/adddevice.png | 0 HDL_ON/Common/R.cs | 115 + HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgb.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltv.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/air.png | 0 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/delbuton.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png | 0 HDL-ON_iOS/HDL-ON_iOS.csproj | 114 + HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomClickButton.cs | 3 HDL-ON_Android/Assets/Phone/PirIcon/search.png | 0 HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddThirdPartyBrandListpage.cs | 22 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 2 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgbw.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalfan.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/failed.png | 0 HDL-ON_Android/Resources/Resource.designer.cs | 3 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensordoorwindow.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorhumidity.png | 0 DLL/IOS/libBlufi.a | 0 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/NetConnectSelect.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltv.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png | 0 HDL_ON/DAL/DriverLayer/Control_Udp.cs | 2 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/icon2.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainswitch.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/offline.png | 0 HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs | 2 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/dropdown.png | 0 HDL-ON_iOS/BlueWifi.cs | 17 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/acstandard.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortvoc.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/online.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png | 0 HDL_ON/UI/UI2/UserPage.cs | 38 HDL-ON_iOS/Resources/Phone/PirIcon/custom.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png | 0 HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomItemSelectControl.cs | 2 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalsocket.png | 0 HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs | 590 ++++++ HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgbw.png | 0 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccess.png | 0 HDL_ON/UI/UI1-Login/RegisterPageBLL.cs | 3 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToClound.png | 0 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png | 0 HDL_ON/DAL/DriverLayer/Control.cs | 38 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irtv.png | 0 HdlBluWi/.DS_Store | 0 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/NetConnectSelect.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/stb.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainshades.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightcct.png | 0 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png | 0 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs | 29 HDL-ON_Android/Assets/Phone/FunctionIcon/AC/More.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png | 0 HDL_ON/DAL/Server/HttpServerRequest.cs | 35 HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/.DS_Store | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/musicstandard.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorsmoke.png | 0 ys/Jars/app-release.aar | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png | 0 HDL-ON_Android/Properties/AndroidManifest.xml | 2 HDL-ON_Android/Assets/Phone/.DS_Store | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/floorHeatstandard.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorco2.png | 0 HDL_ON/DAL/Mqtt/MqttClient.cs | 120 + HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png | 0 HDL-ON_Android/HDL-ON_Android.csproj | 101 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png | 0 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs | 26 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png | 0 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irlearn.png | 0 HDL_ON/Entity/Integratedbrand/IntegratedBrand.cs | 81 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/priequipment.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/del.png | 0 HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 5 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/next.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/succeed.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorwater.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/dropdown.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/delbuton.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/floorHeatstandard.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorco2.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpir.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/custom.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalracks.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/tv.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/online.png | 0 HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs | 17 HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtaintrietex.png | 0 HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png | 0 HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs | 11 HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddThirdPartyDeviceMenuListPage.cs | 92 HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/ThirdPartyBrandListPage.cs | 166 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtaintrietex.png | 0 HDL_ON/Common/Utlis.cs | 3 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalfan.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/Infraredtreasure.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/Infraredtreasure.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/offline.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png | 0 HDL-ON_Android/Assets/Phone/PirIcon/dvd.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/air.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png | 0 HDL_ON/UI/UI2/4-PersonalCenter/ResetAccountPassword/ResetPasswordPage.cs | 2 HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs | 215 ++ HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/acstandard.png | 0 HDL-ON_iOS/Resources/Phone/PirIcon/fan.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpir.png | 0 HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs | 146 + HDL-ON_Android/Assets/Phone/PirIcon/priequipment.png | 0 HDL_ON/UI/UI0-Stan/Controls/MessageControls/ShowMsgControl.cs | 7 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensordoorwindow.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortemperature.png | 0 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainroller.png | 0 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png | 0 303 files changed, 5,247 insertions(+), 456 deletions(-) diff --git a/DLL/Android/AndriodBluetoothLibrary.dll b/DLL/Android/AndriodBluetoothLibrary.dll new file mode 100644 index 0000000..606ade0 --- /dev/null +++ b/DLL/Android/AndriodBluetoothLibrary.dll Binary files differ diff --git a/DLL/IOS/HdlBluWi.dll b/DLL/IOS/HdlBluWi.dll index 0380e71..8a88050 100644 --- a/DLL/IOS/HdlBluWi.dll +++ b/DLL/IOS/HdlBluWi.dll Binary files differ diff --git a/DLL/IOS/libBlufi.a b/DLL/IOS/libBlufi.a index bcbd9d0..eeaebd4 100644 --- a/DLL/IOS/libBlufi.a +++ b/DLL/IOS/libBlufi.a Binary files differ diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 5d5d311..a042891 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -411,10 +411,92 @@ 426=Air dry time 427=Disinfect time 428=Anion Time +429=H +430=Min +431=You are currently adding any platform devices to +432=Other platform equipment is supported by third party service provider +433=Water valve +434=Time switch +435=Remote control +1000=Indoor Humidity +1001=V-chip +1002=Anion +1003=Sterilization +1004=Humidification +1005=Filter Element Reset +1006=Lighting +1007=Automatic +1008=Manual +1009=Strong +1010=Sleep +1011=Timing +1012=Wind Speed +1013=Gear +1014=Please confirm whether the filter element has been reset and operate the equipment according to the instruction manual for the filter element life to be timed again +1015=Low Gear +1016=Mid Gear +1017=High Gear +1018=Timing Setting +1019=Hour +1020=Filter Element Time锛� +1021=Air Cleaner +1022=Current wind speed +1023=Cancel Timing +1024=Floor Sweeping Robot +1025=Suction +1026=1st Gear +1027=2nd Gear +1028=3rd Gear +1029=Charge +1030=Voice +1031=Mute +1032=Cleaning Mode +1033=Consumables Management +1034=History +1035=Automatic +1036=Random +1037=Wall +1038=Spiral +1039=Total Clean Area +1040=Total Clean Time +1041=Remaining life of side brush +1042=Residual life of roller brush +1043=Remaining life of filter screen +1044=Reset edge brush +1045=Reset roll brush +1046=Reset screen +1047=Confirm to Reset edge brush? +1048=Confirm to Reset roll brush? +1049=Confirm to Reset screen? +1050=Add Device +1051=Mini Intelligent Remote Control +1052=Add Infrared Remote Control +1053=Press the infrared remote control button{0}for 10 seconds and the indicator light{0}flashes blue quickly +1054=Please make sure your Bluetooth{0}is on and searchable +1055=Next Step +1056=Device searching... +1057=No infrared remote control found +1058=1.Please check whether the device is{0} powered on normally{0}2.Please check whether the Bluetooth{0} function is turned on normally{0}3.Please check whether the indicator{0} light is flashing blue +1059=Search Again +1060=Connect WiFi +1061=At present,it only supports 2.4G WiFi network{0}and does not support WiFi names{0}with Chinese characters +1062=Password +1063=Connecting... +1064=Please make infrared remote control{0}as close as possible to WiFi router +1065=Network Link +1066=Upload to cloud +1067=Connect success +1068=1.Please check whether the device is{0} powered on normally{0}2.Please turn on the Bluetooth function{0}3.Press the button for 10s and the indicator{0} light will be on +1069=Add Fail +1070=Add Success +1071=You can start using the infrared{0}remote control! +1072=Start using +1073=Please turn on Bluetooth +1074=Location information(GBS) unavailable +1075=Network unavailable +1076=Select infrared remote control -1002=Anion - 5000=Music 5001=Group 5002=Setting @@ -1089,6 +1171,13 @@ 426=椋庡共鏃堕棿 427=娑堟瘨鏃堕棿 428=璐熺瀛愭椂闂� +429=灏忔椂 +430=鍒嗛挓 +431=浣犲綋鍓嶈繕涓烘坊鍔犱换浣曞钩鍙拌澶� +432=鍏朵粬骞冲彴璁惧鍧囩敱绗笁鏂规湇鍔″晢鎻愪緵鏀寔 +433=姘撮榾 +434=瀹氭椂寮�鍏� +435=閬ユ帶鍣� 1000=瀹ゅ唴婀垮害 @@ -1138,9 +1227,36 @@ 1044=閲嶇疆杈瑰埛 1045=閲嶇疆婊氬埛 1046=閲嶇疆婊ょ綉 -1047=鏄惁閲嶇疆杈瑰埛 -1048=鏄惁閲嶇疆婊氬埛 -1049=鏄惁閲嶇疆婊ょ綉 +1047=鏄惁閲嶇疆杈瑰埛? +1048=鏄惁閲嶇疆婊氬埛? +1049=鏄惁閲嶇疆婊ょ綉? +1050=娣诲姞璁惧 +1051=mini鏅鸿兘閬ユ帶鍣� +1052=娣诲姞绾㈠閬ユ帶 +1053=闀挎寜绾㈠閬ユ帶鍣ㄦ寜閽�10绉掞紝鎸囩ず鐏摑鑹插揩闂� +1054=璇风‘淇濇偍鐨勮摑鐗欏凡寮�鍚苟澶勪簬鍙互琚悳绱㈢姸鎬� +1055=涓嬩竴姝� +1056=璁惧鎼滅储涓�... +1057=娌℃湁鍙戠幇绾㈠閬ユ帶鍣� +1058=1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數{0}2銆佽妫�鏌ヨ摑鐗欏姛鑳芥槸鍚︽甯稿紑鍚瘂0}3銆佽妫�鏌ユ寚绀虹伅鏄惁钃濊壊蹇棯鐘舵�� +1059=閲嶆柊鎼滅储 +1060=杩炴帴WiFi +1061=鐩墠鍙敮鎸�2.4G WiFi缃戠粶{0}鏆備笉鏀寔甯︽湁涓枃瀛楃鐨刉iFi鍚嶇О +1062=瀵嗙爜 +1063=姝e湪杩炴帴涓�... +1064=璇疯绾㈠閬ユ帶灏介噺鎺ヨ繎WIFI璺敱鍣� +1065=缃戠粶閾炬帴涓� +1066=涓婁紶鍒颁簯 +1067=杩炴帴鎴愬姛 +1068=1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數{0}2銆佽寮�鍚摑鐗欏姛鑳絳0}3銆佸苟闀挎寜鎸夐挳10s锛屾寚绀虹伅甯镐寒 +1069=娣诲姞澶辫触 +1070=娣诲姞鎴愬姛 +1071=鍙互寮�濮嬩娇鐢ㄧ孩澶栭仴鎺у姛鑳斤紒 +1072=寮�濮嬩娇鐢� +1073=璇锋墦寮�钃濈墮 +1074=浣嶇疆淇℃伅(GBS)涓嶅彲鐢� +1075=缃戠粶涓嶅彲鐢� +1076=閫夋嫨绾㈠閬ユ帶鍣� 5000=闊充箰 5001=缁勫悎 @@ -1269,6 +1385,63 @@ 6076=缂栬緫淇℃伅 +6015=鍦ㄧ嚎 +6016=绂荤嚎 +6017=鐗堟湰鍙� +6018=璇疯緭鍏ラ仴鎺у櫒鍚嶇О +6019=鎻愮ず锛氶仴鎺у櫒鍒涘缓鍚庡彲鍦ㄥ姛鑳�-鐢靛櫒鍒嗙被{\r\n}鏌ユ壘浣跨敤 +6020=鎺ㄨ崘鎸夐敭 +6021=璇疯緭鍏ユ寜閿悕绉� +6022=涓嬩竴姝� +6023=鐢垫簮 +6024=闊抽噺+ +6025=闊抽噺- +6026=棰戦亾+ +6027=棰戦亾- +6028=涓� +6029=涓� +6030=宸� +6031=鍙� +6032=闈欓煶 +6034=纭 +6035=鎾斁 +6037=閫�鍑� +6038=鑿滃崟 +6039=鏆傚仠 +6040=杩斿洖 +6041=鍋滄 +6042=涓婚〉 +6043=蹇繘 +6044=蹇�� +6045=瀹氭椂 +6046=澶嶅埗閬ユ帶鍔熻兘 +6047=瀵瑰噯閬ユ帶鍣ㄤ腑蹇冩寜涓嬬浉鍚屾寜閿� +6048=鏅鸿兘閬ユ帶鍣� +6049=娣诲姞鎸夐敭 +6050=*闀挎寜鍙繘琛岃嚜瀹氫箟鎺掑簭 +6051=瀹屾垚 +6052=娣诲姞鎴愬姛 +6053=鍙埌鍒嗙被-鍔熻兘-鐢靛櫒鎿嶄綔浣跨敤 +6054=鎵�灞炲垎绫� +6055=閬ユ帶鍣ㄥ悕绉� +6056=鎵�灞炲尯鍩� +6057=缁х画娣诲姞 +6058=鐢靛櫒 +6059=娣诲姞澶辫触 +6060=閲嶈瘯 +6061=鍖归厤閬ユ帶鍣� +6062=璇风偣鍑讳互涓嬫寜閽� +6063=纭璁惧鏄惁鏈夊搷搴� +6064=鎺у埗澶辫触 +6065=鎺у埗鎴愬姛 +6066=鐢垫簮寮� +6067=妯″紡鍒跺喎 +6068=椋庨�熶腑椋� +6069=娓╁害26鈩� +6070=鍒犻櫎璁惧 +6071=淇敼鍚嶅瓧 +6072=纭鍒犻櫎 +6073=鍙栨秷 7000=鏂板缓鑷姩鍖� 7001=缂栬緫鑷姩鍖� diff --git a/HDL-ON_Android/Assets/Phone/.DS_Store b/HDL-ON_Android/Assets/Phone/.DS_Store index 48a1486..b0674c8 100644 --- a/HDL-ON_Android/Assets/Phone/.DS_Store +++ b/HDL-ON_Android/Assets/Phone/.DS_Store Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/More.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/More.png new file mode 100644 index 0000000..bc89ac6 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/More.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png new file mode 100644 index 0000000..66155c5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png new file mode 100644 index 0000000..32e354e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png new file mode 100644 index 0000000..23f6005 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png new file mode 100644 index 0000000..9a40fd6 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png new file mode 100644 index 0000000..5ae946e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png new file mode 100644 index 0000000..1ff8d10 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png new file mode 100644 index 0000000..9053f13 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png new file mode 100644 index 0000000..01a5a48 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png new file mode 100644 index 0000000..220ff6e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png new file mode 100644 index 0000000..f74c97d --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png new file mode 100644 index 0000000..e3671a2 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png new file mode 100644 index 0000000..259e176 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png new file mode 100644 index 0000000..3caf309 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png new file mode 100644 index 0000000..58dbb2d --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png new file mode 100644 index 0000000..aab3b24 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png new file mode 100644 index 0000000..48e6784 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png new file mode 100644 index 0000000..c59a2e5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png new file mode 100644 index 0000000..8c5ead5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png new file mode 100644 index 0000000..e25af0b --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png new file mode 100644 index 0000000..4e2f1df --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png new file mode 100644 index 0000000..0e89579 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png new file mode 100644 index 0000000..4845fa2 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png new file mode 100644 index 0000000..84ff63d --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png new file mode 100644 index 0000000..1fd6e8e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png new file mode 100644 index 0000000..d28c4af --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png new file mode 100644 index 0000000..1f42e9f --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png new file mode 100644 index 0000000..c59a2e5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png new file mode 100644 index 0000000..8c5ead5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png new file mode 100644 index 0000000..d44a273 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png new file mode 100644 index 0000000..06e28c0 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png new file mode 100644 index 0000000..66155c5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png new file mode 100644 index 0000000..32e354e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png new file mode 100644 index 0000000..50f52ea --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png new file mode 100644 index 0000000..80addfe --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png new file mode 100644 index 0000000..d28c4af --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png new file mode 100644 index 0000000..1f42e9f --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png new file mode 100644 index 0000000..5e07518 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png new file mode 100644 index 0000000..cb36722 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png new file mode 100644 index 0000000..b40b6d9 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png new file mode 100644 index 0000000..f18a303 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png new file mode 100644 index 0000000..5e07518 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png new file mode 100644 index 0000000..cb36722 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png new file mode 100644 index 0000000..5e07518 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png new file mode 100644 index 0000000..cb36722 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png new file mode 100644 index 0000000..9df7593 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png new file mode 100644 index 0000000..79b5a76 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png new file mode 100644 index 0000000..512f3eb --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png new file mode 100644 index 0000000..85065ec --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/acstandard.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/acstandard.png new file mode 100644 index 0000000..6d7221b --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/acstandard.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/airFreshstandard.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/airFreshstandard.png new file mode 100644 index 0000000..6657bae --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/airFreshstandard.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainroller.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainroller.png new file mode 100644 index 0000000..10bdb27 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainroller.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainshades.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainshades.png new file mode 100644 index 0000000..abeae75 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainshades.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainswitch.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainswitch.png new file mode 100644 index 0000000..8ce4669 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtainswitch.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtaintrietex.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtaintrietex.png new file mode 100644 index 0000000..0eeb3a0 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/curtaintrietex.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png new file mode 100644 index 0000000..f299156 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png new file mode 100644 index 0000000..8486852 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalfan.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalfan.png new file mode 100644 index 0000000..0447c4d --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalfan.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png new file mode 100644 index 0000000..ed0735d --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalracks.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalracks.png new file mode 100644 index 0000000..6f10d54 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalracks.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalsocket.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalsocket.png new file mode 100644 index 0000000..6a324db --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricalsocket.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltv.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltv.png new file mode 100644 index 0000000..7f9045f --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltv.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png new file mode 100644 index 0000000..0447c4d --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/floorHeatstandard.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/floorHeatstandard.png new file mode 100644 index 0000000..c067812 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/floorHeatstandard.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irac.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irac.png new file mode 100644 index 0000000..6d7221b --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irac.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irlearn.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irlearn.png new file mode 100644 index 0000000..f6654d9 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irlearn.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irmodule.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irmodule.png new file mode 100644 index 0000000..5bb5bb2 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irmodule.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irtv.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irtv.png new file mode 100644 index 0000000..7f9045f --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irtv.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightcct.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightcct.png new file mode 100644 index 0000000..9fabb8e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightcct.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightdimming.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightdimming.png new file mode 100644 index 0000000..6fd97b5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightdimming.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgb.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgb.png new file mode 100644 index 0000000..9fabb8e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgb.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgbw.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgbw.png new file mode 100644 index 0000000..9fabb8e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightrgbw.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightswitch.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightswitch.png new file mode 100644 index 0000000..0aa1f98 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/lightswitch.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/musicstandard.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/musicstandard.png new file mode 100644 index 0000000..d522bf3 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/musicstandard.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorco2.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorco2.png new file mode 100644 index 0000000..4d52fc1 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorco2.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensordoorwindow.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensordoorwindow.png new file mode 100644 index 0000000..6f82b1f --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensordoorwindow.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorgas.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorgas.png new file mode 100644 index 0000000..6e05b01 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorgas.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorhumidity.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorhumidity.png new file mode 100644 index 0000000..3549ac7 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorhumidity.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpir.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpir.png new file mode 100644 index 0000000..5afa201 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpir.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpm25.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpm25.png new file mode 100644 index 0000000..2f07a0b --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpm25.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorsmoke.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorsmoke.png new file mode 100644 index 0000000..245f9de --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorsmoke.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortemperature.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortemperature.png new file mode 100644 index 0000000..d852749 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortemperature.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortvoc.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortvoc.png new file mode 100644 index 0000000..a37cc0e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensortvoc.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorwater.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorwater.png new file mode 100644 index 0000000..57b566a --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorwater.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccess.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccess.png new file mode 100644 index 0000000..8c6b86e --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccess.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png new file mode 100644 index 0000000..224fd3f --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png new file mode 100644 index 0000000..a6ccf0a --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png new file mode 100644 index 0000000..be9906d --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/NetConnectSelect.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/NetConnectSelect.png new file mode 100644 index 0000000..1c6cbfe --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/NetConnectSelect.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToClound.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToClound.png new file mode 100644 index 0000000..ffef099 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToClound.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png new file mode 100644 index 0000000..fe57fe5 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png new file mode 100644 index 0000000..4039574 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/Infraredtreasure.png b/HDL-ON_Android/Assets/Phone/PirIcon/Infraredtreasure.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/STB.png b/HDL-ON_Android/Assets/Phone/PirIcon/STB.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/adddevice.png b/HDL-ON_Android/Assets/Phone/PirIcon/adddevice.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/addlbuton.png b/HDL-ON_Android/Assets/Phone/PirIcon/addlbuton.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/air.png b/HDL-ON_Android/Assets/Phone/PirIcon/air.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/custom.png b/HDL-ON_Android/Assets/Phone/PirIcon/custom.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/del.png b/HDL-ON_Android/Assets/Phone/PirIcon/del.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/delbuton.png b/HDL-ON_Android/Assets/Phone/PirIcon/delbuton.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/dropdown.png b/HDL-ON_Android/Assets/Phone/PirIcon/dropdown.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/dvd.png b/HDL-ON_Android/Assets/Phone/PirIcon/dvd.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/failed.png b/HDL-ON_Android/Assets/Phone/PirIcon/failed.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/fan.png b/HDL-ON_Android/Assets/Phone/PirIcon/fan.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/icon1.png b/HDL-ON_Android/Assets/Phone/PirIcon/icon1.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/icon2.png b/HDL-ON_Android/Assets/Phone/PirIcon/icon2.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/next.png b/HDL-ON_Android/Assets/Phone/PirIcon/next.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/offline.png b/HDL-ON_Android/Assets/Phone/PirIcon/offline.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/online.png b/HDL-ON_Android/Assets/Phone/PirIcon/online.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/priequipment.png b/HDL-ON_Android/Assets/Phone/PirIcon/priequipment.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/projector.png b/HDL-ON_Android/Assets/Phone/PirIcon/projector.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/search.png b/HDL-ON_Android/Assets/Phone/PirIcon/search.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/succeed.png b/HDL-ON_Android/Assets/Phone/PirIcon/succeed.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/PirIcon/tv.png b/HDL-ON_Android/Assets/Phone/PirIcon/tv.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_Android/Assets/Phone/Public/ProgressMsg.png b/HDL-ON_Android/Assets/Phone/Public/ProgressMsg.png new file mode 100644 index 0000000..e0255b8 --- /dev/null +++ b/HDL-ON_Android/Assets/Phone/Public/ProgressMsg.png Binary files differ diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj index 75f234a..c8c0871 100644 --- a/HDL-ON_Android/HDL-ON_Android.csproj +++ b/HDL-ON_Android/HDL-ON_Android.csproj @@ -125,6 +125,9 @@ <Reference Include="Shared.Droid.JLCountryCode"> <HintPath>..\DLL\Android\Shared.Droid.JLCountryCode.dll</HintPath> </Reference> + <Reference Include="AndriodBluetoothLibrary"> + <HintPath>..\DLL\Android\AndriodBluetoothLibrary.dll</HintPath> + </Reference> </ItemGroup> <ItemGroup> <Compile Include="MainActivity.cs" /> @@ -830,12 +833,98 @@ <AndroidAsset Include="Assets\Phone\PirIcon\icon2.png" /> <AndroidAsset Include="Assets\Phone\PirIcon\succeed.png" /> <AndroidAsset Include="Assets\Phone\LogicIcon\selected+.png" /> - <AndroidAsset Include="Assets\Phone\PirIcon\1.png" /> - <AndroidAsset Include="Assets\Phone\PirIcon\2.png" /> - <AndroidAsset Include="Assets\Phone\PirIcon\3.png" /> - <AndroidAsset Include="Assets\Phone\PirIcon\4.png" /> - <AndroidAsset Include="Assets\Phone\PirIcon\left.png" /> - <AndroidAsset Include="Assets\Phone\PirIcon\right.png" /> + <AndroidAsset Include="Assets\Phone\Public\ProgressMsg.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\UploadToClound.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\NetConnectSelect.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\ConnectSuccess.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\ConnectSuccessSelect.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\MiniRemoteControlBigPictrue.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\UploadToCloundSelect.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\MiniRemoteControlMenuIcon.png" /> + <AndroidAsset Include="Assets\Phone\PersonalCenter\AddDevice\WifiAndPhoneConnect.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensortvoc.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\irmodule.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorpir.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricalai6HtccKFIw3dxo3.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\lightrgb.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\airFreshstandard.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricalracks.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricalfan.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorpm25.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\acstandard.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricalsocket.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorgas.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorhumidity.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricalkoiGhMKwLf2ZP81g.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\lightcct.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\curtainroller.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\irlearn.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\lightdimming.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorco2.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricaltv.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\floorHeatstandard.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\curtainswitch.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\curtainshades.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricaltyqborgovyzytytz.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\musicstandard.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensordoorwindow.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\lightrgbw.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensortemperature.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\curtaintrietex.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorsmoke.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\electricalQ1RsefNf91tIXyyQ.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\irac.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorwater.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\lightswitch.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\irtv.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightrgbw_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irac_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricaltv_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalai6HtccKFIw3dxo3_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtaintrietex_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\floorHeatstandard_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\musicstandard_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalfan_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtainswitch_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightdimming_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightrgbw_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricaltyqborgovyzytytz_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\airFreshstandard_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightrgb_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irtv_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irlearn_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\musicstandard_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalfan_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtainshades_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalkoiGhMKwLf2ZP81g_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irac_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalkoiGhMKwLf2ZP81g_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\acstandard_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightcct_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalracks_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalai6HtccKFIw3dxo3_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightswitch_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtaintrietex_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\airFreshstandard_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\floorHeatstandard_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtainshades_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalQ1RsefNf91tIXyyQ_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricaltyqborgovyzytytz_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightcct_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightrgb_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtainroller_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtainroller_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalQ1RsefNf91tIXyyQ_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irtv_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalsocket_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightswitch_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\lightdimming_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricaltv_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalsocket_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\acstandard_blue.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irlearn_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\curtainswitch_white.png" /> + <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\electricalracks_white.png" /> </ItemGroup> <ItemGroup> <AndroidNativeLibrary Include="libs\armeabi-v7a\libelianjni.so" /> diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml index 00724b4..b63337c 100644 --- a/HDL-ON_Android/Properties/AndroidManifest.xml +++ b/HDL-ON_Android/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@ 锘�<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202103051" android:versionName="1.1.202103051" package="com.hdl.onpro"> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202103101" android:versionName="1.1.202103101" package="com.hdl.onpro"> <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26" /> <!-- 瀹氫綅鏉冮檺--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs index ade11c4..5d2ca39 100644 --- a/HDL-ON_Android/Resources/Resource.designer.cs +++ b/HDL-ON_Android/Resources/Resource.designer.cs @@ -2,7 +2,6 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -15,7 +14,7 @@ { - [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] public partial class Resource { diff --git a/HDL-ON_iOS/.DS_Store b/HDL-ON_iOS/.DS_Store index 6ebc3fa..96513b5 100644 --- a/HDL-ON_iOS/.DS_Store +++ b/HDL-ON_iOS/.DS_Store Binary files differ diff --git a/HDL-ON_iOS/BlueWifi.cs b/HDL-ON_iOS/BlueWifi.cs index e5eeff6..aad7a0c 100644 --- a/HDL-ON_iOS/BlueWifi.cs +++ b/HDL-ON_iOS/BlueWifi.cs @@ -6,7 +6,7 @@ namespace HDL_ON { - public class MyBlufiClient + public class MyBlufiClient { HdlBluWi share; @@ -29,7 +29,7 @@ //public string GetPer() //{ - //share. + //share. //} @@ -40,11 +40,12 @@ /// <summary> /// 璁惧鎼滅储鍒拌摑鐗欒澶囦箣鍚庡埌浠g悊浜嬩欢 /// </summary> - public void SetBlufiDeviceDelegate(Action<string,string> action) + public void SetBlufiDeviceDelegate(Action<string, string> action) { - getBlufiDeviceDelegate = new FBYBleDeviceBackBlock((arg0) => { - action?.Invoke(arg0.Name,arg0.Uuid.ToString()); - if (!string.IsNullOrEmpty(arg0.Name)&& arg0.Name.Contains("BLU")) + getBlufiDeviceDelegate = new FBYBleDeviceBackBlock((arg0) => + { + action?.Invoke(arg0.Name, arg0.Uuid.ToString()); + if (!string.IsNullOrEmpty(arg0.Name) && arg0.Name.Contains("BLU")) { Console.WriteLine($"{arg0.Name} : {arg0.Uuid}"); } @@ -179,7 +180,7 @@ public override void Blufi_gattPrepared(HdlBlufi.BlufiClient client, BlufiStatusCode status, CBService service, CBCharacteristic writeChar, CBCharacteristic notifyChar) { - if(status == BlufiStatusCode.Success) + if (status == BlufiStatusCode.Success) { MainPage.Log("钃濈墮杩炴帴鎴愬姛"); } @@ -195,7 +196,7 @@ { public override void UpdatedState(CBCentralManager central) { - + //throw new NotImplementedException(); } //public override void diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj index e375828..eb0fd00 100644 --- a/HDL-ON_iOS/HDL-ON_iOS.csproj +++ b/HDL-ON_iOS/HDL-ON_iOS.csproj @@ -1057,26 +1057,102 @@ <BundleResource Include="Resources\Phone\PirIcon\adddevice.png" /> <BundleResource Include="Resources\Phone\PirIcon\next.png" /> <BundleResource Include="Resources\Phone\LogicIcon\selected+.png" /> - <BundleResource Include="Resources\Phone\PirIcon\1.png" /> - <BundleResource Include="Resources\Phone\PirIcon\2.png" /> - <BundleResource Include="Resources\Phone\PirIcon\3.png" /> - <BundleResource Include="Resources\Phone\PirIcon\4.png" /> - <BundleResource Include="Resources\Phone\PirIcon\failed.png" /> - <BundleResource Include="Resources\Phone\PirIcon\icon1.png" /> - <BundleResource Include="Resources\Phone\PirIcon\icon2.png" /> - <BundleResource Include="Resources\Phone\PirIcon\left.png" /> - <BundleResource Include="Resources\Phone\PirIcon\right.png" /> - <BundleResource Include="Resources\Phone\PirIcon\succeed.png" /> + <BundleResource Include="Resources\Phone\Public\ProgressMsg.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\UploadToClound.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\NetConnectSelect.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\ConnectSuccess.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\ConnectSuccessSelect.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\MiniRemoteControlBigPictrue.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\UploadToCloundSelect.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\MiniRemoteControlMenuIcon.png" /> + <BundleResource Include="Resources\Phone\PersonalCenter\AddDevice\WifiAndPhoneConnect.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensortvoc.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorpir.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricalai6HtccKFIw3dxo3.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\lightrgb.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\airFreshstandard.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricalracks.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricalfan.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorpm25.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\acstandard.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricalsocket.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorgas.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorhumidity.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricalkoiGhMKwLf2ZP81g.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\lightcct.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\curtainroller.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\irlearn.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\lightdimming.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorco2.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricaltv.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\floorHeatstandard.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\curtainswitch.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\curtainshades.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricaltyqborgovyzytytz.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\musicstandard.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensordoorwindow.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\lightrgbw.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensortemperature.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\curtaintrietex.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorsmoke.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\electricalQ1RsefNf91tIXyyQ.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\irac.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorwater.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\lightswitch.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\irtv.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightrgbw_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irac_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricaltv_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalai6HtccKFIw3dxo3_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtaintrietex_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\floorHeatstandard_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\musicstandard_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalfan_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtainswitch_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightdimming_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightrgbw_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricaltyqborgovyzytytz_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\airFreshstandard_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightrgb_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irtv_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irlearn_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\musicstandard_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalfan_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtainshades_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalkoiGhMKwLf2ZP81g_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irac_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalkoiGhMKwLf2ZP81g_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\acstandard_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightcct_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalracks_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalai6HtccKFIw3dxo3_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightswitch_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtaintrietex_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\airFreshstandard_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\floorHeatstandard_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtainshades_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalQ1RsefNf91tIXyyQ_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricaltyqborgovyzytytz_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightcct_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightrgb_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtainroller_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtainroller_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalQ1RsefNf91tIXyyQ_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irtv_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalsocket_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightswitch_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\lightdimming_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricaltv_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalsocket_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\acstandard_blue.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irlearn_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\curtainswitch_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\electricalracks_white.png" /> + <BundleResource Include="Resources\Phone\FunctionIcon\Icon\irmodule.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> <ITunesArtwork Include="iTunesArtwork%402x" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\HdlBluWi\Blufi.csproj"> - <Project>{2DDF4C3C-6998-432E-9F43-6786D82F0630}</Project> - <Name>Blufi</Name> - </ProjectReference> </ItemGroup> <ItemGroup> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" /> @@ -1112,6 +1188,12 @@ <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\640960-1.png" /> <ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\6401136-1.png" /> </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\HdlBluWi\Blufi.csproj"> + <Project>{2DDF4C3C-6998-432E-9F43-6786D82F0630}</Project> + <Name>Blufi</Name> + </ProjectReference> + </ItemGroup> <Import Project="..\HDL_ON\HDL_ON.projitems" Label="Shared" Condition="Exists('..\HDL_ON\HDL_ON.projitems')" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> <ProjectExtensions> diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist index d5aace1..52e5b75 100644 --- a/HDL-ON_iOS/Info.plist +++ b/HDL-ON_iOS/Info.plist @@ -70,6 +70,8 @@ <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UIAppFonts</key> <array> @@ -102,9 +104,9 @@ <key>UIStatusBarStyle</key> <string>UIStatusBarStyleLightContent</string> <key>CFBundleShortVersionString</key> - <string>1.1.202103051</string> + <string>1.1.202103101</string> <key>CFBundleVersion</key> - <string>202103051</string> + <string>202103101</string> <key>NSLocationWhenInUseUsageDescription</key> <string>Use geographic location to provide services such as weather</string> <key>NSAppleMusicUsageDescription</key> diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index b52d360..765e310 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -411,12 +411,93 @@ 426=Air dry time 427=Disinfect time 428=Anion Time -429=h -430=m +429=H +430=Min +431=You are currently adding any platform devices to +432=Other platform equipment is supported by third party service provider +433=Water valve +434=Time switch +435=Remote control -1002=Anion - +1000=Indoor Humidity +1001=V-chip +1002=Anion +1003=Sterilization +1004=Humidification +1005=Filter Element Reset +1006=Lighting +1007=Automatic +1008=Manual +1009=Strong +1010=Sleep +1011=Timing +1012=Wind Speed +1013=Gear +1014=Please confirm whether the filter element has been reset and operate the equipment according to the instruction manual for the filter element life to be timed again +1015=Low Gear +1016=Mid Gear +1017=High Gear +1018=Timing Setting +1019=Hour +1020=Filter Element Time锛� +1021=Air Cleaner +1022=Current wind speed +1023=Cancel Timing +1024=Floor Sweeping Robot +1025=Suction +1026=1st Gear +1027=2nd Gear +1028=3rd Gear +1029=Charge +1030=Voice +1031=Mute +1032=Cleaning Mode +1033=Consumables Management +1034=History +1035=Automatic +1036=Random +1037=Wall +1038=Spiral +1039=Total Clean Area +1040=Total Clean Time +1041=Remaining life of side brush +1042=Residual life of roller brush +1043=Remaining life of filter screen +1044=Reset edge brush +1045=Reset roll brush +1046=Reset screen +1047=Confirm to Reset edge brush? +1048=Confirm to Reset roll brush? +1049=Confirm to Reset screen? +1050=Add Device +1051=Mini Intelligent Remote Control +1052=Add Infrared Remote Control +1053=Press the infrared remote control button{0}for 10 seconds and the indicator light{0}flashes blue quickly +1054=Please make sure your Bluetooth{0}is on and searchable +1055=Next Step +1056=Device searching... +1057=No infrared remote control found +1058=1.Please check whether the device is{0} powered on normally{0}2.Please check whether the Bluetooth{0} function is turned on normally{0}3.Please check whether the indicator{0} light is flashing blue +1059=Search Again +1060=Connect WiFi +1061=At present,it only supports 2.4G WiFi network{0}and does not support WiFi names{0}with Chinese characters +1062=Password +1063=Connecting... +1064=Please make infrared remote control{0}as close as possible to WiFi router +1065=Network Link +1066=Upload to cloud +1067=Connect success +1068=1.Please check whether the device is{0} powered on normally{0}2.Please turn on the Bluetooth function{0}3.Press the button for 10s and the indicator{0} light will be on +1069=Add Fail +1070=Add Success +1071=You can start using the infrared{0}remote control! +1072=Start using +1073=Please turn on Bluetooth +1074=Location information(GBS) unavailable +1075=Network unavailable +1076=Select infrared remote control + 5000=Music 5001=Group 5002=Setting @@ -1093,6 +1174,11 @@ 428=璐熺瀛愭椂闂� 429=灏忔椂 430=鍒嗛挓 +431=浣犲綋鍓嶈繕涓烘坊鍔犱换浣曞钩鍙拌澶� +432=鍏朵粬骞冲彴璁惧鍧囩敱绗笁鏂规湇鍔″晢鎻愪緵鏀寔 +433=姘撮榾 +434=瀹氭椂寮�鍏� +435=閬ユ帶鍣� 1000=瀹ゅ唴婀垮害 @@ -1142,9 +1228,36 @@ 1044=閲嶇疆杈瑰埛 1045=閲嶇疆婊氬埛 1046=閲嶇疆婊ょ綉 -1047=鏄惁閲嶇疆杈瑰埛 -1048=鏄惁閲嶇疆婊氬埛 -1049=鏄惁閲嶇疆婊ょ綉 +1047=鏄惁閲嶇疆杈瑰埛? +1048=鏄惁閲嶇疆婊氬埛? +1049=鏄惁閲嶇疆婊ょ綉? +1050=娣诲姞璁惧 +1051=mini鏅鸿兘閬ユ帶鍣� +1052=娣诲姞绾㈠閬ユ帶 +1053=闀挎寜绾㈠閬ユ帶鍣ㄦ寜閽�10绉掞紝鎸囩ず鐏摑鑹插揩闂� +1054=璇风‘淇濇偍鐨勮摑鐗欏凡寮�鍚苟澶勪簬鍙互琚悳绱㈢姸鎬� +1055=涓嬩竴姝� +1056=璁惧鎼滅储涓�... +1057=娌℃湁鍙戠幇绾㈠閬ユ帶鍣� +1058=1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數{0}2銆佽妫�鏌ヨ摑鐗欏姛鑳芥槸鍚︽甯稿紑鍚瘂0}3銆佽妫�鏌ユ寚绀虹伅鏄惁钃濊壊蹇棯鐘舵�� +1059=閲嶆柊鎼滅储 +1060=杩炴帴WiFi +1061=鐩墠鍙敮鎸�2.4G WiFi缃戠粶{0}鏆備笉鏀寔甯︽湁涓枃瀛楃鐨刉iFi鍚嶇О +1062=瀵嗙爜 +1063=姝e湪杩炴帴涓�... +1064=璇疯绾㈠閬ユ帶灏介噺鎺ヨ繎WIFI璺敱鍣� +1065=缃戠粶閾炬帴涓� +1066=涓婁紶鍒颁簯 +1067=杩炴帴鎴愬姛 +1068=1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數{0}2銆佽寮�鍚摑鐗欏姛鑳絳0}3銆佸苟闀挎寜鎸夐挳10s锛屾寚绀虹伅甯镐寒 +1069=娣诲姞澶辫触 +1070=娣诲姞鎴愬姛 +1071=鍙互寮�濮嬩娇鐢ㄧ孩澶栭仴鎺у姛鑳斤紒 +1072=寮�濮嬩娇鐢� +1073=璇锋墦寮�钃濈墮 +1074=浣嶇疆淇℃伅(GBS)涓嶅彲鐢� +1075=缃戠粶涓嶅彲鐢� +1076=閫夋嫨绾㈠閬ユ帶鍣� 5000=闊充箰 5001=缁勫悎 @@ -1273,6 +1386,63 @@ 6076=缂栬緫淇℃伅 +6015=鍦ㄧ嚎 +6016=绂荤嚎 +6017=鐗堟湰鍙� +6018=璇疯緭鍏ラ仴鎺у櫒鍚嶇О +6019=鎻愮ず锛氶仴鎺у櫒鍒涘缓鍚庡彲鍦ㄥ姛鑳�-鐢靛櫒鍒嗙被{\r\n}鏌ユ壘浣跨敤 +6020=鎺ㄨ崘鎸夐敭 +6021=璇疯緭鍏ユ寜閿悕绉� +6022=涓嬩竴姝� +6023=鐢垫簮 +6024=闊抽噺+ +6025=闊抽噺- +6026=棰戦亾+ +6027=棰戦亾- +6028=涓� +6029=涓� +6030=宸� +6031=鍙� +6032=闈欓煶 +6034=纭 +6035=鎾斁 +6037=閫�鍑� +6038=鑿滃崟 +6039=鏆傚仠 +6040=杩斿洖 +6041=鍋滄 +6042=涓婚〉 +6043=蹇繘 +6044=蹇�� +6045=瀹氭椂 +6046=澶嶅埗閬ユ帶鍔熻兘 +6047=瀵瑰噯閬ユ帶鍣ㄤ腑蹇冩寜涓嬬浉鍚屾寜閿� +6048=鏅鸿兘閬ユ帶鍣� +6049=娣诲姞鎸夐敭 +6050=*闀挎寜鍙繘琛岃嚜瀹氫箟鎺掑簭 +6051=瀹屾垚 +6052=娣诲姞鎴愬姛 +6053=鍙埌鍒嗙被-鍔熻兘-鐢靛櫒鎿嶄綔浣跨敤 +6054=鎵�灞炲垎绫� +6055=閬ユ帶鍣ㄥ悕绉� +6056=鎵�灞炲尯鍩� +6057=缁х画娣诲姞 +6058=鐢靛櫒 +6059=娣诲姞澶辫触 +6060=閲嶈瘯 +6061=鍖归厤閬ユ帶鍣� +6062=璇风偣鍑讳互涓嬫寜閽� +6063=纭璁惧鏄惁鏈夊搷搴� +6064=鎺у埗澶辫触 +6065=鎺у埗鎴愬姛 +6066=鐢垫簮寮� +6067=妯″紡鍒跺喎 +6068=椋庨�熶腑椋� +6069=娓╁害26鈩� +6070=鍒犻櫎璁惧 +6071=淇敼鍚嶅瓧 +6072=纭鍒犻櫎 +6073=鍙栨秷 7000=鏂板缓鑷姩鍖� 7001=缂栬緫鑷姩鍖� diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/More.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/More.png new file mode 100644 index 0000000..bc89ac6 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/More.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/.DS_Store b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/.DS_Store index 3f51231..76483dd 100644 --- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/.DS_Store +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/.DS_Store Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png new file mode 100644 index 0000000..66155c5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png new file mode 100644 index 0000000..32e354e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/acstandard_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png new file mode 100644 index 0000000..23f6005 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png new file mode 100644 index 0000000..9a40fd6 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/airFreshstandard_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png new file mode 100644 index 0000000..5ae946e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png new file mode 100644 index 0000000..1ff8d10 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainroller_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png new file mode 100644 index 0000000..9053f13 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png new file mode 100644 index 0000000..01a5a48 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainshades_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png new file mode 100644 index 0000000..220ff6e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png new file mode 100644 index 0000000..f74c97d --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtainswitch_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png new file mode 100644 index 0000000..e3671a2 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png new file mode 100644 index 0000000..259e176 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/curtaintrietex_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png new file mode 100644 index 0000000..3caf309 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png new file mode 100644 index 0000000..58dbb2d --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalQ1RsefNf91tIXyyQ_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png new file mode 100644 index 0000000..aab3b24 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png new file mode 100644 index 0000000..48e6784 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalai6HtccKFIw3dxo3_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png new file mode 100644 index 0000000..c59a2e5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png new file mode 100644 index 0000000..8c5ead5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalfan_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png new file mode 100644 index 0000000..e25af0b --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png new file mode 100644 index 0000000..4e2f1df --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalkoiGhMKwLf2ZP81g_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png new file mode 100644 index 0000000..0e89579 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png new file mode 100644 index 0000000..4845fa2 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalracks_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png new file mode 100644 index 0000000..84ff63d --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png new file mode 100644 index 0000000..1fd6e8e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricalsocket_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png new file mode 100644 index 0000000..d28c4af --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png new file mode 100644 index 0000000..1f42e9f --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltv_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png new file mode 100644 index 0000000..c59a2e5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png new file mode 100644 index 0000000..8c5ead5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/electricaltyqborgovyzytytz_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png new file mode 100644 index 0000000..d44a273 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png new file mode 100644 index 0000000..06e28c0 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/floorHeatstandard_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png new file mode 100644 index 0000000..66155c5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png new file mode 100644 index 0000000..32e354e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irac_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png new file mode 100644 index 0000000..50f52ea --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png new file mode 100644 index 0000000..80addfe --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irlearn_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png new file mode 100644 index 0000000..d28c4af --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png new file mode 100644 index 0000000..1f42e9f --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irtv_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png new file mode 100644 index 0000000..5e07518 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png new file mode 100644 index 0000000..cb36722 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightcct_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png new file mode 100644 index 0000000..b40b6d9 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png new file mode 100644 index 0000000..f18a303 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightdimming_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png new file mode 100644 index 0000000..5e07518 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png new file mode 100644 index 0000000..cb36722 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgb_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png new file mode 100644 index 0000000..5e07518 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png new file mode 100644 index 0000000..cb36722 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightrgbw_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png new file mode 100644 index 0000000..9df7593 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png new file mode 100644 index 0000000..79b5a76 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/lightswitch_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png new file mode 100644 index 0000000..512f3eb --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_blue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png new file mode 100644 index 0000000..85065ec --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/musicstandard_white.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/acstandard.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/acstandard.png new file mode 100644 index 0000000..6d7221b --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/acstandard.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/airFreshstandard.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/airFreshstandard.png new file mode 100644 index 0000000..6657bae --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/airFreshstandard.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainroller.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainroller.png new file mode 100644 index 0000000..10bdb27 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainroller.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainshades.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainshades.png new file mode 100644 index 0000000..abeae75 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainshades.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainswitch.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainswitch.png new file mode 100644 index 0000000..8ce4669 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtainswitch.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtaintrietex.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtaintrietex.png new file mode 100644 index 0000000..0eeb3a0 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/curtaintrietex.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png new file mode 100644 index 0000000..f299156 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalQ1RsefNf91tIXyyQ.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png new file mode 100644 index 0000000..8486852 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalai6HtccKFIw3dxo3.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalfan.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalfan.png new file mode 100644 index 0000000..0447c4d --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalfan.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png new file mode 100644 index 0000000..ed0735d --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalkoiGhMKwLf2ZP81g.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalracks.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalracks.png new file mode 100644 index 0000000..6f10d54 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalracks.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalsocket.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalsocket.png new file mode 100644 index 0000000..6a324db --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricalsocket.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltv.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltv.png new file mode 100644 index 0000000..7f9045f --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltv.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png new file mode 100644 index 0000000..0447c4d --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/electricaltyqborgovyzytytz.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/floorHeatstandard.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/floorHeatstandard.png new file mode 100644 index 0000000..c067812 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/floorHeatstandard.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irac.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irac.png new file mode 100644 index 0000000..6d7221b --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irac.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irlearn.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irlearn.png new file mode 100644 index 0000000..f6654d9 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irlearn.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irmodule.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irmodule.png new file mode 100644 index 0000000..5bb5bb2 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irmodule.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irtv.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irtv.png new file mode 100644 index 0000000..7f9045f --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irtv.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightcct.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightcct.png new file mode 100644 index 0000000..9fabb8e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightcct.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightdimming.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightdimming.png new file mode 100644 index 0000000..6fd97b5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightdimming.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgb.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgb.png new file mode 100644 index 0000000..9fabb8e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgb.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgbw.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgbw.png new file mode 100644 index 0000000..9fabb8e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightrgbw.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightswitch.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightswitch.png new file mode 100644 index 0000000..0aa1f98 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/lightswitch.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/musicstandard.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/musicstandard.png new file mode 100644 index 0000000..d522bf3 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/musicstandard.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorco2.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorco2.png new file mode 100644 index 0000000..4d52fc1 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorco2.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensordoorwindow.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensordoorwindow.png new file mode 100644 index 0000000..6f82b1f --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensordoorwindow.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorgas.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorgas.png new file mode 100644 index 0000000..6e05b01 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorgas.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorhumidity.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorhumidity.png new file mode 100644 index 0000000..3549ac7 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorhumidity.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpir.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpir.png new file mode 100644 index 0000000..5afa201 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpir.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpm25.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpm25.png new file mode 100644 index 0000000..2f07a0b --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpm25.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorsmoke.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorsmoke.png new file mode 100644 index 0000000..245f9de --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorsmoke.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortemperature.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortemperature.png new file mode 100644 index 0000000..d852749 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortemperature.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortvoc.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortvoc.png new file mode 100644 index 0000000..a37cc0e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensortvoc.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorwater.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorwater.png new file mode 100644 index 0000000..57b566a --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorwater.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccess.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccess.png new file mode 100644 index 0000000..8c6b86e --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccess.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png new file mode 100644 index 0000000..224fd3f --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/ConnectSuccessSelect.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png new file mode 100644 index 0000000..a6ccf0a --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png new file mode 100644 index 0000000..be9906d --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/NetConnectSelect.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/NetConnectSelect.png new file mode 100644 index 0000000..1c6cbfe --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/NetConnectSelect.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToClound.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToClound.png new file mode 100644 index 0000000..ffef099 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToClound.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png new file mode 100644 index 0000000..fe57fe5 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/UploadToCloundSelect.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png new file mode 100644 index 0000000..4039574 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddDevice/WifiAndPhoneConnect.png Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/Infraredtreasure.png b/HDL-ON_iOS/Resources/Phone/PirIcon/Infraredtreasure.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/adddevice.png b/HDL-ON_iOS/Resources/Phone/PirIcon/adddevice.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/addlbuton.png b/HDL-ON_iOS/Resources/Phone/PirIcon/addlbuton.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/air.png b/HDL-ON_iOS/Resources/Phone/PirIcon/air.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/custom.png b/HDL-ON_iOS/Resources/Phone/PirIcon/custom.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/del.png b/HDL-ON_iOS/Resources/Phone/PirIcon/del.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/delbuton.png b/HDL-ON_iOS/Resources/Phone/PirIcon/delbuton.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/dropdown.png b/HDL-ON_iOS/Resources/Phone/PirIcon/dropdown.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/dvd.png b/HDL-ON_iOS/Resources/Phone/PirIcon/dvd.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/fan.png b/HDL-ON_iOS/Resources/Phone/PirIcon/fan.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/next.png b/HDL-ON_iOS/Resources/Phone/PirIcon/next.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/offline.png b/HDL-ON_iOS/Resources/Phone/PirIcon/offline.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/online.png b/HDL-ON_iOS/Resources/Phone/PirIcon/online.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/priequipment.png b/HDL-ON_iOS/Resources/Phone/PirIcon/priequipment.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/projector.png b/HDL-ON_iOS/Resources/Phone/PirIcon/projector.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/search.png b/HDL-ON_iOS/Resources/Phone/PirIcon/search.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/stb.png b/HDL-ON_iOS/Resources/Phone/PirIcon/stb.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/PirIcon/tv.png b/HDL-ON_iOS/Resources/Phone/PirIcon/tv.png old mode 100755 new mode 100644 Binary files differ diff --git a/HDL-ON_iOS/Resources/Phone/Public/ProgressMsg.png b/HDL-ON_iOS/Resources/Phone/Public/ProgressMsg.png new file mode 100644 index 0000000..e0255b8 --- /dev/null +++ b/HDL-ON_iOS/Resources/Phone/Public/ProgressMsg.png Binary files differ diff --git a/HDL_ON/.DS_Store b/HDL_ON/.DS_Store index 369c06c..b92307c 100644 --- a/HDL_ON/.DS_Store +++ b/HDL_ON/.DS_Store Binary files differ diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs index 3141f5d..1517a67 100644 --- a/HDL_ON/Common/ApiUtlis.cs +++ b/HDL_ON/Common/ApiUtlis.cs @@ -356,12 +356,15 @@ catch { } finally { - #region 璇诲彇鏈湴鏁版嵁 - //璇诲彇闊充箰淇℃伅 - UI.Music.A31MusicModel.ReadMusicStates(); - //鎼滅储缃戝叧 - DriverLayer.Control.Ins.SearchLoaclGateway(); - #endregion + if (DB_ResidenceData.Instance.CurrentRegion != null) + { + #region 璇诲彇鏈湴鏁版嵁 + //璇诲彇闊充箰淇℃伅 + UI.Music.A31MusicModel.ReadMusicStates(); + //鎼滅储缃戝叧 + DriverLayer.Control.Ins.SearchLoaclGateway(); + #endregion + } } }) { IsBackground = true }.Start(); diff --git a/HDL_ON/Common/FileUtlis.cs b/HDL_ON/Common/FileUtlis.cs index 0d3e2f2..63a3e07 100644 --- a/HDL_ON/Common/FileUtlis.cs +++ b/HDL_ON/Common/FileUtlis.cs @@ -48,6 +48,10 @@ { get { + if(DB_ResidenceData.Instance.CurrentRegion == null || DB_ResidenceData.Instance.CurrentRegion.RegionID == null) + { + return AccountPath; + } if (string.IsNullOrEmpty(regionPath) || !regionPath.Contains(DB_ResidenceData.Instance.CurrentRegion.RegionID )) { regionPath = Path.Combine(AccountPath, DB_ResidenceData.Instance.CurrentRegion.RegionID); @@ -305,6 +309,9 @@ } } }); + }else + { + action?.Invoke(); } } diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs index a19d240..70b5864 100644 --- a/HDL_ON/Common/HDLCommon.cs +++ b/HDL_ON/Common/HDLCommon.cs @@ -537,6 +537,12 @@ if (b) { Android.Content.Intent intent = new Android.Content.Intent(); + var bundle = new Android.OS.Bundle(); + //浼犻�抧ame鍙傛暟涓簍inyphp + bundle.PutString("Token", ezChildAccessToken.accessToken); + bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString); + bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost); + intent.PutExtras(bundle); intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity")); Shared.Application.Activity.StartActivity(intent); } diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index ab3559c..3d2d9c9 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -4,6 +4,11 @@ { public static class StringId { + public const int RemoteControl = 435; + public const int TimeSwitch = 434; + public const int WaterValve = 433; + public const int Use3tyBrandListTip = 432; + public const int Not3tyBrandListTip = 431; public const int MinuteUint = 430; public const int HourUint = 429; public const int AnionTime = 428; @@ -622,7 +627,115 @@ /// <summary> /// 鏄惁閲嶇疆婊ょ綉 /// </summary> - public const int ResetFilterScreenMsg = 1049; + public const int ResetFilterScreenMsg = 1049; + /// <summary> + /// 娣诲姞璁惧 + /// </summary> + public const int AddDevice = 1050; + /// <summary> + /// mini鏅鸿兘閬ユ帶鍣� + /// </summary> + public const int MiniIntelligentRemoteControl = 1051; + /// <summary> + /// 娣诲姞绾㈠閬ユ帶 + /// </summary> + public const int AddInfraredRemoteControl = 1052; + /// <summary> + /// 闀挎寜绾㈠閬ユ帶鍣ㄦ寜閽�10绉掞紝鎸囩ず鐏摑鑹插揩闂� + /// </summary> + public const int AddInfraredRemoteControlMsg1 = 1053; + /// <summary> + /// 璇风‘淇濇偍鐨勮摑鐗欏凡寮�鍚苟澶勪簬鍙互琚悳绱㈢姸鎬� + /// </summary> + public const int AddInfraredRemoteControlMsg2 = 1054; + /// <summary> + /// 涓嬩竴姝� + /// </summary> + public const int Next = 1055; + /// <summary> + /// 璁惧鎼滅储涓�... + /// </summary> + public const int SearchingDevice = 1056; + /// <summary> + /// 娌℃湁鍙戠幇绾㈠閬ユ帶鍣� + /// </summary> + public const int NoInfraredRemoteControlFound = 1057; + /// <summary> + /// 1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數{0}2銆佽妫�鏌ヨ摑鐗欏姛鑳芥槸鍚︽甯稿紑鍚瘂0}3銆佽妫�鏌ユ寚绀虹伅鏄惁钃濊壊蹇棯鐘舵�� + /// </summary> + public const int AddInfraredRemoteControlMsg3 = 1058; + /// <summary> + /// 閲嶆柊鎼滅储 + /// </summary> + public const int ReSearch = 1059; + /// <summary> + /// 杩炴帴WiFi + /// </summary> + public const int ConnectWiFi = 1060; + /// <summary> + /// 鐩墠鍙敮鎸�2.4G WiFi缃戠粶{0}鏆備笉鏀寔甯︽湁涓枃瀛楃鐨刉iFi鍚嶇О + /// </summary> + public const int AddInfraredRemoteControlMsg4 = 1061; + /// <summary> + /// 瀵嗙爜 + /// </summary> + public const int Password = 1062; + /// <summary> + /// 姝e湪杩炴帴涓�... + /// </summary> + public const int NowConnectting = 1063; + /// <summary> + /// 璇疯绾㈠閬ユ帶灏介噺鎺ヨ繎WIFI璺敱鍣� + /// </summary> + public const int AddInfraredRemoteControlMsg5 = 1064; + /// <summary> + /// 缃戠粶閾炬帴涓� + /// </summary> + public const int InTheNetworkLink = 1065; + /// <summary> + /// 涓婁紶鍒颁簯 + /// </summary> + public const int UploadToCloud = 1066; + /// <summary> + /// 杩炴帴鎴愬姛 + /// </summary> + public const int ConnectSuccess = 1067; + /// <summary> + /// 1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數{0}2銆佽寮�鍚摑鐗欏姛鑳絳0}3銆佸苟闀挎寜鎸夐挳10s锛屾寚绀虹伅甯镐寒 + /// </summary> + public const int AddInfraredRemoteControlMsg6 = 1068; + /// <summary> + /// 娣诲姞澶辫触 + /// </summary> + public const int AddFail = 1069; + /// <summary> + /// 娣诲姞鎴愬姛 + /// </summary> + public const int AddSuccess = 1070; + /// <summary> + /// 鍙互寮�濮嬩娇鐢ㄧ孩澶栭仴鎺у姛鑳斤紒 + /// </summary> + public const int AddInfraredRemoteControlMsg7 = 1071; + /// <summary> + /// 寮�濮嬩娇鐢� + /// </summary> + public const int StartUse = 1072; + /// <summary> + /// 璇锋墦寮�钃濈墮 + /// </summary> + public const int PleaseTurnOnBluetooth = 1073; + /// <summary> + /// 浣嶇疆淇℃伅(GBS)涓嶅彲鐢� + /// </summary> + public const int GbsIsNotAvailable = 1074; + /// <summary> + /// 缃戠粶涓嶅彲鐢� + /// </summary> + public const int NetworkIsNotAvailable = 1075; + /// <summary> + /// 閫夋嫨绾㈠閬ユ帶鍣� + /// </summary> + public const int ChooseInfraredRemoteControl = 1076; diff --git a/HDL_ON/Common/Utlis.cs b/HDL_ON/Common/Utlis.cs index e2c5604..37e1aa8 100644 --- a/HDL_ON/Common/Utlis.cs +++ b/HDL_ON/Common/Utlis.cs @@ -42,6 +42,7 @@ { Text = mes, CloseTime = closeTime, + MaxWidth = Application.GetRealWidth(300), Direction = AMPopTipDirection.None }; tip.Show(MainPage.BaseView); @@ -273,7 +274,7 @@ } /// <summary> - /// + /// 鏃堕棿鎴宠浆鏃堕棿瀛楃涓� /// </summary> /// <param name="unixTimeStamp"></param> /// <param name="format"></param> diff --git a/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs b/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs index be70231..ecd149d 100644 --- a/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs +++ b/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs @@ -86,6 +86,17 @@ } } /// <summary> + /// 鏈湴鎺у埗绾㈠璁惧鍔熻兘涓婚 + /// </summary> + public string ControlIrFunctionTopic + { + get + { + return $"/base/${Control.Ins.GatewayId}/thing/property/down"; + } + } + + /// <summary> /// 璇诲彇鍔熻兘鐘舵�� /// </summary> public string ReadStatus diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs index 106ed8e..de9a955 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -50,15 +50,15 @@ return _msg_id++; } } - /// <summary> - /// 鑾峰彇13浣嶆椂闂存埑 - /// </summary> - /// <returns></returns> - public string Get_TimeStamp() - { - long t = DateTime.Now.Ticks / 10000; - return t.ToString(); - } + ///// <summary> + ///// 鑾峰彇13浣嶆椂闂存埑 + ///// </summary> + ///// <returns></returns> + //public string Get_TimeStamp() + //{ + // long t = DateTime.Now.Ticks / 10000; + // return t.ToString(); + //} /// <summary> /// 鏄惁鎼滅储鏈湴缃戝叧鎴愬姛 @@ -229,7 +229,7 @@ public void SearchLoaclGateway() { //2021-01-15 : 浣忓畢娌℃湁缁戝畾缃戝叧鐨勬椂鍊欎笉鐢ㄦ悳绱紝骞朵笖涓嶈兘閾炬帴mqtt - if(DB_ResidenceData.Instance.HomeGateway == null) + if(DB_ResidenceData.Instance.HomeGateway == null || string.IsNullOrEmpty(DB_ResidenceData.Instance.HomeGateway.gatewayId)) { return; } @@ -603,6 +603,7 @@ } MainPage.Log($"灞�鍩熺綉淇℃伅: {receiveObj.Topic}"); + MainPage.Log($"鍐呭: {res[1]}"); //楠岃瘉鏈夋晥鏁版嵁闀垮害 @@ -613,13 +614,14 @@ //} receiveObj.BodyDataString = res[1]; - var bodyJObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(res[1]); - if (bodyJObj == null) - { - return receiveObj; - } if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply) { + var bodyJObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(res[1]); + if (bodyJObj == null) + { + return receiveObj; + } + var device = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceModule>(bodyJObj.objects.ToString()); if (device.device_mac == DB_ResidenceData.Instance.residenceGatewayMAC) { @@ -643,6 +645,11 @@ { //TODO 鏆傛椂涓嶄紶姝g‘鐨勬暟鎹笂鍘伙紝濡傛灉鍚庨潰瑕佷紭鍖栧墠闈㈣繖浜涗唬鐮� UpdataFunctionStatus(receiveObj.BodyDataString, null); + } + else + { + //涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣�) + Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceiveEx(receiveObj.Topic, receiveObj.BodyDataString); } } return receiveObj; @@ -689,6 +696,7 @@ MainPage.Log($"A鍗忚鏇存柊鐘舵��:{revString}"); foreach (var attr in updateTemp.status) { + localFunction.time_stamp = temp.time_stamp; localFunction.SetAttrState(attr.key, attr.value); } diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs index d4762a2..35e8539 100644 --- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs +++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs @@ -957,7 +957,7 @@ { try { - var sendJob = new JObject { { "id", Control.Ins.msg_id.ToString() }, { "time_stamp", (DateTime.Now.Ticks / 100000).ToString() } }; + var sendJob = new JObject { { "id", Control.Ins.msg_id.ToString() }, { "time_stamp", Utlis.GetTimestamp ()} }; var bodyString = JsonConvert.SerializeObject(sendJob); var sendBytes = Control.Ins.ConvertSendBodyData(CommunicationTopic.SearchLoaclGateway, bodyString); diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs index a3fe1fe..61ca982 100644 --- a/HDL_ON/DAL/Mqtt/MqttClient.cs +++ b/HDL_ON/DAL/Mqtt/MqttClient.cs @@ -11,6 +11,7 @@ using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI; +using HDL_ON.DAL.Server; namespace HDL_ON.DAL.Mqtt { @@ -198,16 +199,37 @@ QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce }; //App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡 - var study = new MqttTopicFilter() + var pirStudy = new MqttTopicFilter() { Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up", QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce }; + #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰� + //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡 + var appHomeRefresh = new MqttTopicFilter() + { + Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appHomeRefresh/up", + QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce + }; + //appRoomRefresh锛氭埧闂存暟鎹埛鏂伴�氱煡 + var appRoomRefresh = new MqttTopicFilter() + { + Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appRoomRefresh/up", + QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce + }; + //appDeviceRefresh锛氳澶囨暟鎹埛鏂伴�氱煡 + var appDeviceRefresh = new MqttTopicFilter() + { + Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appDeviceRefresh/up", + QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce + }; + #endregion + Utlis.WriteLine("寮�濮嬭闃咃紒"); var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] { - pirStatus, - study, + pirStatus,pirStudy, + appDeviceRefresh,appHomeRefresh,appRoomRefresh, topicFilterPush2, topicAlinkStatus }); if (result.Items[0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS0) { @@ -233,6 +255,10 @@ } if (!UserInfo.Current.IsLogin) + { + return; + } + if(DB_ResidenceData.Instance.CurrentRegion == null || DB_ResidenceData.Instance.CurrentRegion.RegionID == null) { return; } @@ -287,6 +313,12 @@ } } + //涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊) + if (Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceiveEx(topic, e.ApplicationMessage.Payload, mqttEncryptKey, tuyaEncryptKey) == true) + { + return; + } + if (topic == $"/BusGateWayToClient/{UserInfo.Current.ID}" + PushNotifySqueeze) { var mMes = Encoding.UTF8.GetString(e.ApplicationMessage.Payload); @@ -299,18 +331,88 @@ var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey); var revString = Encoding.UTF8.GetString(bytes); HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.controldata = revString; - //ReceiveCheckGateway(ss); - //return; } //App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡 else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up") { var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey); var revString = Encoding.UTF8.GetString(bytes); - HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.buttondata = revString; - //ReceiveCheckGateway(ss); - //return; + UI.UI2.PersonalCenter.PirDevice.Method.controldata = revString; } + #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰� + //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡 + else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appHomeRefresh/up") { + MainPage.Log("浣忓畢鏁版嵁鍒锋柊閫氱煡"); + new HttpServerRequest().GetHomePager(); + } + //appRoomRefresh锛氭埧闂存暟鎹埛鏂伴�氱煡 + else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appRoomRefresh/up"){ + MainPage.Log("鎴块棿鏁版嵁鍒锋柊閫氱煡"); + var roomResult = new HttpServerRequest().GetRoomList(); + if (roomResult.Code == StateCode.SUCCESS) + { + MainPage.Log($"璇诲彇鎴块棿淇℃伅鎴愬姛"); + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<SpatialApiPack>(roomResult.Data.ToString()); + if (revData == null) + { + revData = new SpatialApiPack(); + } + { + SpatialInfo.CurrentSpatial.UpdateSpatialList(revData.list); + } + } + else + { + MainPage.Log($"璇诲彇鎴块棿鏁版嵁澶辫触:Code:{roomResult.Code}; msg:{roomResult.message}"); + } + } + //appDeviceRefresh锛氳澶囨暟鎹埛鏂伴�氱煡 + else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appDeviceRefresh/up") { + MainPage.Log("璁惧鏁版嵁鍒锋柊閫氱煡"); + var deviceResult = new HttpServerRequest().GetDeviceList(); + if (deviceResult.Code == StateCode.SUCCESS) + { + MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛"); + var deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString()); + if (deviceList == null) + { + deviceList = new DevcieApiPack(); + } + string delFile = ""; + if (FunctionList.List.GetDeviceFunctionList().Count > 0) + { + for (int i = 0; i < FunctionList.List.GetDeviceFunctionList().Count;) + { + var localFunction = FunctionList.List.GetDeviceFunctionList()[i]; + if (localFunction.Spk_Prefix == FunctionCategory.Music || string.IsNullOrEmpty(localFunction.Spk_Prefix)) + { + i++; + continue; + } + var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId); + + if (delFile == localFunction.savePath) + { + i++; + continue; + } + delFile = localFunction.savePath; + FunctionList.List.DeleteFunction(localFunction); + } + } + //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� + foreach (var newFunction in deviceList.list) + { + newFunction.SaveFunctionFile(); + FunctionList.List.IniFunctionList(newFunction.savePath); + } + } + else + { + MainPage.Log($"璇诲彇浜戠璁惧鏁版嵁澶辫触:Code:{deviceResult.Code}; Msg:{deviceResult.message}"); + } + } + #endregion //A缃戝叧璁惧鐘舵��-鍖呭惈娑傞甫璁惧 else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/property/send") { @@ -322,7 +424,7 @@ else { //SetGatewayOnlineResetCheck(); - var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, mqttEncryptKey); + //var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, mqttEncryptKey); //bus鏁版嵁瑙f瀽 var packet = new Packet(); diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs index 55f94be..7dd8e14 100644 --- a/HDL_ON/DAL/Server/HttpServerRequest.cs +++ b/HDL_ON/DAL/Server/HttpServerRequest.cs @@ -1781,6 +1781,41 @@ return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieList, requestJson); } /// <summary> + /// 鑾峰彇鎸囧畾绗笁鏂瑰搧鐗岀殑缁戝畾杩囩殑璁惧鍒楄〃 + /// </summary> + /// <param name="productPlatform"></param> + /// <param name="productBrand"></param> + /// <returns></returns> + public ResponsePackNew Get3TyBrandBindDeviceList(string productPlatform, string productBrand) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.RegionID); + d.Add("productPlatform", productPlatform); + d.Add("productBrand", productBrand); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieList, requestJson); + } + /// <summary> + /// 鑾峰彇鎸囧畾绗笁鏂瑰搧鐗岀殑璁惧鍒楄〃 + /// </summary> + /// <param name="productPlatform"></param> + /// <param name="productBrand"></param> + /// <returns></returns> + public ResponsePackNew Get3TyBrandDeviceList(string productPlatform,string productBrand) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("categoryType", 1); + d.Add("productPlatform", productPlatform); + d.Add("productBrand", productBrand); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Get3tyBrandDevcieList, requestJson); + } + + + + /// <summary> /// 鑾峰彇璁惧璇︽儏鍒楄〃 /// </summary> /// <returns></returns> diff --git a/HDL_ON/DAL/Server/NewAPI.cs b/HDL_ON/DAL/Server/NewAPI.cs index 86fce77..e016870 100644 --- a/HDL_ON/DAL/Server/NewAPI.cs +++ b/HDL_ON/DAL/Server/NewAPI.cs @@ -322,6 +322,10 @@ /// </summary> public const string Api_Post_GetDevcieList = "/home-wisdom/app/device/list"; /// <summary> + /// 鑾峰彇绗笁鏂瑰搧鐗岃澶囧垪琛� + /// </summary> + public const string Api_Post_Get3tyBrandDevcieList = "/home-wisdom/app/product/list"; + /// <summary> /// 鑾峰彇璁惧璇︽儏 /// </summary> public const string Api_Post_GetDevcieInfoList = "/home-wisdom/app/device/info"; diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 0216ac5..0997ffa 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -65,6 +65,22 @@ #region 浼樺寲鍖哄煙 2021-02-25 /// <summary> + /// 鏇存柊鐨勬渶鍚庢椂闂� + /// </summary> + public string time_stamp = "1615261019796"; + + public string GeteTime() + { + try + { + DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return startTime.AddMilliseconds(Convert.ToDouble(time_stamp)).ToString("s"); + } + catch { + return DateTime.MinValue.ToString("s"); + } + } + /// <summary> /// 鑾峰彇灞炴�у垪琛� /// </summary> /// <returns></returns> @@ -124,8 +140,16 @@ return true; } - - + /// <summary> + /// icon鏂囦欢鍚嶇О + /// </summary> + public string IconName + { + get + { + return spk.Replace(".",""); + } + } /// <summary> /// 涓婁竴娆℃墦寮�鐨勪寒搴� @@ -512,9 +536,7 @@ { var sendDataObj = new AlinkFunctionStatusObj(); sendDataObj.id = Control.Ins.msg_id.ToString(); - sendDataObj.time_stamp = Control.Ins.Get_TimeStamp(); - - + sendDataObj.time_stamp = Utlis.GetTimestamp(); var acd = new AlinkStatusData(); acd.sid = sid; foreach (var dic in commandDictionary) @@ -524,9 +546,7 @@ aca.value = dic.Value; acd.status.Add(aca); } - sendDataObj.objects.Add(acd); - return sendDataObj; } /// <summary> @@ -701,9 +721,22 @@ /// </summary> public const string FanSpeed = "fan"; /// <summary> + /// 鎵嬪姩椋庡悜 + /// </summary> + public const string FanManual = "fan_manual"; + /// <summary> + /// 鑷姩椋庡悜 + /// </summary> + public const string FanAuto = "fan_auto"; + + /// <summary> /// 璁剧疆娓╁害 /// </summary> public const string SetTemp = "set_temp"; + /// <summary> + /// 娓╁害鍔犲噺 + /// </summary> + public const string SetTempStep = "set_temp_step"; /// <summary> /// 娓╁害妯″紡 /// 绌鸿皟銆佸湴鐑�//app鑷姞 @@ -802,6 +835,10 @@ /// 鎵撳紑鐧昏(椋庢墖) /// </summary> public const string OpenLevel = "openLevel"; + /// <summary> + /// 绾㈠鎸夐敭 + /// </summary> + public const string Key = "key"; #region tuya @@ -988,9 +1025,13 @@ /// </summary> public const string ElectricTV = "electrical.tv"; /// <summary> + /// 绾㈠銆佺數瑙� + /// </summary> + public const string TvIr = "ir.tv"; + /// <summary> /// 瀹剁數銆侀鎵� /// </summary> - public const string ElectricFan = "electrical.fan"; + public const string ElectricFan = "electrical.fan"; /// <summary> /// 瀹剁數銆佹秱楦︾┖姘斿噣鍖栧櫒 /// </summary> @@ -998,7 +1039,7 @@ /// <summary> /// 瀹剁數銆佹秱楦︾數椋庢墖 /// </summary> - public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz"; + public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz"; /// <summary> /// 瀹剁數銆佹秱楦︽壂鍦版満鍣ㄤ汉 /// </summary> @@ -1016,9 +1057,9 @@ /// </summary> public const string IrModule = "ir.module"; /// <summary> - /// 绾㈠鐢佃 + /// 绾㈠閬ユ帶鍣� /// </summary> - public const string TvIr = "ir.tv"; + public const string IrLearn = "ir.learn"; /// <summary> @@ -1100,8 +1141,12 @@ /// 瀹剁數 /// </summary> public const string Electric = "electrical"; + /// <summary> + /// 绾㈠璁惧 + /// </summary> + public const string IR = "ir"; - //Music = 0x09, + } diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 8d83075..0d05bdb 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -41,7 +41,7 @@ /// <returns></returns> public List<Function> GetAcList() { - return Functions.FindAll((obj) => obj.spk == SPK.AcStandard); + return Functions.FindAll((obj) => obj.spk == SPK.AcStandard || obj.spk == SPK.AcIr); } /// <summary> @@ -97,11 +97,21 @@ return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan || obj.spk == SPK.ElectricSocket + || obj.spk == SPK.IrLearn + || obj.spk == SPK.TvIr || obj.spk == SPK.ElectricTV || obj.spk == SPK.ElectricTuyaAirCleaner || obj.spk == SPK.ElectricTuyaWeepRobot || obj.spk == SPK.ElectricTuyaWaterValve || obj.spk == SPK.ClothesHanger); + } + /// <summary> + /// 閬ユ帶鍣ㄥ垪琛� + /// </summary> + /// <returns></returns> + public List<Function> GetIrLearinList() + { + return Functions.FindAll((obj) => obj.spk == SPK.IrLearn); } /// <summary> /// 椋庢墖鍒楄〃 @@ -115,7 +125,7 @@ /// </summary> public List<Function> GetTVList() { - return Functions.FindAll((obj) => obj.spk == SPK.ElectricTV); + return Functions.FindAll((obj) => obj.spk == SPK.ElectricTV || obj.spk == SPK.TvIr); } /// <summary> /// 瀹剁數鎻掑骇鍒楄〃 @@ -191,7 +201,11 @@ /// 鍔犺浇鍔熻兘鍒楄〃 /// </summary> /// <param name="filePath"></param> - public void IniFunctionList(string filePath) + /// <param name="checkRepeat"> + /// <para>鑰冭檻鍒版�ц兘闂杩藉姞姝ゅ彉閲�,鏄惁妫�娴嬮噸澶�,鍙function鏈夋晥</para> + /// <para>true:褰撻噸澶嶅瓨鍦ㄦ椂,鏇挎崲鎺�</para> + /// <para>false:鐩存帴鏃犳潯浠舵坊鍔�</para></param> + public void IniFunctionList(string filePath, bool checkRepeat = false) { // todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃 if (filePath.StartsWith("FunctionData_")) @@ -204,10 +218,21 @@ FileUtlis.Files.DeleteFile(filePath); return; } - - + if (checkRepeat == true) + { + //妫�娴嬮噸澶� + for (int i = 0; i < Functions.Count; i++) + { + if (Functions[i].deviceId == tempFunction.deviceId) + { + //鍏堢Щ闄ゆ帀鍐嶅姞 + Functions.RemoveAt(i); + Functions.Add(tempFunction); + return; + } + } + } Functions.Add(tempFunction); - } if (filePath.StartsWith("SceneData_")) { diff --git a/HDL_ON/Entity/Integratedbrand/IntegratedBrand.cs b/HDL_ON/Entity/Integratedbrand/IntegratedBrand.cs index 70be6aa..ca7519b 100644 --- a/HDL_ON/Entity/Integratedbrand/IntegratedBrand.cs +++ b/HDL_ON/Entity/Integratedbrand/IntegratedBrand.cs @@ -25,9 +25,82 @@ /// 骞冲彴鏍囪瘑 /// </summary> public string productPlatform; - - - - } + + /// <summary> + /// 绗笁鏂硅澶囦俊鎭� + /// </summary> + public class IntegratedBrandDevice + { + + /// <summary> + /// 浜у搧鍞竴鏍囪瘑 + /// </summary> + public string productId; + + /// <summary> + /// 浜у搧鍚嶇О + /// </summary> + public string productName; + + /// <summary> + /// 浜у搧鍘傚晢 + /// </summary> + public string productSupplier; + + /// <summary> + /// 浜у搧鍝佺墝锛堝搧鐗屾爣璇嗭級 + /// </summary> + public string productBrand; + + /// <summary> + /// 浜у搧绫诲瀷 + /// </summary> + public string productType; + + /// <summary> + /// 绗簩鍝佺被鍚� + /// </summary> + public string categorySecondName; + + /// <summary> + /// 绗簩鍝佺被code + /// </summary> + public string categorySecondCode; + + /// <summary> + /// 绗竴鍝佺被code + /// </summary> + public string categoryFirstCode; + + /// <summary> + /// 绗竴鍝佺被鍚嶇О + /// </summary> + public string categoryFirstName; + /// <summary> + /// 浜у搧鍨嬪彿 + /// </summary> + public string productVersion; + + /// <summary> + /// 浜у搧骞冲彴锛堝钩鍙版爣璇嗭級 + /// </summary> + public string productPlatform; + + /// <summary> + /// 浜у搧鍥剧墖 + /// </summary> + public string productPic; + + /// <summary> + /// 鍔熻兘绫诲瀷Key + /// </summary> + public string spk; + + /// <summary> + /// 璁惧缁戝畾鏂瑰紡 WIFI銆丵RSCAN銆乑IG_BEE銆丒THERNET + /// </summary> + public string bindType; + } + } diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems index 7518066..b64ad47 100644 --- a/HDL_ON/HDL_ON.projitems +++ b/HDL_ON/HDL_ON.projitems @@ -26,6 +26,8 @@ <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Function.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\PublicAssmebly.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\CSS\CSS.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothAndroidLogic.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothIOSLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\UserPageBLL.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\UserPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\ClassificationPage.cs" /> @@ -357,17 +359,28 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\ClothesHangerSetTimePage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\ArmSensorHistroyPaging.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\AcControlPage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlCloudReceiveLogic.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlWifiLogic.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\ProgressRowBar.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection3Page.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection1Page.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection2Page.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection4Page.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddThirdPartyDeviceMenuListPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\Matching.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\PirNameView.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\BrandListPage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\IrLearnPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\EditControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\FrameLayout50.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\PirView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\ControlView.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\AddDevciePage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\DeviceListPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\MainView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\HeigthChangeView.cs" /> </ItemGroup> <ItemGroup> - <Folder Include="$(MSBuildThisFileDirectory)UI\" /> <Folder Include="$(MSBuildThisFileDirectory)DAL\" /> <Folder Include="$(MSBuildThisFileDirectory)DAL\Mqtt\" /> <Folder Include="$(MSBuildThisFileDirectory)Common\" /> @@ -405,4 +418,4 @@ <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\" /> <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\" /> </ItemGroup> -</Project> +</Project> \ No newline at end of file diff --git a/HDL_ON/UI/.DS_Store b/HDL_ON/UI/.DS_Store index bdfddd3..aa35eb6 100644 --- a/HDL_ON/UI/.DS_Store +++ b/HDL_ON/UI/.DS_Store Binary files differ diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs index 7ee9323..1850d6b 100644 --- a/HDL_ON/UI/MainPage.cs +++ b/HDL_ON/UI/MainPage.cs @@ -26,7 +26,7 @@ /// <summary> /// 鐗堟湰鍙� /// </summary> - public static string VersionString = "1.1.0305"; + public static string VersionString = "1.1.0310"; ///// <summary> ///// 瀹㈡埛绔被鍨� ///// </summary> @@ -53,6 +53,14 @@ /// 鏄惁杩涘叆鍚庡彴 /// </summary> public static bool IsEnterBackground = false; + /// <summary> + /// 褰撳墠鍒嗛〉绱㈠紩 + /// 0:鏀惰棌 + /// 1:鍒嗙被 + /// 2:鏅鸿兘 + /// 3:涓汉 + /// </summary> + public static int CurPageIndex = 9999; ///// <summary> ///// 鍏徃浠g爜 diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs index 564ed4d..f8dae98 100644 --- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs +++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs @@ -75,6 +75,7 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; case SPK.ElectricTV: + case SPK.TvIr: var tvView = new TVPage(function); MainPage.BasePageView.AddChidren(tvView); tvView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); @@ -138,6 +139,10 @@ var acPage = new AcControlPage(); acPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); break; + case SPK.IrLearn: + var irLearinPage = new IrLearnPage(); + irLearinPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); + break; } }; return eventHandler; diff --git a/HDL_ON/UI/UI0-Public/TopViewDiv.cs b/HDL_ON/UI/UI0-Public/TopViewDiv.cs index 556ac0f..080a209 100644 --- a/HDL_ON/UI/UI0-Public/TopViewDiv.cs +++ b/HDL_ON/UI/UI0-Public/TopViewDiv.cs @@ -242,7 +242,33 @@ btnAddIcon.MouseUpEventHandler += (sender, e) => { - LoadEvent_AddEvent(type, callBack); + if (type == "floors") + { + Action<string> callBackAction = (floorName) => + { + callBack("add", floorName); + }; + string newFloorName = "1F"; + for (int i = 0; i < SpatialInfo.CurrentSpatial.FloorList.Count + 1;) + { + newFloorName = ++i + "F"; + if (null == SpatialInfo.CurrentSpatial.FloorList.Find((obj) => obj.roomName == newFloorName)) + { + break; + } + } + var fs = new List<string>(); + foreach (var f in SpatialInfo.CurrentSpatial.FloorList) + { + fs.Add(f.roomName); + } + new PublicAssmebly().LoadDialog_EditParater(StringId.AddFloors, newFloorName, callBackAction, StringId.FloorNameCannotBeEmpty, + StringId.AddFloorFailed_FloorAlreadyExist, fs); + } + else + { + callBack("", ""); + } }; } diff --git a/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs b/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs index 4620b7a..00106dd 100644 --- a/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs +++ b/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs @@ -36,38 +36,11 @@ /// <param name="type">娣诲姞鎸夐挳鐨勫姛鑳界被鍨�</param> void LoadEvent_AddEvent(string type,Action <string,string> callBack) { - switch (type) - { - case "floors": - Action<string> callBackAction = (floorName) => - { - callBack("add", floorName); - }; - string newFloorName = "1F"; - for (int i = 0; i < SpatialInfo.CurrentSpatial.FloorList.Count + 1; ) - { - newFloorName = ++i + "F"; - if (null == SpatialInfo.CurrentSpatial.FloorList.Find((obj)=>obj.roomName == newFloorName)) - { - break; - } - } - var fs = new List<string>(); - foreach(var f in SpatialInfo.CurrentSpatial.FloorList) - { - fs.Add(f.roomName); - } - new PublicAssmebly().LoadDialog_EditParater(StringId.AddFloors,newFloorName , callBackAction,StringId.FloorNameCannotBeEmpty, - StringId.AddFloorFailed_FloorAlreadyExist,fs); - break; - case "rooms": - callBack("", ""); - break; - case "Member": - callBack("",""); - break; + //switch (type) + //{ - } + + //} } } diff --git a/HDL_ON/UI/UI0-Stan/Controls/BaseControl/TextInputBase.cs b/HDL_ON/UI/UI0-Stan/Controls/BaseControl/TextInputBase.cs index 29d8059..b377db9 100644 --- a/HDL_ON/UI/UI0-Stan/Controls/BaseControl/TextInputBase.cs +++ b/HDL_ON/UI/UI0-Stan/Controls/BaseControl/TextInputBase.cs @@ -7,7 +7,7 @@ namespace HDL_ON.Stan { /// <summary> - /// 杈撳叆妗嗘帶浠剁殑鏈�鍒濆師鍨�(涓嶅缓璁慨鏀瑰拰鐩存帴浣跨敤):鏍囧噯瀛椾綋棰滆壊锛屾枃瀛楀悜宸﹂潬榻�,14鍙峰瓧 + /// 杈撳叆妗嗘帶浠剁殑鏈�鍒濆師鍨�(涓嶅缓璁慨鏀瑰拰鐩存帴浣跨敤):鏍囧噯瀛椾綋棰滆壊(0xFF798394)锛屾枃瀛楀悜宸﹂潬榻�,14鍙峰瓧 /// </summary> public class TextInputBase : EditText { diff --git a/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomClickButton.cs b/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomClickButton.cs index d1ec836..1476dd3 100644 --- a/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomClickButton.cs +++ b/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomClickButton.cs @@ -22,7 +22,7 @@ /// <param name="i_width">鏈変簺鐣岄潰寰堢壒娈�,涓嶇粺涓�鎸夐敭瀹藉害,鎵�浠ラ鐣欐鍙傛暟</param> public BottomClickButton(int i_width = 188) { - this.Yaxis = Application.GetRealHeight(539); + this.Yaxis = Application.GetRealHeight(543); //杩欎釜鏄竴鑸綅缃� this.Y = this.Yaxis; @@ -33,6 +33,7 @@ this.Gravity = Gravity.CenterHorizontal; this.Radius = (uint)Application.GetRealHeight(44) / 2; this.TextSize = CSS_FontSize.SubheadingFontSize; + this.BackgroundColor = CSS_Color.MainColor; this.IsBold = true; } } diff --git a/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomItemSelectControl.cs b/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomItemSelectControl.cs index aaff1c0..ec3f199 100644 --- a/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomItemSelectControl.cs +++ b/HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomItemSelectControl.cs @@ -100,7 +100,7 @@ /// 娣诲姞鑿滃崟琛� /// </summary> /// <param name="i_listText">鏄剧ず鐨勫垪琛ㄦ枃瀛�</param> - /// <param name="i_listSelect">榛樿閫夋嫨</param> + /// <param name="i_listSelect">榛樿閫夋嫨(璇峰嬁璁剧疆涓簄ull)</param> public void AddRowMenu(List<string> i_listText, List<int> i_listSelect) { foreach (var index in i_listSelect) diff --git a/HDL_ON/UI/UI0-Stan/Controls/CompoundControls/ProgressRowBar.cs b/HDL_ON/UI/UI0-Stan/Controls/CompoundControls/ProgressRowBar.cs new file mode 100644 index 0000000..f110e78 --- /dev/null +++ b/HDL_ON/UI/UI0-Stan/Controls/CompoundControls/ProgressRowBar.cs @@ -0,0 +1,251 @@ +锘縰sing HDL_ON.Stan; +using Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.UI +{ + /// <summary> + /// 琛屾潯绫诲瀷鐨勮繘搴︽潯鎺т欢 + /// </summary> + public class ProgressRowBar : FrameLayout + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 杩涘害鏉¤兘鍚﹀線鍥炶蛋(榛樿涓嶅彲浠�) + /// </summary> + public bool ProgressBarGoback = false; + /// <summary> + /// 浼氱Щ鍔ㄧ殑杩涘害鏉� + /// </summary> + private FrameLayout btnProgressBar = null; + /// <summary> + /// 鏄剧ず鏁板�肩櫨鍒嗘瘮鐨勬帶浠� + /// </summary> + private NormalViewControl btnProgressTextView = null; + /// <summary> + /// 绾跨▼鏄惁杩愯 + /// </summary> + private bool isThreadAction = false; + /// <summary> + /// 妯″紡鍖哄垎 + /// </summary> + private int m_ModeDiv = -1; + + /// <summary> + /// 杩涘害鏉℃槸鍚﹀彲瑙� + /// </summary> + public new bool Visible + { + get { return base.Visible; } + set + { + if (this.btnProgressTextView != null) + { + this.btnProgressTextView.Visible = value; + } + base.Visible = value; + } + } + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 琛屾潯绫诲瀷鐨勮繘搴︽潯鎺т欢 + /// </summary> + /// <param name="width"> + /// <para>妯″紡1:浼氬姩鐨勯偅涓繘搴︽潯鐨勫搴�(闈炵湡瀹炲��)</para> + /// <para>妯″紡2:杩涘害鏉″湪鎸佺画鏃犻檺鐨勬潵鍥炵Щ鍔ㄧ殑鍖哄煙瀹藉害(闈炵湡瀹炲��)</para> + /// </param> + /// <param name="height"> + /// <para>妯″紡1:浼氬姩鐨勯偅涓繘搴︽潯鐨勯珮搴�(闈炵湡瀹炲��)</para> + /// <para>妯″紡2:杩涘害鏉″湪鎸佺画鏃犻檺鐨勬潵鍥炵Щ鍔ㄧ殑楂樺害(闈炵湡瀹炲��)</para> + /// </param> + public ProgressRowBar(int width, int height) + { + this.Height = Application.GetRealHeight(height); + this.Width = Application.GetRealWidth(width); + this.BackgroundColor = UI.CSS.CSS_Color.BackgroundColor; + this.Radius = (uint)Application.GetRealHeight(height) / 2; + } + + #endregion + + #region 鈻� 妯″紡1______________________________ + + /// <summary> + /// 妯″紡1 璇ユā寮忎负锛氭墜鍔ㄥ~鍐欒繘搴﹀�� + /// </summary> + /// <param name="showText"> + /// <para>鏄惁鍦ㄨ繘搴︽潯涓婃柟鏄剧ず鏁板�肩櫨鍒嗘瘮</para> + /// <para>璇风‘淇濇帶浠剁殑涓婃柟鏈夎冻澶熺殑鍖哄煙(娉�:璇蜂笉瑕佹墿澶ф鎺т欢鐨勯珮搴�)</para> + /// </param> + public void StartMode1(bool showText = false) + { + if (m_ModeDiv != -1) { return; } + this.m_ModeDiv = 1; + + //浼氱Щ鍔ㄧ殑杩涘害鏉� + this.btnProgressBar = new FrameLayout(); + btnProgressBar.Width = 0; + btnProgressBar.Height = this.Height; + btnProgressBar.BackgroundColor = UI.CSS.CSS_Color.MainColor; + btnProgressBar.Radius = (uint)this.Height / 2; + this.AddChidren(btnProgressBar); + + if (showText == true) + { + //杩涘害鍊兼枃鏈� + this.btnProgressTextView = new NormalViewControl(32, 22, true); + btnProgressTextView.Y = this.Y - Application.GetRealHeight(22 + 10);//10:瀹冧笌杩涘害鏉$殑闂磋窛 + btnProgressTextView.X = this.X - Application.GetRealWidth(32) / 2; + btnProgressTextView.UnSelectedImagePath = "Public/ProgressMsg.png"; + btnProgressTextView.TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel; + btnProgressTextView.TextColor= CSS.CSS_Color.FirstLevelTitleColor; + btnProgressTextView.TextAlignment = TextAlignment.Center; + btnProgressTextView.Text = "0%"; + this.Parent.AddChidren(btnProgressTextView); + } + } + + /// <summary> + /// 閲嶇疆杩涘害鏉�(鍙妯″紡1鏈夋晥) + /// </summary> + public void ResetProgressBar() + { + if (this.m_ModeDiv == 1 && this.btnProgressBar != null) + { + this.btnProgressBar.Width = 0; + } + } + + /// <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 SetValue(decimal value, decimal maxValue) + { + decimal result = value / maxValue; + this.SetValueEx(result); + } + + /// <summary> + /// 璁剧疆杩涘害鍊� + /// </summary> + /// <param name="value"></param> + private void SetValueEx(decimal value) + { + if (btnProgressBar == null || this.m_ModeDiv != 1) + { + return; + } + if (value > 1) { value = 1; } + + HdlThreadLogic.Current.RunMain(() => + { + int width = (int)(value * this.Width); + if (this.ProgressBarGoback == false && btnProgressBar.Width >= width) + { + //涓嶈兘璁╄繘搴︽潯寰�鍥炶蛋 + return; + } + btnProgressBar.Width = width; + if (this.btnProgressTextView != null) + { + //鏂囨湰鏄剧ず + btnProgressTextView.Text = ((int)(value * 100)) + "%"; + //鏂囨湰鏄剧ず鐨勯偅涓浘鐗囨绉诲姩 + this.btnProgressTextView.X = this.X + btnProgressBar.Right - btnProgressTextView.Width / 2; + } + }); + } + + #endregion + + #region 鈻� 妯″紡2______________________________ + + /// <summary> + /// 妯″紡2 璇ユā寮忎负锛氫笉鑳芥墜鍔ㄦ寚瀹氳繘搴﹀��,鐢卞唴閮ㄧ嚎绋嬪鐞�,杩涘害鏉″湪鎸佺画鏃犻檺鐨勬潵鍥炵Щ鍔� + /// </summary> + /// <param name="proWidth">鎸佺画鏃犻檺鐨勬潵鍥炵Щ鍔ㄧ殑杩涘害鏉$殑瀹藉害(闈炵湡瀹炲��)</param> + public void StartMode2(int proWidth = 100) + { + if (m_ModeDiv != -1) { return; } + this.m_ModeDiv = 2; + + //浼氱Щ鍔ㄧ殑杩涘害鏉� + this.btnProgressBar = new FrameLayout(); + btnProgressBar.Width = Application.GetRealWidth(proWidth); + btnProgressBar.Height = this.Height; + btnProgressBar.BackgroundColor = 0xfffb744a; + btnProgressBar.Radius = (uint)this.Height / 2; + this.AddChidren(btnProgressBar); + + //寮�鍚ā寮�2鐨勭嚎绋� + this.StartMode2Thread(); + } + + /// <summary> + /// 閲嶆柊寮�鍚ā寮�2 + /// </summary> + public void ReStartMode2() + { + //寮�鍚ā寮�2鐨勭嚎绋� + this.StartMode2Thread(); + } + + /// <summary> + /// 鏆傚仠妯″紡2 + /// </summary> + public void StopMode2() + { + this.isThreadAction = false; + } + + /// <summary> + /// 寮�鍚ā寮�2鐨勭嚎绋� + /// </summary> + private void StartMode2Thread() + { + if (this.isThreadAction == true) + { + return; + } + this.isThreadAction = true; + int moveLength = Application.GetRealWidth(30); + HdlThreadLogic.Current.RunThread(() => + { + while (this.Parent != null && isThreadAction == true) + { + HdlThreadLogic.Current.RunMain(() => + { + if (this.btnProgressBar.X >= this.Width) + { + //瓒呭嚭鍙宠竟涔嬪悗,鍐嶆浠庡乏杈瑰惊鐜� + this.btnProgressBar.X = -this.btnProgressBar.Width; + return; + } + this.btnProgressBar.X += moveLength; + }, ShowErrorMode.NO); + System.Threading.Thread.Sleep(150); + } + }); + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI0-Stan/Controls/MessageControls/ShowMsgControl.cs b/HDL_ON/UI/UI0-Stan/Controls/MessageControls/ShowMsgControl.cs index 521bfb9..3081f6f 100644 --- a/HDL_ON/UI/UI0-Stan/Controls/MessageControls/ShowMsgControl.cs +++ b/HDL_ON/UI/UI0-Stan/Controls/MessageControls/ShowMsgControl.cs @@ -120,6 +120,13 @@ btnTemp.Text = msgText.Replace("\r\n", string.Empty); //鑾峰彇杩欎釜鏄剧ず鐨勫唴瀹圭殑楂樺害 int rowCount = btnTemp.GetRealRowCountByText(); + //鍐嶇湅鐪嬪畠鍘熸潵鎸夋崲琛岀鍒嗗壊涓哄嚑琛� + var myArry = msgText.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); + //鐪嬬湅璋佺殑琛屾暟澶�,灏辩敤璋佺殑 + if (myArry.Length > rowCount) + { + rowCount = myArry.Length; + } int contentHeight = rowCount * Application.GetRealHeight(18); if (rowCount <= 2) { diff --git a/HDL_ON/UI/UI0-Stan/Controls/NormalControls/NormalViewControl.cs b/HDL_ON/UI/UI0-Stan/Controls/NormalControls/NormalViewControl.cs index 7ebb328..b16a121 100644 --- a/HDL_ON/UI/UI0-Stan/Controls/NormalControls/NormalViewControl.cs +++ b/HDL_ON/UI/UI0-Stan/Controls/NormalControls/NormalViewControl.cs @@ -11,7 +11,7 @@ public class NormalViewControl : ButtonCtrBase { /// <summary> - /// 骞冲嚒鏅�氱殑鎺т欢,鍩烘湰鍙槸鐢ㄦ潵鏄剧ず(姝e父鏂囨湰瀛椾綋棰滆壊,鏂囧瓧鍚戝乏闈犻綈) + /// 骞冲嚒鏅�氱殑鎺т欢,鍩烘湰鍙槸鐢ㄦ潵鏄剧ず(姝e父鏂囨湰瀛椾綋棰滆壊(0xFF798394),鏂囧瓧鍚戝乏闈犻綈) /// </summary> /// <param name="i_Width">瀹藉害</param> /// <param name="i_Height">楂樺害</param> diff --git a/HDL_ON/UI/UI0-Stan/Form/Base/CommonFormBase.cs b/HDL_ON/UI/UI0-Stan/Form/Base/CommonFormBase.cs index 86e2b4e..814f7d7 100644 --- a/HDL_ON/UI/UI0-Stan/Form/Base/CommonFormBase.cs +++ b/HDL_ON/UI/UI0-Stan/Form/Base/CommonFormBase.cs @@ -53,19 +53,6 @@ return; } - /// <summary> - /// 娣诲姞鎸囧畾鐢婚潰锛屽苟绉婚櫎褰撳墠鐢婚潰锛屽惎鍔ㄥ弬鏁扮敱鎸囧畾鐢婚潰鐨凷howForm鍑芥暟鎵�鎸囧畾 - /// </summary> - /// <param name="form">鐩爣鐣岄潰</param> - /// <param name="parameter">鍚姩鍙傛暟锛氬弬鏁扮敱鎸囧畾鐢婚潰鐨凷howForm鍑芥暟鎵�鎸囧畾</param> - public void AddFormAndCloseNowForm(CommonFormBase form, params object[] parameter) - { - //绉婚櫎褰撳墠鐢婚潰 - this.CloseForm(); - //娣诲姞鐢婚潰 - form.AddForm(parameter); - } - #endregion #region 鈻� 鍏抽棴鐣岄潰___________________________ diff --git a/HDL_ON/UI/UI0-Stan/Form/Base/EditorCommonForm.cs b/HDL_ON/UI/UI0-Stan/Form/Base/EditorCommonForm.cs index 0f0e916..31bdbe3 100644 --- a/HDL_ON/UI/UI0-Stan/Form/Base/EditorCommonForm.cs +++ b/HDL_ON/UI/UI0-Stan/Form/Base/EditorCommonForm.cs @@ -287,6 +287,117 @@ #endregion + #region 鈻� 娣诲姞鍒楄〃娑堟伅鏄剧ず鎺т欢_______________ + + /// <summary> + /// 娣诲姞鍒楄〃娑堟伅鏄剧ず鎺т欢,杩斿洖鐨勬槸鏈�鍚庝竴涓帶浠剁殑搴曢儴鍧愭爣 + /// </summary> + /// <param name="frameTable">妗屽竷瀹瑰櫒鎺т欢</param> + /// <param name="i_msg">鏄剧ず鐨勬秷鎭�(鎹㈣璇蜂娇鐢ㄣ�恵0}銆戣繘琛屽垎鍓�)</param> + /// <param name="i_fontSize">瀛椾綋澶у皬</param> + /// <param name="i_fontColor">瀛椾綋棰滆壊</param> + /// <param name="i_height">鎺т欢楂樺害(鐪熷疄鍊�)</param> + /// <param name="i_yy">Y杞村垵濮嬪潗鏍�(鐪熷疄鍊�)</param> + /// <param name="alignment">鏂囧瓧瀵归綈鏂瑰紡</param> + /// <param name="special"> + /// <para>娉細闄や簡鏂板缓杩欎釜鍑芥暟鐨勫紑鍙戣�呬互澶栵紝閮戒笉寤鸿鎶婅繖涓�间笉璁剧疆涓簍rue</para> + /// <para>璇存槑锛氫互鏈�闀跨殑鎺т欢鐨刋杞翠负鍩哄噯,鎵�鏈夋帶浠剁殑X杞撮兘鍙樻垚涓�鑷�</para> + /// </param> + /// <returns></returns> + public int AddListMsgControls(FrameLayout frameTable, string i_msg, int i_fontSize, uint i_fontColor, int i_height, + int i_yy, TextAlignment alignment = TextAlignment.Center, bool special = false) + { + var listMsg = i_msg.Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); + int defultWidth = this.bodyFrameLayout.Width - HdlControlResourse.XXLeft * 2; + + var listContr = new List<NormalViewControl>(); + int minXX = 10086;//鎺т欢闆嗗悎鏈�灏忕殑X杞� + foreach (var strMsg in listMsg) + { + //娑堟伅鏄剧ず鎺т欢 + var btnMsg = new NormalViewControl(defultWidth, i_height, false); + btnMsg.Y = i_yy; + btnMsg.Gravity = Gravity.CenterHorizontal; + btnMsg.TextAlignment = alignment; + btnMsg.TextColor = i_fontColor; + btnMsg.TextSize = i_fontSize; + btnMsg.Text = strMsg; + + //鐗规畩澶勭悊 + if (special == true && alignment == TextAlignment.Center) + { + //璁剧疆瀹冪殑鐪熷疄瀹藉害(瀵箂pecial鍙橀噺鏈夌敤) + int realWidth = btnMsg.GetRealWidthByText(); + btnMsg.Width = realWidth > defultWidth ? defultWidth : realWidth; + } + frameTable.AddChidren(btnMsg); + + //鏀堕泦鎺т欢 + listContr.Add(btnMsg); + + //璁板綍鎺т欢闆嗗悎X杞存渶灏忕殑鍊� + if (btnMsg.X < minXX) { minXX = btnMsg.X; } + + //涓よ涔嬮棿鐨勯棿璺濅负4 + i_yy = btnMsg.Bottom + Application.GetRealHeight(4); + } + //鐗规畩澶勭悊 + if (special == true && alignment == TextAlignment.Center) + { + foreach (var contr in listContr) + { + //浠ユ渶闀跨殑鎺т欢鐨刋杞翠负鍩哄噯,鎵�鏈夋帶浠剁殑X杞撮兘鍙樻垚涓�鑷� + contr.X = minXX; + } + } + + return i_yy - Application.GetRealHeight(4); + } + + #endregion + + #region 鈻� 娣诲姞搴曢儴鐐瑰嚮鎸夐挳鎺т欢_______________ + + /// <summary> + /// 娣诲姞搴曢儴鐐瑰嚮鎸夐挳鎺т欢 + /// </summary> + /// <param name="i_text">鏄剧ず鐨勬枃鏈�</param> + /// <returns></returns> + public BottomClickButton AddBottomClickButton(string i_text) + { + //瀹瑰櫒鎺т欢 + var frameBack = new FrameLayout(); + frameBack.Height = Application.GetRealHeight(76); + frameBack.Gravity = Gravity.BottomCenter; + bodyFrameLayout.AddChidren(frameBack); + //鐒跺悗鍦ㄩ《閮ㄦ坊鍔犱竴涓湁杈规鐨勪笢瑗� + var frameLine = new FrameLayout(); + frameLine.Height = Application.GetRealHeight(50); + frameLine.BorderWidth = 1; + frameLine.BackgroundColor = UI.CSS.CSS_Color.MainBackgroundColor; + frameLine.BorderColor = UI.CSS.CSS_Color.DividingLineColor; + frameLine.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + frameBack.AddChidren(frameLine); + //鏈�鍚庡啀鏁翠釜鐧借壊鐨勪笢瑗块伄浣忓畠鐨勪笅閮� + var frameWite = new FrameLayout(); + frameWite.Height = frameBack.Height - Application.GetRealHeight(24 - 10);//闇�瑕佽秴杩囧畠 + frameWite.Width = frameBack.Width + Application.GetRealWidth(6); + frameWite.X = -Application.GetRealWidth(3); + frameWite.Y = Application.GetRealHeight(24); + frameWite.BackgroundColor = UI.CSS.CSS_Color.MainBackgroundColor; + frameBack.AddChidren(frameWite); + + //鎸夐挳 + var btnOk = new BottomClickButton(220); + btnOk.Gravity = Gravity.Center; + btnOk.Text = i_text; + frameBack.AddChidren(btnOk); + + return btnOk; + } + + #endregion + #region 鈻� 涓�鑸殑鏂规硶_________________________ /// <summary> diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs new file mode 100644 index 0000000..b416038 --- /dev/null +++ b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs @@ -0,0 +1,590 @@ +锘縰sing Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.Stan +{ +#if __Android__ + public class HdlBluetoothLogic + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 瀹夊崜钃濈墮鐨勯�昏緫 + /// </summary> + private static HdlBluetoothLogic m_Current = null; + /// <summary> + /// 瀹夊崜钃濈墮鐨勯�昏緫 + /// </summary> + public static HdlBluetoothLogic Current + { + get + { + if (m_Current == null) + { + m_Current = new HdlBluetoothLogic(); + } + return m_Current; + } + } + + /// <summary> + /// 褰撳墠钃濈墮瀹㈡埛绔� + /// </summary> + private Blufi.Espressif.BlufiClient nowBlufiClient = null; + /// <summary> + /// 鎺ユ敹浜嬩欢 + /// </summary> + private Action<string> ReceiveEvent = null; + /// <summary> + /// 鍙戦�佺姸鎬�(0:鍙戦�佸け璐� 1:鍙戦�佹垚鍔�) + /// </summary> + private int sendStatuValue = -1; + + #endregion + + #region 鈻� 钃濈墮鎵�闇�鍔熻兘妫�娴媉__________________ + + /// <summary> + /// 妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗�(鍐呴儴浼氬脊鍑篗sg妗�,鍥犱负鍐呴儴闇�瑕佹娴嬬郴缁熸潈闄�,鎵�浠ュ弬鏁伴噰鐢ㄥ洖璋冪殑鏂瑰紡) + /// </summary> + /// <param name="resultEvent">妫�娴嬬粨鏋滀簨浠�</param> + public void CheckCanScanBluetooth(Action<bool> resultEvent) + { + var adapter = Android.Bluetooth.BluetoothAdapter.DefaultAdapter; + var scanner = adapter.BluetoothLeScanner; + if (adapter.IsEnabled == false || scanner == null) + { + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(StringId.PleaseTurnOnBluetooth)); + resultEvent?.Invoke(false); + return; + } + //妫�娴嬫槸鍚︽墦寮�浜嗙郴缁熷姛鑳� + if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.M) + { + var locationManager = (Android.Locations.LocationManager)Application.Activity.GetSystemService(Android.Content.Context.LocationService); + if (locationManager == null) + { + //浣嶇疆淇℃伅(GBS)涓嶅彲鐢� + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(StringId.GbsIsNotAvailable)); + resultEvent?.Invoke(false); + return; + } + if (locationManager.IsProviderEnabled("network") == false) + { + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(StringId.NetworkIsNotAvailable)); + resultEvent?.Invoke(false); + return; + } + if (locationManager.IsProviderEnabled("gps") == false) + { + //浣嶇疆淇℃伅(GBS)涓嶅彲鐢� + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(StringId.GbsIsNotAvailable)); + resultEvent?.Invoke(false); + return; + } + } + //妫�娴嬭摑鐗欓渶瑕佺殑鏉冮檺 + ((BaseActivity)Application.Activity).SetPermission((result1) => + { + if (result1 == false) + { + resultEvent?.Invoke(false); + return; + } + ((BaseActivity)Application.Activity).SetPermission((result2) => + { + if (result2 == false) + { + resultEvent?.Invoke(false); + return; + } + //鍏ㄩ儴閫氳繃 + resultEvent?.Invoke(true); + + }, "android.permission.ACCESS_FINE_LOCATION"); + + }, "android.permission.ACCESS_COARSE_LOCATION"); + } + + #endregion + + #region 鈻� 钃濈墮鎵弿___________________________ + + /// <summary> + /// 鎼滅储钃濈墮 + /// </summary> + /// <param name="waitTime">鎼滅储鏃堕棿(绉�)</param> + /// <param name="FinishEvent">鎼滅储缁撴潫鐨勪簨浠�</param> + public void ScanBluetooth(int waitTime, Action<List<BluetoothInfo>> FinishEvent) + { + HdlThreadLogic.Current.RunMain(() => + { + //鍐嶆妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗� + this.CheckCanScanBluetooth((result) => + { + if (result == true) + { + HdlThreadLogic.Current.RunThread(() => + { + //寮�濮嬫悳绱㈣摑鐗� + this.DoScanBluetooth(waitTime, FinishEvent); + }); + } + }); + }); + } + + /// <summary> + /// 寮�濮嬫悳绱㈣摑鐗� + /// </summary> + /// <param name="waitTime">鎼滅储鏃堕棿(绉�)</param> + /// <param name="FinishEvent">鎼滅储缁撴潫鐨勪簨浠�</param> + private void DoScanBluetooth(int waitTime, Action<List<BluetoothInfo>> FinishEvent) + { + var listBluetoothInfo = new List<BluetoothInfo>(); + + BluetoothScanCallback scanCallback = null; + Android.Bluetooth.BluetoothAdapter adapter = null; + Android.Bluetooth.LE.BluetoothLeScanner scanner = null; + + //浠ラ槻涓囦竴,钃濈墮閮戒涪鍦ㄤ富绾跨▼涓繍琛� + HdlThreadLogic.Current.RunMain(() => + { + adapter = Android.Bluetooth.BluetoothAdapter.DefaultAdapter; + scanner = adapter.BluetoothLeScanner; + + scanCallback = new BluetoothScanCallback(); + scanner.StartScan(null, new Android.Bluetooth.LE.ScanSettings.Builder().SetScanMode(Android.Bluetooth.LE.ScanMode.LowLatency).Build(), scanCallback); + }, ShowErrorMode.NO); + + //绛夊緟 + System.Threading.Thread.Sleep(waitTime * 1000); + + HdlThreadLogic.Current.RunMain(() => + { + scanner.StopScan(scanCallback); + adapter.Dispose(); + + foreach (var data in scanCallback.listData) + { + listBluetoothInfo.Add(data); + } + scanCallback.listData.Clear(); + + FinishEvent?.Invoke(listBluetoothInfo); + }); + } + + /// <summary> + /// 钃濈墮鐨勫洖璋冨璞� + /// </summary> + private class BluetoothScanCallback : Android.Bluetooth.LE.ScanCallback + { + /// <summary> + /// 钃濈墮鍒楄〃 + /// </summary> + public List<BluetoothInfo> listData = new List<BluetoothInfo>(); + /// <summary> + /// 閲嶅妫�娴� + /// </summary> + private List<string> listCheck = new List<string>(); + + /// <summary> + /// 钃濈墮缁撴灉鎺ユ敹 + /// </summary> + /// <param name="listResult"></param> + public override void OnBatchScanResults(IList<Android.Bluetooth.LE.ScanResult> listResult) + { + foreach (var result in listResult) + { + this.AddBluetoothResult(result); + } + } + + /// <summary> + /// 钃濈墮缁撴灉鎺ユ敹 + /// </summary> + /// <param name="callbackType"></param> + /// <param name="result"></param> + public override void OnScanResult(Android.Bluetooth.LE.ScanCallbackType callbackType, Android.Bluetooth.LE.ScanResult result) + { + this.AddBluetoothResult(result); + } + + /// <summary> + /// 娣诲姞钃濈墮缂撳瓨 + /// </summary> + /// <param name="result"></param> + private void AddBluetoothResult(Android.Bluetooth.LE.ScanResult result) + { + var device = result.Device; + if (device == null || listCheck.Contains(device.Address) == true) + { + return; + } + listCheck.Add(device.Address); + + var data = new BluetoothInfo(); + data.Name = device.Name; + if (data.Name == null) { data.Name = string.Empty; } + data.Address = device.Address; + data.Device = device; + listData.Add(data); + } + } + + #endregion + + #region 鈻� 钃濈墮閾炬帴___________________________ + + /// <summary> + /// 钃濈墮閾炬帴(false:杩炴帴澶辫触 true:杩炴帴鎴愬姛) + /// </summary> + /// <param name="bluetooth">闇�瑕侀摼鎺ョ殑钃濈墮瀵硅薄</param> + /// <param name="connectEvent">鍥犱负闇�瑕佸鏂瑰弽棣�,鎵�浠ヤ娇鐢ㄥ洖璋�(閾炬帴缁撴灉 false:杩炴帴澶辫触 true:杩炴帴鎴愬姛)</param> + public void ContectBluetooth(BluetoothInfo bluetooth, Action<bool> connectEvent) + { + HdlThreadLogic.Current.RunMain(() => + { + try + { + this.nowBlufiClient = new Blufi.Espressif.BlufiClient(Application.Activity, bluetooth.Device); + + //涓�涓洖璋冧簨浠� + var callback = new InnerGattCallback(); + callback.ConnectionStateEvent += (div, newState) => + { + if (div == 1) + { + if (newState == Android.Bluetooth.ProfileState.Connected) + { + //閾炬帴寤虹珛鎴愬姛 + connectEvent?.Invoke(true); + //鍙�氱煡涓�娆� + connectEvent = null; + } + else if (newState == Android.Bluetooth.ProfileState.Disconnected) + { + //鍏抽棴閾炬帴 + this.DisContectBluetooth(); + connectEvent?.Invoke(false); + //鍙�氱煡涓�娆� + connectEvent = null; + } + } + else if (div == -1) + { + //鍏抽棴閾炬帴 + this.DisContectBluetooth(); + connectEvent?.Invoke(false); + //鍙�氱煡涓�娆� + connectEvent = null; + } + }; + nowBlufiClient.SetGattCallback(callback); + + //鍙﹀涓�涓洖璋冧簨浠� + var blufiCall = new BlufiCallbackMain(); + blufiCall.StateEvent += (div, data) => + { + //-1:寮傚父 1:姝e父 2:鍙戦�佹暟鎹垚鍔� 3:鍙戦�佹暟鎹け璐� + if (div == StatuEnum.A寮傚父) + { + //鍏抽棴閾炬帴 + this.DisContectBluetooth(); + connectEvent?.Invoke(false); + //鍙�氱煡涓�娆� + connectEvent = null; + } + else if (div == StatuEnum.A鍙戦�佹垚鍔� || div == StatuEnum.A鍙戦�佸け璐�) + { + sendStatuValue = div == StatuEnum.A鍙戦�佹垚鍔� ? 1 : 0; + } + else if (div == StatuEnum.A钃濈墮鍙嶉) + { + //钃濈墮杩斿洖鐨勭粨鏋� + this.ReceiveEvent?.Invoke(data); + } + }; + nowBlufiClient.SetBlufiCallback(blufiCall); + //鎵ц閾炬帴 + nowBlufiClient.Connect(); + } + catch + { + connectEvent?.Invoke(false); + connectEvent = null; + } + }); + } + + /// <summary> + /// 鍏堣繖涔堝畾涔変竴涓┖鐨勭户鎵� + /// </summary> + private class InnerGattCallback : Android.Bluetooth.BluetoothGattCallback + { + /// <summary> + /// 鐘舵�佷簨浠跺洖璋�(-1:寮傚父 1:OnConnectionStateChange) + /// </summary> + public Action<int,Android.Bluetooth.ProfileState> ConnectionStateEvent = null; + /// <summary> + /// 閾炬帴鐘舵�佹敼鍙� + /// </summary> + /// <param name="gatt"></param> + /// <param name="status"></param> + /// <param name="newState"></param> + public override void OnConnectionStateChange(Android.Bluetooth.BluetoothGatt gatt, Android.Bluetooth.GattStatus status, Android.Bluetooth.ProfileState newState) + { + if (status == Android.Bluetooth.GattStatus.Success) + { + //鍥炶皟浜嬩欢 + this.ConnectionStateEvent?.Invoke(1, newState); + } + else + { + //鍥炶皟浜嬩欢 + this.ConnectionStateEvent?.Invoke(-1, 0); + } + } + + /// <summary> + /// 鎴愬姛鍙戠幇璁惧鐨剆ervices鏃讹紝璋冪敤姝ゆ柟娉� + /// </summary> + /// <param name="gatt"></param> + /// <param name="status"></param> + public override void OnServicesDiscovered(Android.Bluetooth.BluetoothGatt gatt, Android.Bluetooth.GattStatus status) + { + if (status != Android.Bluetooth.GattStatus.Success) + { + //鍥炶皟浜嬩欢 + this.ConnectionStateEvent?.Invoke(-1, 0); + } + } + + /// <summary> + /// 搴旇鏄啓鍏ヤ簨浠跺惂 + /// </summary> + /// <param name="gatt"></param> + /// <param name="characteristic"></param> + /// <param name="status"></param> + public override void OnCharacteristicWrite(Android.Bluetooth.BluetoothGatt gatt, Android.Bluetooth.BluetoothGattCharacteristic characteristic, Android.Bluetooth.GattStatus status) + { + if (status != Android.Bluetooth.GattStatus.Success) + { + //鍥炶皟浜嬩欢 + this.ConnectionStateEvent?.Invoke(-1, 0); + } + } + } + + /// <summary> + /// 鎶凷DK鐨勶紝鎴戜篃涓嶇煡閬撹繖涓槸浠�涔� + /// </summary> + private class BlufiCallbackMain : Blufi.Espressif.BlufiCallback + { + /// <summary> + /// 鐘舵�佷簨浠跺洖璋� 褰撶涓�涓弬鏁颁负"A钃濈墮鍙嶉"鏃�,绗簩涓弬鏁颁负钃濈墮杩斿洖鐨勪俊鎭� + /// </summary> + public Action<StatuEnum, string> StateEvent = null; + + /// <summary> + /// 鎶凷DK鐨勶紝鎴戜篃涓嶇煡閬撹繖涓槸浠�涔� + /// </summary> + /// <param name="client"></param> + /// <param name="gatt"></param> + /// <param name="service"></param> + /// <param name="writeChar"></param> + /// <param name="notifyChar"></param> + public override void OnGattPrepared(Blufi.Espressif.BlufiClient client, Android.Bluetooth.BluetoothGatt gatt, Android.Bluetooth.BluetoothGattService service, + Android.Bluetooth.BluetoothGattCharacteristic writeChar, Android.Bluetooth.BluetoothGattCharacteristic notifyChar) + { + if (service == null || writeChar == null || notifyChar == null) + { + StateEvent?.Invoke(StatuEnum.A寮傚父, null); + return; + } + + try + { + int mtu = 128; + if ((int)Android.OS.Build.VERSION.SdkInt == 29 + && Android.OS.Build.Manufacturer.ToLower().StartsWith("samsung") == true) + { + mtu = 23; + } + + var requestMtu = gatt.RequestMtu(mtu); + if (!requestMtu) + { + //Request mtu failed + client.SetPostPackageLengthLimit(20); + } + StateEvent?.Invoke(StatuEnum.A姝e父, null); ; + } + catch + { + StateEvent?.Invoke(StatuEnum.A寮傚父, null); + return; + } + } + + /// <summary> + /// 鎵嬫満绔彂閫佹暟鎹埌钃濈墮鐨勭粨鏋� + /// </summary> + /// <param name="client"></param> + /// <param name="status">0:鎴愬姛 鍏朵粬閮芥槸澶辫触</param> + /// <param name="data">鎵嬫満绔彂閫佺殑鏁版嵁</param> + public override void OnPostCustomDataResult(Blufi.Espressif.BlufiClient client, int status, byte[] data) + { + StateEvent?.Invoke(status == 0 ? StatuEnum.A鍙戦�佹垚鍔� : StatuEnum.A鍙戦�佸け璐�, null); + } + + /// <summary> + /// 钃濈墮鍥炲鐨勭粨鏋� + /// </summary> + /// <param name="client"></param> + /// <param name="status">0:鎴愬姛 鍏朵粬閮芥槸澶辫触</param> + /// <param name="data">钃濈墮鍥炲鐨勬暟鎹�</param> + public override void OnReceiveCustomData(Blufi.Espressif.BlufiClient client, int status, byte[] data) + { + if (status == 0) + { + var receiveData = System.Text.Encoding.UTF8.GetString(data); + StateEvent?.Invoke(StatuEnum.A钃濈墮鍙嶉, receiveData); + } + } + } + + #endregion + + #region 鈻� 钃濈墮鍏抽棴___________________________ + + /// <summary> + /// 鍏抽棴钃濈墮閾炬帴 + /// </summary> + public void DisContectBluetooth() + { + HdlThreadLogic.Current.RunMain(() => + { + this.nowBlufiClient?.RequestCloseConnection(); + this.nowBlufiClient = null; + + m_Current = null; + + }, ShowErrorMode.NO); + } + + /// <summary> + /// 鎽ф瘉 + /// </summary> + public void Dispone() + { + //鍏抽棴钃濈墮閾炬帴 + this.DisContectBluetooth(); + this.ReceiveEvent = null; + m_Current = null; + } + + #endregion + + #region 鈻� 鍙戦�佹暟鎹甠__________________________ + + /// <summary> + /// 鍙戦�佹暟鎹粰钃濈墮 + /// </summary> + /// <param name="i_data">鍙戦�佺殑鏁版嵁</param> + /// <param name="waiTime">绛夊緟鏃堕棿(绉�),濡傛灉璁剧疆涓�0,鍒欏彧瑕佸彂閫佷笉鍑虹幇寮傚父,鐩存帴鍒ゅ畾涓烘垚鍔�</param> + public bool SendData(string i_data, int waiTime = 0) + { + if (this.nowBlufiClient == null) + { + return false; + } + + try + { + this.sendStatuValue = -1; + HdlThreadLogic.Current.RunMain(() => + { + //鍙戦�佹暟鎹� + var byteData = System.Text.Encoding.UTF8.GetBytes(i_data); + this.nowBlufiClient.PostCustomData(byteData); + + }, ShowErrorMode.NO); + + if (waiTime == 0) { return true; } + + waiTime *= 5; + while (this.sendStatuValue == -1 && waiTime > 0) + { + System.Threading.Thread.Sleep(200); + waiTime--; + } + return this.sendStatuValue == 1; + } + catch { return false; } + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 娣诲姞钃濈墮鐨勬帴鏀朵簨浠� + /// </summary> + /// <param name="i_ReceiveEvent">钃濈墮鎺ユ敹浜嬩欢</param> + public void AddReceiveEvent(Action<string> i_ReceiveEvent) + { + this.ReceiveEvent = i_ReceiveEvent; + } + + /// <summary> + /// 绉婚櫎钃濈墮鐨勬帴鏀朵簨浠� + /// </summary> + public void RemoveReceiveEvent() + { + this.ReceiveEvent = null; + } + + #endregion + + #region 鈻� 缁撴瀯浣揰____________________________ + + /// <summary> + /// 钃濈墮杩斿洖鐨勪俊鎭� + /// </summary> + public class BluetoothInfo + { + /// <summary> + /// 鍚嶅瓧(姝ゅ悕瀛椾笉浼歯ull,濡傛灉瀹冩湰韬槸null,鍙細鏄痵tring.empty) + /// </summary> + public string Name = string.Empty; + /// <summary> + /// 鍦板潃 + /// </summary> + public string Address = string.Empty; + /// <summary> + /// 钃濈墮璁惧 + /// </summary> + public Android.Bluetooth.BluetoothDevice Device = null; + } + + /// <summary> + /// 鐘舵�佹灇涓� + /// </summary> + private enum StatuEnum + { + A寮傚父 = -1, + A姝e父 = 1, + A鍙戦�佹垚鍔� = 2, + A鍙戦�佸け璐� = 3, + A钃濈墮鍙嶉 = 4 + } + + #endregion + } +#endif +} + diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs new file mode 100644 index 0000000..8900504 --- /dev/null +++ b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothIOSLogic.cs @@ -0,0 +1,489 @@ +锘縰sing System; +using System.Collections.Generic; + +namespace HDL_ON.Stan +{ +#if __IOS__ + /// <summary> + /// IOS钃濈墮鐨勯�昏緫 + /// </summary> + public class HdlBluetoothLogic + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 瀹夊崜钃濈墮鐨勯�昏緫 + /// </summary> + private static HdlBluetoothLogic m_Current = null; + /// <summary> + /// 瀹夊崜钃濈墮鐨勯�昏緫 + /// </summary> + public static HdlBluetoothLogic Current + { + get + { + if (m_Current == null) + { + m_Current = new HdlBluetoothLogic(); + } + return m_Current; + } + } + /// <summary> + /// 鎴戜篃涓嶇煡閬撹繖鏄粈涔堜笢瑗� + /// </summary> + private HdlBlufi.HdlBluWi hdlBluWiShare; + /// <summary> + /// 鎴戜篃涓嶇煡閬撹繖鏄粈涔堜笢瑗� + /// </summary> + private HdlBlufi.BlufiClient blufiClient; + /// <summary> + /// 鎺ユ敹浜嬩欢 + /// </summary> + private Action<string> ReceiveEvent = null; + /// <summary> + /// 鍙戦�佺姸鎬�(0:鍙戦�佸け璐� 1:鍙戦�佹垚鍔�) + /// </summary> + private int sendStatuValue = -1; + /// <summary> + /// 钃濈墮鏄惁鎵撳紑 + /// </summary> + private bool IsBlufiOpen = false; + + #endregion + + #region 鈻� 鍒濆鍖朹__________________________ + + /// <summary> + /// 鍒濆鍖� + /// </summary> + private bool InitHdlBlufi() + { + if (hdlBluWiShare != null) { return true; } + + try + { + this.hdlBluWiShare = HdlBlufi.HdlBluWi.Share(); + this.blufiClient = new HdlBlufi.BlufiClient(); + + blufiClient.CentralManagerDelete = new BlueCBCentralManagerDelegate(); + //娣诲姞鍥炶皟浜嬩欢 + ((BlueCBCentralManagerDelegate)blufiClient.CentralManagerDelete).StateEvent += (div, data) => + { + //-1:寮傚父 1:姝e父 + if (div == StatuEnum.A寮傚父) + { + //钃濈墮娌℃湁鎵撳紑 + this.IsBlufiOpen = false; + } + else if (div == StatuEnum.A姝e父) + { + //钃濈墮鎵撳紑鐫� + this.IsBlufiOpen = true; + } + }; + + blufiClient.BlufiDelegate = new BlueWifiDelegate(); + return true; + } + catch { return false; } + } + + #endregion + + #region 鈻� 钃濈墮鎵�闇�鍔熻兘妫�娴媉__________________ + + /// <summary> + /// 妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗�(鍐呴儴浼氬脊鍑篗sg妗�,鍥犱负鍐呴儴闇�瑕佹娴嬬郴缁熸潈闄�,鎵�浠ュ弬鏁伴噰鐢ㄥ洖璋冪殑鏂瑰紡) + /// </summary> + /// <param name="resultEvent">妫�娴嬬粨鏋滀簨浠�</param> + public void CheckCanScanBluetooth(Action<bool> resultEvent) + { + try聽 + { + //鍏堝垵濮嬪寲 + if (this.InitHdlBlufi() == false) + { + resultEvent?.Invoke(false); + //璇锋墦寮�钃濈墮 + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Shared.Language.StringByID(StringId.PleaseTurnOnBluetooth)); + return; + } + + if (this.IsBlufiOpen == true) + { + //鍥犱负鏄竴鐩寸洃鍚潃锛屾墍浠ュ鏋滄槸true锛岀洿鎺ヨ繑鍥� + resultEvent?.Invoke(this.IsBlufiOpen); + return; + } + + HdlThreadLogic.Current.RunThread(() => + { + //ios闇�瑕佺洃鍚墠鑳藉鑾峰緱钃濈墮鐨勭姸鎬� + System.Threading.Thread.Sleep(500); + if (this.IsBlufiOpen == false) + { + //璇锋墦寮�钃濈墮 + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Shared.Language.StringByID(StringId.PleaseTurnOnBluetooth)); + } + HdlThreadLogic.Current.RunMain(() => + { + resultEvent?.Invoke(this.IsBlufiOpen); + }); + }, ShowErrorMode.NO); + } + catch + { + resultEvent?.Invoke(false); + //璇锋墦寮�钃濈墮 + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Shared.Language.StringByID(StringId.PleaseTurnOnBluetooth)); + } + } + + #endregion + + #region 鈻� 钃濈墮鎵弿___________________________ + + /// <summary> + /// 鎼滅储钃濈墮 + /// </summary> + /// <param name="waitTime">鎼滅储鏃堕棿(绉�)</param> + /// <param name="FinishEvent">鎼滅储缁撴潫鐨勪簨浠�</param> + public void ScanBluetooth(int waitTime, Action<List<BluetoothInfo>> FinishEvent) + { + HdlThreadLogic.Current.RunMain(() => + { + //鍐嶆妫�娴嬫槸鍚﹁兘澶熸悳绱㈣摑鐗� + this.CheckCanScanBluetooth((result) => + { + if (result == true) + { + HdlThreadLogic.Current.RunThread(() => + { + //寮�濮嬫悳绱㈣摑鐗� + this.DoScanBluetooth(waitTime, FinishEvent); + }); + } + }); + }); + } + + /// <summary> + /// 寮�濮嬫悳绱㈣摑鐗� + /// </summary> + /// <param name="waitTime">鎼滅储鏃堕棿(绉�)</param> + /// <param name="FinishEvent">鎼滅储缁撴潫鐨勪簨浠�</param> + private void DoScanBluetooth(int waitTime, Action<List<BluetoothInfo>> FinishEvent) + { + //钃濈墮鍒楄〃 + var listData = new List<BluetoothInfo>(); + //閲嶅妫�娴� + var listCheck = new List<string>(); + //瀹炵幇钃濈墮鎺ユ敹浜嬩欢 + var ReceiveBlufiDeviceEvent = new HdlBlufi.FBYBleDeviceBackBlock((arg0) => + { + var address = arg0.Uuid.ToString(); + if (listCheck.Contains(address) == false) + { + listCheck.Add(address); + var data = new BluetoothInfo(); + data.Address = address; + data.Name = arg0.Name == null ? string.Empty : arg0.Name; + listData.Add(data); + } + }); + HdlThreadLogic.Current.RunMain(() => + { + //寮�鍚摑鐗欐悳绱� + this.hdlBluWiShare.StartScan(ReceiveBlufiDeviceEvent); + }, ShowErrorMode.NO); + System.Threading.Thread.Sleep(waitTime * 1000); + + HdlThreadLogic.Current.RunMain(() => + { + //鍏抽棴钃濈墮鎼滅储 + this.hdlBluWiShare.StopScan(); + ReceiveBlufiDeviceEvent = null; + + }, ShowErrorMode.NO); + //鍥炶皟浜嬩欢 + FinishEvent?.Invoke(listData); + } + + #endregion + + #region 鈻� 钃濈墮閾炬帴___________________________ + + /// <summary> + /// 钃濈墮閾炬帴(false:杩炴帴澶辫触 true:杩炴帴鎴愬姛) + /// </summary> + /// <param name="bluetooth">闇�瑕侀摼鎺ョ殑钃濈墮瀵硅薄</param> + /// <param name="connectEvent">鍥犱负闇�瑕佸鏂瑰弽棣�,鎵�浠ヤ娇鐢ㄥ洖璋�(閾炬帴缁撴灉 false:杩炴帴澶辫触 true:杩炴帴鎴愬姛)</param> + public void ContectBluetooth(BluetoothInfo bluetooth, Action<bool> connectEvent) + { + HdlThreadLogic.Current.RunMain(() => + { + try + { + //娣诲姞浜嬩欢 + ((BlueWifiDelegate)blufiClient.BlufiDelegate).StateEvent += (div, data) => + { + //-1:寮傚父 1:姝e父 2:鍙戦�佹暟鎹垚鍔� 3:鍙戦�佹暟鎹け璐� + if (div == StatuEnum.A寮傚父) + { + //鍏抽棴閾炬帴 + this.DisContectBluetooth(); + connectEvent?.Invoke(false); + //鍙�氱煡涓�娆� + connectEvent = null; + } + else if (div == StatuEnum.A姝e父) + { + //閾炬帴寤虹珛鎴愬姛 + connectEvent?.Invoke(true); + //鍙�氱煡涓�娆� + connectEvent = null; + } + else if (div == StatuEnum.A鍙戦�佹垚鍔� || div == StatuEnum.A鍙戦�佸け璐�) + { + sendStatuValue = div == StatuEnum.A鍙戦�佹垚鍔� ? 1 : 0; + } + else if (div == StatuEnum.A钃濈墮鍙嶉) + { + //钃濈墮杩斿洖鐨勭粨鏋� + this.ReceiveEvent?.Invoke(data); + } + }; + //鎵ц閾炬帴 + this.blufiClient.Connect(bluetooth.Address); + } + catch + { + connectEvent?.Invoke(false); + connectEvent = null; + } + }); + } + + #endregion + + #region 鈻� 钃濈墮鍏抽棴___________________________ + + /// <summary> + /// 鍏抽棴钃濈墮閾炬帴 + /// </summary> + public void DisContectBluetooth() + { + HdlThreadLogic.Current.RunMain(() => + { + this.blufiClient?.Close(); + this.blufiClient = null; + this.hdlBluWiShare = null; + + }, ShowErrorMode.NO); + } + + /// <summary> + /// 鎽ф瘉 + /// </summary> + public void Dispone() + { + //鍏抽棴钃濈墮閾炬帴 + this.DisContectBluetooth(); + this.ReceiveEvent = null; + m_Current = null; + } + + #endregion + + #region 鈻� 鍙戦�佹暟鎹甠__________________________ + + /// <summary> + /// 鍙戦�佹暟鎹粰钃濈墮 + /// </summary> + /// <param name="i_data">鍙戦�佺殑鏁版嵁</param> + /// <param name="waiTime">绛夊緟鏃堕棿(绉�),濡傛灉璁剧疆涓�0,鍒欏彧瑕佸彂閫佷笉鍑虹幇寮傚父,鐩存帴鍒ゅ畾涓烘垚鍔�</param> + public bool SendData(string i_data, int waiTime = 0) + { + if (this.blufiClient == null) + { + return false; + } + + try + { + this.sendStatuValue = -1; + HdlThreadLogic.Current.RunMain(() => + { + //鍙戦�佹暟鎹� + var data = new Foundation.NSData(); + data = i_data; + blufiClient.PostCustomData(data); + + }, ShowErrorMode.NO); + + if (waiTime == 0) { return true; } + + waiTime *= 5; + while (this.sendStatuValue == -1 && waiTime > 0) + { + System.Threading.Thread.Sleep(200); + waiTime--; + } + return this.sendStatuValue == 1; + } + catch { return false; } + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 娣诲姞钃濈墮鐨勬帴鏀朵簨浠� + /// </summary> + /// <param name="i_ReceiveEvent">钃濈墮鎺ユ敹浜嬩欢</param> + public void AddReceiveEvent(Action<string> i_ReceiveEvent) + { + this.ReceiveEvent = i_ReceiveEvent; + } + + /// <summary> + /// 绉婚櫎钃濈墮鐨勬帴鏀朵簨浠� + /// </summary> + public void RemoveReceiveEvent() + { + this.ReceiveEvent = null; + } + + #endregion + + #region 鈻� 绯荤粺钃濈墮鍥炶皟_______________________ + + private class BlueWifiDelegate : HdlBlufi.BlufiDelegate + { + /// <summary> + /// 鐘舵�佷簨浠跺洖璋� 褰撶涓�涓弬鏁颁负"A钃濈墮鍙嶉"鏃�,绗簩涓弬鏁颁负钃濈墮杩斿洖鐨勪俊鎭� + /// </summary> + public Action<StatuEnum, string> StateEvent = null; + + public override void Blufi_didNegotiateSecurity(HdlBlufi.BlufiClient client, HdlBlufi.BlufiStatusCode status) + { + //Console.WriteLine("Blufi_didNegotiateSecurity"); + } + + public override void Blufi_didPostCustomData(HdlBlufi.BlufiClient client, Foundation.NSData data, HdlBlufi.BlufiStatusCode status) + { + if (status == HdlBlufi.BlufiStatusCode.Success) + { + //鍙戦�佽摑鐗欐暟鎹垚鍔� + StateEvent?.Invoke(StatuEnum.A鍙戦�佹垚鍔�, null); + } + else + { + //鍙戦�佽摑鐗欐暟鎹け璐� + StateEvent?.Invoke(StatuEnum.A鍙戦�佸け璐�, null); + } + } + + public override void Blufi_didReceiveDeviceScanResponse(HdlBlufi.BlufiClient client, HdlBlufi.BlufiScanResponse[] scanResults, HdlBlufi.BlufiStatusCode status) + { + //Console.WriteLine("Blufi_didReceiveDeviceScanResponse"); + } + + public override void Blufi_didReceiveDeviceVersionResponse(HdlBlufi.BlufiClient client, HdlBlufi.BlufiVersionResponse response, HdlBlufi.BlufiStatusCode status) + { + //Console.WriteLine("Blufi_didReceiveDeviceVersionResponse"); + } + + public override void Blufi_didPostConfigureParams(HdlBlufi.BlufiClient client, HdlBlufi.BlufiStatusCode status) + { + //Console.WriteLine("Blufi_didPostConfigureParams"); + } + + public override void Blufi_didReceiveCustomData(HdlBlufi.BlufiClient client, Foundation.NSData data, HdlBlufi.BlufiStatusCode status) + { + //鎺ユ敹钃濈墮鍙戦�佽繃鏉ョ殑鏁版嵁 + StateEvent?.Invoke(StatuEnum.A钃濈墮鍙嶉, data.ToString()); + } + + public override void Blufi_didReceiveDeviceStatusResponse(HdlBlufi.BlufiClient client, HdlBlufi.BlufiStatusResponse response, HdlBlufi.BlufiStatusCode status) + { + //Console.WriteLine("Blufi_didReceiveDeviceStatusResponse"); + } + + public override void Blufi_didReceiveError(HdlBlufi.BlufiClient client, nint errCode) + { + //Console.WriteLine("Blufi_didReceiveError"); + } + + public override void Blufi_gattPrepared(HdlBlufi.BlufiClient client, HdlBlufi.BlufiStatusCode status, CoreBluetooth.CBService service, CoreBluetooth.CBCharacteristic writeChar, CoreBluetooth.CBCharacteristic notifyChar) + { + if (status == HdlBlufi.BlufiStatusCode.Success) + { + //钃濈墮杩炴帴鎴愬姛 + StateEvent?.Invoke(StatuEnum.A姝e父, null); + } + else + { + //钃濈墮杩炴帴澶辫触 + StateEvent?.Invoke(StatuEnum.A寮傚父, null); + } + } + } + + private class BlueCBCentralManagerDelegate : CoreBluetooth.CBCentralManagerDelegate + { + /// <summary> + /// 鐘舵�佷簨浠跺洖璋� + /// </summary> + public Action<StatuEnum, string> StateEvent = null; + + public override void UpdatedState(CoreBluetooth.CBCentralManager central) + { + //鍙娌℃湁鎵撳紑钃濈墮锛岄兘绠楀紓甯稿鐞� + if (central.State == CoreBluetooth.CBCentralManagerState.PoweredOn) + { + StateEvent?.Invoke(StatuEnum.A姝e父, null); + } + else + { + StateEvent?.Invoke(StatuEnum.A寮傚父, null); + } + } + } + #endregion + + #region 鈻� 缁撴瀯浣揰____________________________ + + /// <summary> + /// 钃濈墮杩斿洖鐨勪俊鎭� + /// </summary> + public class BluetoothInfo + { + /// <summary> + /// 鍚嶅瓧(姝ゅ悕瀛椾笉浼歯ull,濡傛灉瀹冩湰韬槸null,鍙細鏄痵tring.empty) + /// </summary> + public string Name = string.Empty; + /// <summary> + /// 鍦板潃 + /// </summary> + public string Address = string.Empty; + } + + /// <summary> + /// 鐘舵�佹灇涓� + /// </summary> + private enum StatuEnum + { + A寮傚父 = -1, + A姝e父 = 1, + A鍙戦�佹垚鍔� = 2, + A鍙戦�佸け璐� = 3, + A钃濈墮鍙嶉 = 4 + } + + #endregion + } +#endif +} diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs new file mode 100644 index 0000000..81c4959 --- /dev/null +++ b/HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs @@ -0,0 +1,164 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.Stan +{ + //搴旇涔熶笉澶�,灏卞啓鍦ㄨ繖閲屼簡 + + /// <summary> + /// 浜戠鎺ㄩ�佹灇涓� + /// </summary> + public enum CloudPushEnum + { + A鏂拌澶囦笂鎶� = 1, + } + + /// <summary> + /// 鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣�) + /// </summary> + public class HdlCloudReceiveLogic + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫 + /// </summary> + private static HdlCloudReceiveLogic m_Current = null; + /// <summary> + /// 鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫 + /// </summary> + public static HdlCloudReceiveLogic Current + { + get + { + if (m_Current == null) + { + m_Current = new HdlCloudReceiveLogic(); + } + return m_Current; + } + } + + /// <summary> + /// 浜戠鎺ユ敹浜嬩欢闆嗗悎 + /// </summary> + private List<CloudReceiveEventClass> ListCloudEvent = new List<CloudReceiveEventClass>(); + + #endregion + + #region 鈻� 鍏ㄥ眬鎺ユ敹___________________________ + + /// <summary> + /// 鐗规畩鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊) + /// </summary> + /// <param name="topic">鏁翠釜涓婚</param> + /// <param name="byteData">鎺ユ敹鐨勬暟鎹�</param> + /// <param name="mqttEncryptKey">Mqtt鐨勮В瀵嗗瘑閽�</param> + /// <param name="homeIdEncryptKey">浣忓畢鍊掑簭鐨勮В瀵嗗瘑閽�</param> + public bool CloudOverallMsgReceiveEx(string topic, byte[] byteData, string mqttEncryptKey, string homeIdEncryptKey) + { + //璁惧鍏ョ綉涓婃姤涓婚 + if (topic == $"/user/{Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found") + { + if (string.IsNullOrEmpty(homeIdEncryptKey) == false) + { + //瑙e瘑 + byteData = Securitys.EncryptionService.AesDecryptPayload(byteData, homeIdEncryptKey); + } + string msgData = Encoding.UTF8.GetString(byteData); + //杩欓噷鐗规畩,鍒�ョ潃杞瓧绗︿覆,鍏堝垽鏂富棰樺啀杞� + return this.CloudOverallMsgReceiveEx(topic, msgData); + } + return false; + } + + /// <summary> + /// 鐗规畩鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊) + /// </summary> + /// <param name="topic">鏁翠釜涓婚</param> + /// <param name="msgData">鎺ユ敹鐨勬暟鎹�</param> + public bool CloudOverallMsgReceiveEx(string topic, string msgData) + { + //娌℃湁浠讳綍鐩戝惉 + if (ListCloudEvent.Count == 0) { return false; } + + //璁惧鍏ョ綉涓婃姤涓婚(鐩墠鍙湁绾㈠瀹�) + if (topic == $"/user/{Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found") + { + for (int i = 0; i < this.ListCloudEvent.Count; i++) + { + //鍥炶皟浜嬩欢 + this.ListCloudEvent[i].CloudReceiveEvent(CloudPushEnum.A鏂拌澶囦笂鎶�, msgData); + } + return true; + } + return false; + } + + #endregion + + #region 鈻� 娣诲姞浜戠鐩戝惉_______________________ + + /// <summary> + /// 娣诲姞浜戠鎺ユ敹浜嬩欢 + /// </summary> + /// <param name="i_mainKey">鏍囪瘑浜嬩欢鐨勪富閿�(鍙互闅忎究濉�,涓昏鏄拡瀵瑰涓晫闈竴璧蜂娇鐢ㄧ殑鎯呭喌)</param> + /// <param name="action">(鍙傛暟1:鏋氫妇 鍙傛暟2:鎺ㄩ�佹秷鎭�)</param> + public void AddCloudReceiveEvent(string i_mainKey, Action<CloudPushEnum, string> action) + { + try + { + var eventClass = new CloudReceiveEventClass(); + eventClass.MainKey = i_mainKey; + eventClass.CloudReceiveEvent = action; + this.ListCloudEvent.Add(eventClass); + } + catch { } + } + #endregion + + #region 鈻� 绉婚櫎浜戠鐩戝惉_______________________ + + /// <summary> + /// 绉婚櫎浜戠鎺ユ敹浜嬩欢 + /// </summary> + /// <param name="i_mainKey">鏍囪瘑浜嬩欢鐨勪富閿�(鍙互闅忎究濉�,涓昏鏄拡瀵瑰涓晫闈竴璧蜂娇鐢ㄧ殑鎯呭喌)</param> + public void RemoveCloudReceiveEvent(string i_mainKey) + { + try + { + for (int i = 0; i < this.ListCloudEvent.Count; i++) + { + if (this.ListCloudEvent[i].MainKey == i_mainKey) + { + this.ListCloudEvent.RemoveAt(i); + i--; + } + } + } + catch { } + } + + #endregion + + #region 鈻� 缁撴瀯浣揰____________________________ + + /// <summary> + /// 浜戠鎺ユ敹浜嬩欢绫� + /// </summary> + private class CloudReceiveEventClass + { + /// <summary> + /// 鏍囪瘑浜嬩欢鐨勪富閿�(鍙互闅忎究濉�,涓昏鏄拡瀵瑰涓晫闈竴璧蜂娇鐢ㄧ殑鎯呭喌) + /// </summary> + public string MainKey = string.Empty; + /// <summary> + /// 浜戠鎺ユ敹浜嬩欢(鍙傛暟1:鏋氫妇 鍙傛暟2:鎺ㄩ�佹秷鎭�) + /// </summary> + public Action<CloudPushEnum, string> CloudReceiveEvent = null; + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlWifiLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlWifiLogic.cs new file mode 100644 index 0000000..b4af0db --- /dev/null +++ b/HDL_ON/UI/UI0-Stan/Logic/HdlWifiLogic.cs @@ -0,0 +1,99 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.Stan +{ + /// <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鐨勫悕瀛�(鍙栦笉鍒版椂,浼氳繑鍥瀗ull) + /// </summary> + public string SSID + { + get + { +#if __IOS__ + string ssiD = Shared.WiimuUPnP.SSID; + if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\"")) + { + ssiD = ssiD.Substring(1, ssiD.Length - 2); + } + return ssiD; +#endif +#if __Android__ + string ssiD = null; + HdlThreadLogic.Current.RunThread(() => + { + Shared.Net.NetWiFi.GetWIFISSID((strId) => + { + ssiD = strId; + }); + }, ShowErrorMode.NO); + int count = 0; + while (ssiD == null) + { + System.Threading.Thread.Sleep(50); + count++; + if (count == 20) + { + //1绉掕秴鏃� + return null; + } + } + if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\"")) + { + ssiD = ssiD.Substring(1, ssiD.Length - 2); + } + return ssiD; +#endif + } + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鎵撳紑鎵嬫満wifi璁剧疆鐣岄潰 + /// </summary> + public void OpenAppWifiSettion() + { + if (Shared.Application.DeviceType == Shared.Device.Android) + { + ///鎵撳紑WI-IF鐣岄潰 + Shared.CommonClass.OpenAction("android.settings.WIFI_SETTINGS"); + } + else + { + Shared.CommonClass.OpenAction("App-Prefs:root=WIFI"); + } + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs index 04f312e..79dced0 100644 --- a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs @@ -271,6 +271,7 @@ { CloseTime = 1, Direction = AMPopTipDirection.None, + MaxWidth = Application.GetRealWidth(300), Text = Language.StringByID(StringId.IncorrectRepeatPassword) }.Show(bodyView); } diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs index 06ff41a..1110798 100644 --- a/HDL_ON/UI/UI1-Login/LoginPage.cs +++ b/HDL_ON/UI/UI1-Login/LoginPage.cs @@ -197,7 +197,7 @@ } else { - etAccount.Text = "15971583093";//鍑夐湼"18666455392";//13375012446//13602944661//tzy 18778381374 + etAccount.Text = "15622703419";//鍑夐湼"18666455392";//13375012446//13602944661//tzy 18778381374 //15971583093 gs } b = !b; diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs index 9dbc24a..4e2b8ce 100644 --- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs @@ -299,7 +299,8 @@ { CloseTime = 1, Direction = AMPopTipDirection.None, - Text = Language.StringByID(StringId.IncorrectRepeatPassword) + Text = Language.StringByID(StringId.IncorrectRepeatPassword), + MaxWidth = Application.GetRealWidth(300), }.Show(bodyView); } else diff --git a/HDL_ON/UI/UI2/.DS_Store b/HDL_ON/UI/UI2/.DS_Store index 249ba1d..1f6e40e 100644 --- a/HDL_ON/UI/UI2/.DS_Store +++ b/HDL_ON/UI/UI2/.DS_Store Binary files differ diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 265043e..9366529 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -877,58 +877,62 @@ }; view.AddChidren(btnSwitch); - switch (function.Spk_Prefix) - { - //todo 澧炲姞璁惧锛屼富椤垫敹钘忓浘鏍� - case FunctionCategory.Light: - #region 鐏厜 Light - btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png"; - UpdataFunctionStates(function); - #endregion - break; - case FunctionCategory.AC: - #region 绌鸿皟 AC - btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png"; - #endregion - break; - case FunctionCategory.FloorHeat: - #region 鍦扮儹 - btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png"; - #endregion - break; - case FunctionCategory.Electric: - switch (function.spk) - { - case SPK.ElectricSocket: - btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png"; - break; - case SPK.ElectricFan: - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png"; - break; - case SPK.ElectricTuyaAirCleaner: - btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIcon.png"; - btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIconOn.png"; - break; - case SPK.ElectricTuyaFan: - btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/FanIcon.png"; - btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/FanIconOn.png"; - break; - case SPK.ElectricTuyaWaterValve: - btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIcon.png"; - btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIconOn.png"; - break; - case SPK.ElectricTuyaWeepRobot: - btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIcon.png"; - btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIconOn.png"; - break; - } - break; - } + + btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; + btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; + + //switch (function.Spk_Prefix) + //{ + // //todo 澧炲姞璁惧锛屼富椤垫敹钘忓浘鏍� + // case FunctionCategory.Light: + // #region 鐏厜 Light + // btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png"; + // UpdataFunctionStates(function); + // #endregion + // break; + // case FunctionCategory.AC: + // #region 绌鸿皟 AC + // btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png"; + // #endregion + // break; + // case FunctionCategory.FloorHeat: + // #region 鍦扮儹 + // btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png"; + // #endregion + // break; + // case FunctionCategory.Electric: + // switch (function.spk) + // { + // case SPK.ElectricSocket: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png"; + // break; + // case SPK.ElectricFan: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png"; + // break; + // case SPK.ElectricTuyaAirCleaner: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIconOn.png"; + // break; + // case SPK.ElectricTuyaFan: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/FanIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/FanIconOn.png"; + // break; + // case SPK.ElectricTuyaWaterValve: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIconOn.png"; + // break; + // case SPK.ElectricTuyaWeepRobot: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIconOn.png"; + // break; + // } + // break; + //} LoadEvent_SwitchFunction(function, btnSwitch); } //鍙栨秷鏀惰棌浜嬩欢 diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs index f2c7f27..f18f109 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs @@ -26,7 +26,7 @@ /// </summary> public static void RefreshFunctionView() { - if (bodyView != null) + if (bodyView != null && MainPage.CurPageIndex==0) { bodyView.LoadDeviceFunctionControlZone(); } diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs index 63256f0..2290c5f 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs @@ -755,12 +755,7 @@ btnName.TextID = StringId.SecurityMonitoring; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { - -#if __IOS__ - EZSDK.IOS.EZSDK.Go2EZvizMonitor(); -#else //瀹夊崜鎽勫儚澶� HDLCommon.Current.Go2EZvizMonitor(bodyView); -#endif }; break; case ShowFunction.Sensor: diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs index 4727b80..c8b1509 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs @@ -61,6 +61,69 @@ } LoadDiv(); + //switch (function.spk) + //{ + // case SPK.CurtainSwitch: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png"; + // break; + // case SPK.CurtainTrietex: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/MotorCurtainIcon.png"; + // break; + // case SPK.CurtainRoller: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/RollingShutterIcon.png"; + // break; + // case SPK.SensorPir: + // btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorPirIcon.png"; + // break; + // case SPK.SensorWater: + // btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorWaterImmersionIcon.png"; + // break; + // case SPK.SensorSmoke: + // btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorSmokeIcon.png"; + // break; + // case SPK.SensorDoorWindow: + // btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorDoorIcon.png"; + // break; + // case SPK.MusicStandard: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicThinIcon.png"; + // break; + // case SPK.ClothesHanger: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerGrayIcon.png"; + // break; + // case SPK.ElectricSocket: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketThinIcon.png"; + // break; + // case SPK.ElectricFan: + // case SPK.ElectricTuyaFan: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanThinIcon.png"; + // break; + // case SPK.ElectricTV: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVThinIcon.png"; + // break; + // case SPK.ElectricTuyaAirCleaner: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/AirCleanerThiinIcon.png"; + // break; + // case SPK.ElectricTuyaWeepRobot: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobotThinIcon.png"; + // break; + // case SPK.ElectricTuyaWaterValve: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WaterValve/WaterValveIcon.png"; + // break; + // case SPK.AcStandard: + // btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png"; + // break; + // case SPK.AcIr: + // btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png"; + // break; + // case SPK.FloorHeatStandard: + // btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png"; + // break; + // default: + // btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png"; + // break; + //} + btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png"; + if (function.Spk_Prefix == FunctionCategory.Curtain//绐楀笜娌℃湁寮�鍏虫寜閽� || function.Spk_Prefix == FunctionCategory.Music//闊充箰娌℃湁寮�鍏虫寜閽� || function.Spk_Prefix == FunctionCategory.Sensor//浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽� @@ -69,39 +132,10 @@ switch (function.Spk_Prefix) { case FunctionCategory.Curtain: - switch (function.spk) - { - case SPK.CurtainSwitch: - btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png"; - break; - case SPK.CurtainTrietex: - btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/MotorCurtainIcon.png"; - break; - case SPK.CurtainRoller: - btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/RollingShutterIcon.png"; - break; - } + CurtainFragment(); break; case FunctionCategory.Sensor: - switch (function.spk) - { - case SPK.SensorPir: - btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorPirIcon.png"; - break; - case SPK.SensorWater: - btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorWaterImmersionIcon.png"; - break; - case SPK.SensorSmoke: - btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorSmokeIcon.png"; - break; - case SPK.SensorDoorWindow: - btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorDoorIcon.png"; - break; - default: - - break; - } var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState); if (powerLowTipAttr != null) { @@ -122,7 +156,6 @@ break; case FunctionCategory.Music: - btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicThinIcon.png"; MusicFragment(); break; @@ -132,7 +165,6 @@ { if (function.spk == SPK.ClothesHanger)//鏅捐。鏋� { - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerGrayIcon.png"; ClothesHangerFragment(); } else @@ -181,51 +213,20 @@ switch (function.Spk_Prefix) { case FunctionCategory.AC: - switch (function.spk) - { - case SPK.AcStandard: - btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png"; - LoadLastStatesButton(); - break; - } + LoadLastStatesButton(); + break; + case FunctionCategory.IR: + LoadLastStatesButton(); break; case FunctionCategory.FloorHeat: - switch (function.spk) - { - case SPK.FloorHeatStandard: - btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png"; - LoadLastStatesButton(); - break; - } + LoadLastStatesButton(); break; case FunctionCategory.Light: - btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png"; + //btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png"; btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on"; LoadLightControl(); break; case FunctionCategory.Electric: - switch (function.spk) - { - case SPK.ElectricSocket: - btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketThinIcon.png"; - break; - case SPK.ElectricFan: - case SPK.ElectricTuyaFan: - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanThinIcon.png"; - break; - case SPK.ElectricTV: - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVThinIcon.png"; - break; - case SPK.ElectricTuyaAirCleaner: - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/AirCleanerThiinIcon.png"; - break; - case SPK.ElectricTuyaWeepRobot: - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobotThinIcon.png"; - break; - case SPK.ElectricTuyaWaterValve: - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WaterValve/WaterValveIcon.png"; - break; - } btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on"; break; } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs new file mode 100644 index 0000000..17c9dc1 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs @@ -0,0 +1,78 @@ +锘縰sing HDL_ON.Stan; +using Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.UI +{ + /// <summary> + /// 娣诲姞Evoyo鐨凪ini鏅鸿兘閬ユ帶鍣ㄦ楠�1鐣岄潰 + /// </summary> + public class AddMiniRemoteControlDirection1Page : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + public void ShowForm() + { + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(StringId.AddInfraredRemoteControl)); + //杩欎釜鐣岄潰鐨勮儗鏅渶瑕佺櫧鑹� + bodyFrameLayout.BackgroundColor = UI.CSS.CSS_Color.MainBackgroundColor; + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //鍥剧墖 + var btnPic = new PicViewControl(149, 95); + btnPic.Y = Application.GetRealHeight(99); + btnPic.Gravity = Gravity.CenterHorizontal; + btnPic.UnSelectedImagePath = "PersonalCenter/AddDevice/MiniRemoteControlBigPictrue.png"; + bodyFrameLayout.AddChidren(btnPic); + + //闀挎寜绾㈠閬ユ帶鍣ㄦ寜閽�10绉掞紝鎸囩ず鐏摑鑹插揩闂� + var strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg1); + var intYY = this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, + CSS.CSS_Color.FirstLevelTitleColor, Application.GetRealHeight(20), Application.GetRealHeight(408)); + + //璇风‘淇濇偍鐨勮摑鐗欏凡寮�鍚苟澶勪簬鍙互琚悳绱㈢姸鎬� + strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg2); + this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.PromptFontSize_FirstLevel, + CSS.CSS_Color.PromptingColor1, Application.GetRealHeight(18), intYY + Application.GetRealHeight(4)); + + //涓嬩竴姝� + var btnNext = this.AddBottomClickButton(Language.StringByID(StringId.Next)); + btnNext.ButtonClickEvent += (sender, e) => + { + //妫�娴嬭摑鐗欓渶瑕佺殑涓滆タ + btnNext.CanClick = false; + HdlBluetoothLogic.Current.CheckCanScanBluetooth((result) => + { + btnNext.CanClick = true; + if (result == true) + { + this.CloseForm(); + var form = new AddMiniRemoteControlDirection2Page(); + //鍒濆wifi鍜屽瘑鐮佷负绌� + form.AddForm(string.Empty, string.Empty); + } + }); + }; + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs new file mode 100644 index 0000000..8f46dd9 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs @@ -0,0 +1,308 @@ +锘縰sing HDL_ON.Stan; +using Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.UI +{ + /// <summary> + /// 娣诲姞Evoyo鐨凪ini鏅鸿兘閬ユ帶鍣ㄦ楠�2鐣岄潰 + /// </summary> + public class AddMiniRemoteControlDirection2Page : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// wifi鍚� + /// </summary> + private string wifiName = string.Empty; + /// <summary> + /// wifi瀵嗙爜 + /// </summary> + private string wifiPassword = string.Empty; + /// <summary> + /// 钃濈墮璁惧 + /// </summary> + private List<HdlBluetoothLogic.BluetoothInfo> listDevice = new List<HdlBluetoothLogic.BluetoothInfo>(); + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_wifiName">wifi鍚�(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + /// <param name="i_wifiPassword">(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + public void ShowForm(string i_wifiName, string i_wifiPassword) + { + this.wifiName = i_wifiName; + this.wifiPassword = i_wifiPassword; + + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(StringId.AddInfraredRemoteControl)); + //杩欎釜鐣岄潰鐨勮儗鏅渶瑕佺櫧鑹� + bodyFrameLayout.BackgroundColor = UI.CSS.CSS_Color.MainBackgroundColor; + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖body + this.ClearBodyFrame(); + + //杩涘害鏉� + var btnProgress = new ProgressRowBar(180, 6); + btnProgress.Y = Application.GetRealHeight(218); + btnProgress.Gravity = Gravity.CenterHorizontal; + bodyFrameLayout.AddChidren(btnProgress); + btnProgress.StartMode1(true); + + //璁惧鎼滅储涓�... + var btnSearch = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(20), false); + btnSearch.Y = btnProgress.Bottom + Application.GetRealHeight(40); + btnSearch.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + btnSearch.TextID = StringId.SearchingDevice; + btnSearch.TextAlignment = TextAlignment.Center; + bodyFrameLayout.AddChidren(btnSearch); + + //璇风‘淇濇偍鐨勮摑鐗欏凡寮�鍚苟澶勪簬鍙互琚悳绱㈢姸鎬� + var strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg2); + this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, + CSS.CSS_Color.FirstLevelTitleColor, Application.GetRealHeight(20), btnSearch.Bottom + Application.GetRealHeight(4)); + + //寮�鍚繘搴︽潯鐗规晥 + this.StartProgressSpecialEffects(btnProgress); + } + + #endregion + + #region 鈻� 鎼滅储钃濈墮___________________________ + + /// <summary> + /// 鎼滅储钃濈墮 + /// </summary> + private void StartSearchBluetooth() + { + //寮�濮嬫悳绱㈣摑鐗� + HdlBluetoothLogic.Current.ScanBluetooth(2, (listBluetooth) => + { + foreach (var device in listBluetooth) + { + //鍙湁杩欎釜鏍囪瘑,鎵嶆槸绾㈠瀹� + if (device.Name.StartsWith("MIR01R-LK.10") == true) + { + //鏄寚瀹氱殑绾㈠瀹濊澶� + listDevice.Add(device); + } + } + if (listDevice.Count == 0) + { + //鎽ф瘉钃濈墮缂撳瓨 + HdlBluetoothLogic.Current.Dispone(); + } + else if (listDevice.Count == 1) + { + //濡傛灉鍙娴嬪埌涓�涓�,鍒欑洿鎺ヨ繛鎺� + HdlBluetoothLogic.Current.ContectBluetooth(listDevice[0], (result) => + { + if (result == true && this.Parent != null) + { + //杩炴帴鎴愬姛,鍒欒烦杞埌涓嬩竴涓晫闈� + HdlThreadLogic.Current.RunMain(() => + { + this.CloseForm(); + var form = new AddMiniRemoteControlDirection3Page(); + form.AddForm(this.wifiName, this.wifiPassword); + }); + } + else + { + HdlBluetoothLogic.Current.Dispone(); + } + }); + } + else + { + var listName = new List<string>(); + foreach (var device in listDevice) + { + listName.Add(device.Name); + } + //鏄剧ず閫夋嫨钃濈墮鍒楄〃鐨勭晫闈�(褰撳尮閰嶅埌澶氫釜钃濈墮鐨勬椂鍊欎娇鐢�) + this.ShowBluetoothListView(listName, (index) => + { + //濡傛灉鍙娴嬪埌涓�涓�,鍒欑洿鎺ヨ繛鎺� + HdlBluetoothLogic.Current.ContectBluetooth(listDevice[index], (result) => + { + if (result == true) + { + //杩炴帴鎴愬姛,鍒欒烦杞埌涓嬩竴涓晫闈� + HdlThreadLogic.Current.RunMain(() => + { + this.CloseForm(); + var form = new AddMiniRemoteControlDirection3Page(); + form.AddForm(this.wifiName, this.wifiPassword); + }); + } + else + { + HdlBluetoothLogic.Current.Dispone(); + } + }); + }); + } + }); + } + + /// <summary> + /// 寮�鍚繘搴︽潯鐗规晥 + /// </summary> + private void StartProgressSpecialEffects(ProgressRowBar btnProgress) + { + //鎼滅储鏃堕棿(绉�) + int searchTime = 180; + HdlThreadLogic.Current.RunThread(() => + { + //杩涘害鏉$壒鏁� + for (int i = 1; i <= searchTime; i++) + { + System.Threading.Thread.Sleep(1000); + HdlThreadLogic.Current.RunMain(() => + { + //杩涘害鏉$壒鏁� + btnProgress.SetValue(i, searchTime); + }); + + //鐣岄潰鍏抽棴 + if (this.Parent == null) + { + break; + } + //濡傛灉宸茬粡鎼滅储鍒拌摑鐗�,鍒欑洿鎺ュ埌100% + if (listDevice.Count > 0) + { + HdlThreadLogic.Current.RunMain(() => + { + btnProgress.SetValue(searchTime, searchTime); + }); + break; + } + if (i % 5 == 1) + { + //姣�5绉掓悳绱竴娆� + this.StartSearchBluetooth(); + } + //瓒呮椂 + if (i >= searchTime) + { + System.Threading.Thread.Sleep(3000); + //鏈�鍚庣殑鏃堕棿杩樻槸鎼滀笉鍒扮殑璇� + if (listDevice.Count == 0) + { + //鏄剧ず澶辫触鐣岄潰 + HdlThreadLogic.Current.RunMain(() => + { + this.ShowFailView(); + }); + } + break; + } + } + }); + } + + #endregion + + #region 鈻� 鏄剧ず閫夋嫨钃濈墮鍒楄〃鐨勭晫闈____________ + + /// <summary> + /// 鏄剧ず閫夋嫨钃濈墮鍒楄〃鐨勭晫闈�(褰撳尮閰嶅埌澶氫釜钃濈墮鐨勬椂鍊欎娇鐢�) + /// </summary> + /// <param name="listName">钃濈墮鍚嶅瓧鍒楄〃</param> + /// <param name="selectEvent">閫夋嫨浜嬩欢(鑰冭檻鍒癐os鍜屽畨鍗�,鎵�浠ヨ繖鏍峰畾鍙傛暟)</param> + private void ShowBluetoothListView(List<string> listName, Action<int> selectEvent) + { + if (this.Parent == null) { return; } + + HdlThreadLogic.Current.RunMain(() => + { + var contr = new BottomItemSelectControl(listName.Count, Language.StringByID(StringId.ChooseInfraredRemoteControl), false); + //鍒濆鍖� + contr.AddRowMenu(listName, new List<int>()); + contr.FinishOnlyEvent += (div, value) => + { + if (div == 0) + { + //濡傛灉鐐瑰嚮浜嗗彇娑�,鍒欏叧闂繖涓晫闈�,涓嶇浜� + this.CloseForm(); + } + else + { + //璋冪敤鍥炶皟鍑芥暟 + selectEvent?.Invoke(value); + } + }; + }); + } + + #endregion + + #region 鈻� 鏄剧ず澶辫触鐣岄潰_______________________ + + /// <summary> + /// 鏄剧ず澶辫触鐣岄潰 + /// </summary> + private void ShowFailView() + { + //娓呯┖body + this.ClearBodyFrame(); + //鍥剧墖 + var btnPic = new PicViewControl(180, 180); + btnPic.Y = Application.GetRealHeight(48); + btnPic.Gravity = Gravity.CenterHorizontal; + btnPic.UnSelectedImagePath = "Public/TipIcon_Failed.png"; + bodyFrameLayout.AddChidren(btnPic); + //娌℃湁鍙戠幇绾㈠閬ユ帶鍣� + var btnMsgNot = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(22), false); + btnMsgNot.Y = btnPic.Bottom + Application.GetRealHeight(16); + btnMsgNot.TextAlignment = TextAlignment.Center; + btnMsgNot.TextColor = CSS.CSS_Color.AuxiliaryColor2; + btnMsgNot.TextSize = CSS.CSS_FontSize.SubheadingFontSize; + btnMsgNot.TextID = StringId.NoInfraredRemoteControlFound; + bodyFrameLayout.AddChidren(btnMsgNot); + //1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數 + //2銆佽妫�鏌ヨ摑鐗欏姛鑳芥槸鍚︽甯稿紑鍚� + //3銆佽妫�鏌ユ寚绀虹伅鏄惁钃濊壊蹇棯鐘舵�� + var strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg3); + this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, + CSS.CSS_Color.TextualColor, Application.GetRealHeight(20), btnMsgNot.Bottom + Application.GetRealHeight(8), + TextAlignment.Center, true); + + //閲嶆柊鎼滅储 + var btnReSearch = this.AddBottomClickButton(Language.StringByID(StringId.ReSearch)); + btnReSearch.ButtonClickEvent += (sender, e) => + { + //妫�娴嬭摑鐗欓渶瑕佺殑涓滆タ + btnReSearch.CanClick = false; + HdlBluetoothLogic.Current.CheckCanScanBluetooth((result) => + { + btnReSearch.CanClick = true; + if (result == true) + { + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + }); + }; + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs new file mode 100644 index 0000000..3d08125 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs @@ -0,0 +1,215 @@ +锘縰sing HDL_ON.Stan; +using Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.UI +{ + /// <summary> + /// 娣诲姞Evoyo鐨凪ini鏅鸿兘閬ユ帶鍣ㄦ楠�3鐣岄潰 + /// </summary> + public class AddMiniRemoteControlDirection3Page : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 褰撳墠wifi鐨勫悕瀛� + /// </summary> + private string NowWifiName = string.Empty; + /// <summary> + /// wifi鐨勭嚎绋嬫槸鍚﹀惎鍔� + /// </summary> + private bool WifiThreadAction = false; + /// <summary> + /// wifi鍚�(鍒殑鐣岄潰浼犺繃鏉ョ殑) + /// </summary> + private string wifiName = string.Empty; + /// <summary> + /// wifi瀵嗙爜(鍒殑鐣岄潰浼犺繃鏉ョ殑) + /// </summary> + private string wifiPassword = string.Empty; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_wifiName">wifi鍚�(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + /// <param name="i_wifiPassword">(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + public void ShowForm(string i_wifiName, string i_wifiPassword) + { + this.wifiName = i_wifiName; + this.wifiPassword = i_wifiPassword; + + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(StringId.AddInfraredRemoteControl)); + //杩欎釜鐣岄潰鐨勮儗鏅渶瑕佺櫧鑹� + bodyFrameLayout.BackgroundColor = UI.CSS.CSS_Color.MainBackgroundColor; + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + + //閲嶅啓搴曞眰鐨勮繑鍥炴寜閿� + this.BackButtonClickEvent += () => + { + //鍏虫帀钃濈墮 + HdlBluetoothLogic.Current.Dispone(); + this.CloseForm(); + }; + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //杩炴帴WiFi + var btnWifi = new NormalViewControl(200, 28, true); + btnWifi.X = HdlControlResourse.XXLeft; + btnWifi.Y = Application.GetRealHeight(16); + btnWifi.IsBold = true; + btnWifi.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + btnWifi.TextSize = CSS.CSS_FontSize.EmphasisFontSize_Secondary; + btnWifi.TextID = StringId.ConnectWiFi; + bodyFrameLayout.AddChidren(btnWifi); + //鐩墠鍙敮鎸�2.4G WiFi缃戠粶 + //鏆備笉鏀寔甯︽湁涓枃瀛楃鐨刉iFi鍚嶇О + var strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg4); + int yy = this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, CSS.CSS_Color.TextualColor, + Application.GetRealHeight(20), btnWifi.Bottom + Application.GetRealHeight(16), TextAlignment.CenterLeft); + + //wifi琛� + var rowWifi = new RowLayoutControl(); + rowWifi.Y = yy + Application.GetRealHeight(32); + bodyFrameLayout.AddChidren(rowWifi); + //wifi鍚嶅瓧 + var txtWifi = rowWifi.frameTable.AddLeftInput(wifiName, 200); + txtWifi.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + //搴曠嚎 + rowWifi.frameTable.AddBottomLine(); + //鍚戝彸鍥炬爣 + var btnRight = rowWifi.frameTable.AddMostRightEmptyIcon(24, 24); + btnRight.UnSelectedImagePath = "Public/Right.png"; + btnRight.ButtonClickEvent += (sender, e) => + { + //鎵撳紑鎵嬫満wifi璁剧疆鐣岄潰 + HdlWifiLogic.Current.OpenAppWifiSettion(); + //鍒锋柊wifi鍚嶅瓧 + this.RefreshWifiName(txtWifi); + }; + if (this.wifiName != string.Empty) + { + //杩欎釜鏃跺�欐槸閲嶈瘯妯″紡,涓嶅厑璁哥偣鍑� + btnRight.CanClick = false; + } + + //瀵嗙爜琛� + var rowPsw = new RowLayoutControl(); + rowPsw.Y = rowWifi.Bottom; + bodyFrameLayout.AddChidren(rowPsw); + //瀵嗙爜 + var txtPsw = rowPsw.frameTable.AddLeftInput(wifiPassword, 200); + txtPsw.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + txtPsw.PlaceholderText = Language.StringByID(StringId.Password); + txtPsw.SecureTextEntry = true; + //搴曠嚎 + rowPsw.frameTable.AddBottomLine(); + //鐪肩潧鍥炬爣 + var btnView = rowPsw.frameTable.AddMostRightEmptyIcon(24, 24); + btnView.UnSelectedImagePath = "LoginIcon/HidePasswordIcon.png"; + btnView.SelectedImagePath = "LoginIcon/ShowPasswordIcon.png"; + btnView.ButtonClickEvent += (sender, e) => + { + btnView.IsSelected = !btnView.IsSelected; + txtPsw.SecureTextEntry = !btnView.IsSelected; + }; + if (this.wifiName != string.Empty) + { + //杩欎釜鏃跺�欐槸閲嶈瘯妯″紡,涓嶉渶瑕佺偣鍑� + HdlThreadLogic.Current.RunThread(() => + { + System.Threading.Thread.Sleep(1000); + HdlThreadLogic.Current.RunMain(() => + { + //杩涘叆涓嬩竴涓晫闈� + this.CloseForm(); + var form = new AddMiniRemoteControlDirection4Page(); + form.AddForm(wifiName, wifiPassword); + }); + }); + return; + } + + //涓嬩竴姝� + var btnNext = this.AddBottomClickButton(Language.StringByID(StringId.Next)); + btnNext.ButtonClickEvent += (sender, e) => + { + if (txtWifi.Text.Trim() == string.Empty || txtPsw.Text.Trim() == string.Empty) + { + return; + } + + //杩涘叆涓嬩竴涓晫闈� + this.CloseForm(); + var form = new AddMiniRemoteControlDirection4Page(); + form.AddForm(txtWifi.Text.Trim(), txtPsw.Text); + }; + + HdlThreadLogic.Current.RunThread(() => + { + //鎵撳紑杩涘害鏉�,鍗″畠涓�涓� + this.ShowProgressBar(); + //鑾峰彇褰撳墠wifi鍚嶅瓧(閲岄潰鍙兘浼氬崱) + this.NowWifiName = HdlWifiLogic.Current.SSID; + HdlThreadLogic.Current.RunMain(() => + { + txtWifi.Text = NowWifiName; + }); + + this.CloseProgressBar(); + }); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鍒锋柊wifi鍚嶅瓧 + /// </summary> + private void RefreshWifiName(TextInputControl textInput) + { + if (this.WifiThreadAction == true) { return; } + this.WifiThreadAction = true; + + HdlThreadLogic.Current.RunThread(() => + { + //杩欎釜绾跨▼涓嶄細琚腑鏂� + while (this.Parent != null) + { + System.Threading.Thread.Sleep(1500); + string wifiName = string.Empty; + try + { + //鑾峰彇褰撳墠wifi鍚嶅瓧(閲岄潰鍙兘浼氬崱) + wifiName = HdlWifiLogic.Current.SSID; + } + catch { continue; } + if (wifiName != this.NowWifiName) + { + this.NowWifiName = wifiName; + HdlThreadLogic.Current.RunMain(() => + { + textInput.Text = this.NowWifiName; + }); + } + } + }); + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs new file mode 100644 index 0000000..3d66b86 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs @@ -0,0 +1,533 @@ +锘縰sing HDL_ON.Stan; +using Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.UI +{ + /// <summary> + /// 娣诲姞Evoyo鐨凪ini鏅鸿兘閬ユ帶鍣ㄦ楠�4鐣岄潰 + /// </summary> + public class AddMiniRemoteControlDirection4Page : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// wifi鍚嶅瓧 + /// </summary> + private string wifiName = string.Empty; + /// <summary> + /// wifi瀵嗙爜 + /// </summary> + private string wifiPsw = string.Empty; + /// <summary> + /// 瓒呮椂绾跨▼鏄惁杩愯 + /// </summary> + private bool timeoutThreadActivity = false; + /// <summary> + /// 涓婁紶鍒颁簯鐨勫浘鏍� + /// </summary> + private IconViewControl btnClound = null; + /// <summary> + /// 涓婁紶鍒颁簯 + /// </summary> + private NormalViewControl btnCloundView = null; + /// <summary> + /// 杩炴帴鎴愬姛鐨勫浘鏍� + /// </summary> + private IconViewControl btnConnect = null; + /// <summary> + /// 杩炴帴鎴愬姛 + /// </summary> + private NormalViewControl btnConnetView = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_wifiName">wifi鍚嶅瓧</param> + /// <param name="i_wifiPsw">wifi瀵嗙爜</param> + public void ShowForm(string i_wifiName, string i_wifiPsw) + { + this.wifiName = i_wifiName; + this.wifiPsw = i_wifiPsw; + + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(StringId.AddInfraredRemoteControl)); + //杩欎釜鐣岄潰鐨勮儗鏅渶瑕佺櫧鑹� + bodyFrameLayout.BackgroundColor = UI.CSS.CSS_Color.MainBackgroundColor; + + //娣诲姞鎺ユ敹钃濈墮鍙嶉鐨勪簨浠� + HdlBluetoothLogic.Current.AddReceiveEvent(this.BluetoothReceiveEvent); + + //娣诲姞浜戠鍙嶉浜嬩欢 + HdlCloudReceiveLogic.Current.AddCloudReceiveEvent("AddMiniRemoteControlDirection4Page", this.CloudReceiveEvent); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖body + this.ClearBodyFrame(); + //鍥剧墖 + var btnPic = new PicViewControl(282, 121); + btnPic.Y = Application.GetRealHeight(122); + btnPic.Gravity = Gravity.CenterHorizontal; + btnPic.UnSelectedImagePath = "PersonalCenter/AddDevice/WifiAndPhoneConnect.png"; + bodyFrameLayout.AddChidren(btnPic); + //姝e湪杩炴帴涓�... + var btnSearch = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(20), false); + btnSearch.Y = btnPic.Bottom + Application.GetRealHeight(40); + btnSearch.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + btnSearch.TextID = StringId.NowConnectting; + btnSearch.TextAlignment = TextAlignment.Center; + bodyFrameLayout.AddChidren(btnSearch); + //璇疯绾㈠閬ユ帶灏介噺鎺ヨ繎WIFI璺敱鍣� + var strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg5); + this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, + CSS.CSS_Color.PromptingColor1, Application.GetRealHeight(20), btnSearch.Bottom + Application.GetRealHeight(4)); + + //缃戠粶杩炴帴涓� + var btnNetIcon = new IconViewControl(20); + btnNetIcon.X = Application.GetRealWidth(60); + btnNetIcon.Y = btnPic.Bottom + Application.GetRealHeight(265); + btnNetIcon.UnSelectedImagePath = "PersonalCenter/AddDevice/NetConnectSelect.png"; + bodyFrameLayout.AddChidren(btnNetIcon); + var btnNetView = new NormalViewControl(140, 18, true);//宸﹀彸闂磋窛40鍐嶅姞鏂囨湰60 + btnNetView.Y = btnNetIcon.Bottom + Application.GetRealHeight(16); + btnNetView.TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel; + btnNetView.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + btnNetView.TextAlignment = TextAlignment.Center; + btnNetView.TextID = StringId.InTheNetworkLink; + bodyFrameLayout.AddChidren(btnNetView); + + //涓�鏉℃í绾� + var btnLine1 = new NormalViewControl(Application.GetRealWidth(92), 2, false); + btnLine1.X = btnNetIcon.Right + Application.GetRealWidth(3); + btnLine1.Y = btnNetIcon.Y + (btnNetIcon.Height + 2) / 2; + btnLine1.BackgroundColor = CSS.CSS_Color.PromptingColor1; + bodyFrameLayout.AddChidren(btnLine1); + + //涓婁紶鍒颁簯 + this.btnClound = new IconViewControl(20); + btnClound.Gravity = Gravity.CenterHorizontal; + btnClound.Y = btnNetIcon.Y; + btnClound.UnSelectedImagePath = "PersonalCenter/AddDevice/UploadToClound.png"; + btnClound.SelectedImagePath = "PersonalCenter/AddDevice/UploadToCloundSelect.png"; + bodyFrameLayout.AddChidren(btnClound); + this.btnCloundView = new NormalViewControl(btnNetView.Width, btnNetView.Height, false); + btnCloundView.Y = btnNetView.Y; + btnCloundView.Gravity = Gravity.CenterHorizontal; + btnCloundView.TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel; + btnCloundView.TextColor = CSS.CSS_Color.PromptingColor1; + btnCloundView.TextAlignment = TextAlignment.Center; + btnCloundView.TextID = StringId.UploadToCloud; + bodyFrameLayout.AddChidren(btnCloundView); + + //涓�鏉℃í绾� + var btnLine2 = new NormalViewControl(btnLine1.Width, btnLine1.Height, false); + btnLine2.X = btnClound.Right + Application.GetRealWidth(3); + btnLine2.Y = btnLine1.Y; + btnLine2.BackgroundColor = CSS.CSS_Color.PromptingColor1; + bodyFrameLayout.AddChidren(btnLine2); + + //杩炴帴鎴愬姛 + this.btnConnect = new IconViewControl(20); + btnConnect.X = bodyFrameLayout.Width - btnNetIcon.X - btnConnect.IconSize; + btnConnect.Y = btnNetIcon.Y; + btnConnect.UnSelectedImagePath = "PersonalCenter/AddDevice/ConnectSuccess.png"; + btnConnect.SelectedImagePath = "PersonalCenter/AddDevice/ConnectSuccessSelect.png"; + bodyFrameLayout.AddChidren(btnConnect); + this.btnConnetView = new NormalViewControl(btnNetView.Width, btnNetView.Height, false); + btnConnetView.X = bodyFrameLayout.Width - btnNetView.Width - btnNetView.X; + btnConnetView.Y = btnNetView.Y; + btnConnetView.TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel; + btnConnetView.TextColor = CSS.CSS_Color.PromptingColor1; + btnConnetView.TextAlignment = TextAlignment.Center; + btnConnetView.TextID = StringId.ConnectSuccess; + bodyFrameLayout.AddChidren(btnConnetView); + + HdlThreadLogic.Current.RunThread(() => + { + System.Threading.Thread.Sleep(2000); + HdlThreadLogic.Current.RunMain(() => + { + //鍙戦�佽处鍙峰拰瀵嗙爜缁欒摑鐗� + this.SendAccountAndPswToBluetooth(); + }); + //鍚姩瓒呮椂绾跨▼ + this.StartTimeoutThread(); + }); + } + + #endregion + + #region 鈻� 鏄剧ず鎴愬姛鐣岄潰_______________________ + + /// <summary> + /// 鏄剧ず鎴愬姛鐣岄潰 + /// </summary> + private void ShowSuccessView() + { + //娓呯┖body + this.ClearBodyFrame(); + + //鍥剧墖 + var btnPic = new PicViewControl(180, 180); + btnPic.Y = Application.GetRealHeight(48); + btnPic.Gravity = Gravity.CenterHorizontal; + btnPic.UnSelectedImagePath = "Public/TipIcon_Successfully.png"; + bodyFrameLayout.AddChidren(btnPic); + + //娣诲姞鎴愬姛 + var btnFail = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(22), false); + btnFail.Y = btnPic.Bottom + Application.GetRealHeight(16); + btnFail.TextSize = CSS.CSS_FontSize.SubheadingFontSize; + btnFail.TextColor = CSS.CSS_Color.MainColor; + btnFail.TextAlignment = TextAlignment.Center; + btnFail.TextID = StringId.AddSuccess; + bodyFrameLayout.AddChidren(btnFail); + + //鍙互寮�濮嬩娇鐢ㄧ孩澶栭仴鎺у姛鑳斤紒 + var strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg7); + int yy = this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, CSS.CSS_Color.TextualColor, + Application.GetRealHeight(20), btnFail.Bottom + Application.GetRealHeight(8)); + + //寮�濮嬩娇鐢� + var btnUse = new BottomClickButton(220); + btnUse.Y = yy + Application.GetRealHeight(60); + btnUse.TextID = StringId.StartUse; + bodyFrameLayout.AddChidren(btnUse); + btnUse.ButtonClickEvent += (sender, e) => + { + //鍏虫帀鐣岄潰 + this.CloseForm(); + HdlFormLogic.Current.CloseFormByFormName("AddThirdPartyDeviceMenuListPage"); + HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.GetPirDeviceList(this, () => + { + Application.RunOnMainThread(() => + { + var page = new UI2.PersonalCenter.PirDevice.PirMain(); + MainPage.BasePageView.AddChidren(page); + page.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); + }); + }; + } + + #endregion + + #region 鈻� 鏄剧ず澶辫触鐣岄潰_______________________ + + /// <summary> + /// 鏄剧ず澶辫触鐣岄潰 + /// </summary> + private void ShowFailView() + { + //娓呯┖body + this.ClearBodyFrame(); + + //鍥剧墖 + var btnPic = new PicViewControl(180, 180); + btnPic.Y = Application.GetRealHeight(48); + btnPic.Gravity = Gravity.CenterHorizontal; + btnPic.UnSelectedImagePath = "Public/TipIcon_Failed.png"; + bodyFrameLayout.AddChidren(btnPic); + + //娣诲姞澶辫触 + var btnFail = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(22), false); + btnFail.Y = btnPic.Bottom + Application.GetRealHeight(16); + btnFail.TextSize = CSS.CSS_FontSize.SubheadingFontSize; + btnFail.TextColor = CSS.CSS_Color.AuxiliaryColor2; + btnFail.TextAlignment = TextAlignment.Center; + btnFail.TextID = StringId.AddFail; + bodyFrameLayout.AddChidren(btnFail); + //1銆佽妫�鏌ヨ澶囨槸鍚︽甯搁�氱數 + //2銆佽寮�鍚摑鐗欏姛鑳� + //3銆佸苟闀挎寜鎸夐挳10s锛屾寚绀虹伅甯镐寒 + var strMsg = Language.StringByID(StringId.AddInfraredRemoteControlMsg6); + this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, CSS.CSS_Color.TextualColor, + Application.GetRealHeight(20), btnFail.Bottom + Application.GetRealHeight(8), + TextAlignment.Center, true); + + //閲嶈瘯 + var btnReDo = this.AddBottomClickButton(Language.StringByID(StringId.Retry)); + btnReDo.ButtonClickEvent += (sender, e) => + { + //閲嶆柊鍒濆鍖栦腑閮ㄤ俊鎭� + this.CloseForm(); + var form = new AddMiniRemoteControlDirection2Page(); + form.AddForm(this.wifiName, this.wifiPsw); + }; + } + + #endregion + + #region 鈻� 鍙戦�佽处鍙峰拰瀵嗙爜缁欒摑鐗檁______________ + + /// <summary> + /// 鍙戦�佽处鍙峰拰瀵嗙爜缁欒摑鐗� + /// </summary> + private void SendAccountAndPswToBluetooth() + { + //鑾峰彇鍙戦�佸埌钃濈墮鐨勬暟鎹� + var sendData = this.GetSendToBluetoothData(); + //涓嶇瓑寰� + HdlBluetoothLogic.Current.SendData(sendData); + } + + #endregion + + #region 鈻� 绾㈠瀹濈浉鍏虫柟娉昣____________________ + + /// <summary> + /// 妫�娴嬫槸鍚︽槸鏂扮殑绾㈠瀹� + /// </summary> + /// <param name="pushEnum">鎺ㄩ�佹灇涓�</param> + /// <param name="i_data">鎺ㄩ�佺殑鏁版嵁</param> + /// <returns></returns> + private bool CheckIsNewMiniRemoteControl(CloudPushEnum pushEnum, string i_data) + { + if (pushEnum != CloudPushEnum.A鏂拌澶囦笂鎶�) { return false; } + + try + { + var strSpk = string.Empty; + //杞负json + var json = Newtonsoft.Json.Linq.JObject.Parse(i_data); + var linqArry = json["objects"] as Newtonsoft.Json.Linq.JArray; + if (linqArry != null) + { + //鏁扮粍绫诲瀷 + if (linqArry.Count == 0) { return false; } + strSpk = linqArry[0]["spk"].ToString(); + } + else + { + //闈炴暟缁勭被鍨� + strSpk = json["objects"]["spk"].ToString(); + } + if (strSpk != Entity.SPK.IrModule) + { + //濡傛灉涓嶆槸绾㈠瀹濈殑璇� + return false; + } + return true; + } + catch { return false; } + } + + /// <summary> + /// 鍒锋柊绾㈠瀹濅俊鎭� + /// </summary> + /// <param name="successEvent">鎴愬姛鐨勫洖璋冧簨浠�</param> + private void RefreshMiniRemoteControlInfo(Action successEvent) + { + var pra = new Dictionary<string, object>(); + pra.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID); + pra.Add("spk", Entity.SPK.IrModule); + + var requestJson = DAL.Server.HttpUtil.GetSignRequestJson(pra); + HdlThreadLogic.Current.RunThread(() => + { + int count = 0; + while (this.Parent != null) + { + try + { + //瓒呰繃5娆¢兘涓嶆垚鍔�,鐪熶笉澶勭悊浜� + count++; + if (count > 5) { return; } + + //鑾峰彇鍏ㄩ儴绾㈠瀹濆垪琛� + var result = DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson); + if (result == null || result.Code != DAL.Server.StateCode.SUCCESS) + { + System.Threading.Thread.Sleep(3000); + continue; + } + var listDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.DevcieApiPack>(result.Data.ToString()); + foreach (var newFunction in listDevice.list) + { + //娣诲姞鍒扮紦瀛樺綋涓� + newFunction.SaveFunctionFile(); + Entity.FunctionList.List.IniFunctionList(newFunction.savePath, true); + } + //璋冪敤鍥炶皟鍑芥暟 + successEvent?.Invoke(); + return; + } + catch + { + System.Threading.Thread.Sleep(3000); + } + } + }); + } + + #endregion + + #region 鈻� 浜戠鍙嶉___________________________ + + /// <summary> + /// 浜戠鍙嶉 + /// </summary> + /// <param name="pushEnum">鏋氫妇</param> + /// <param name="i_data">鎺ㄩ�佺殑鍐呭</param> + private void CloudReceiveEvent(CloudPushEnum pushEnum, string i_data) + { + //妫�娴嬫槸鍚︽槸鏂扮殑绾㈠瀹� + if (this.CheckIsNewMiniRemoteControl(pushEnum, i_data) == false) + { + return; + } + //鍒锋柊绾㈠瀹濅俊鎭� + this.RefreshMiniRemoteControlInfo(() => + { + //绉婚櫎杩欎釜浜嬩欢 + HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page"); + //鍋滄绾跨▼ + this.timeoutThreadActivity = false; + + //娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗� + this.DoSomethingAfterAddDeviceSuccess(); + }); + } + + /// <summary> + /// 娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗� + /// </summary> + private void DoSomethingAfterAddDeviceSuccess() + { + HdlThreadLogic.Current.RunThread(() => + { + //鏁寸偣鐗规晥鑰屽凡 + for (int i = 1; i <= 6; i++) + { + System.Threading.Thread.Sleep(1000); + if (i == 1) + { + HdlThreadLogic.Current.RunMain(() => + { + //鏁寸偣鐗规晥鑰屽凡 + this.btnClound.IsSelected = true; + this.btnCloundView.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + }); + } + else if (i == 4) + { + HdlThreadLogic.Current.RunMain(() => + { + //鏁寸偣鐗规晥鑰屽凡 + this.btnConnect.IsSelected = true; + this.btnConnetView.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + }); + } + else if (i == 6) + { + HdlThreadLogic.Current.RunMain(() => + { + //鏄剧ず鎴愬姛鐣岄潰 + this.ShowSuccessView(); + }); + } + } + }); + } + + #endregion + + #region 鈻� 钃濈墮鍙嶉___________________________ + + /// <summary> + /// 钃濈墮鍙嶉 + /// </summary> + /// <param name="i_receviceData">钃濈墮鍙嶉鐨勬暟鎹�</param> + private void BluetoothReceiveEvent(string i_receviceData) + { +#if DEBUG + System.Console.WriteLine("钃濈墮杩斿洖锛�" + i_receviceData); +#endif + } + + #endregion + + #region 鈻� 瓒呮椂绾跨▼___________________________ + + /// <summary> + /// 鍚姩瓒呮椂绾跨▼ + /// </summary> + private void StartTimeoutThread() + { + HdlThreadLogic.Current.RunThread(() => + { + //360绉掕秴鏃� + int timeout = 360; + while (this.timeoutThreadActivity == false && this.Parent != null) + { + System.Threading.Thread.Sleep(1000); + timeout--; + if (timeout == 0) + { + break; + } + } + if (timeout <= 0) + { + //鏄剧ず澶辫触鐣岄潰 + HdlThreadLogic.Current.RunMain(() => + { + this.ShowFailView(); + }); + } + }); + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseFormBefore() + { + //鎽ф瘉钃濈墮 + HdlBluetoothLogic.Current.Dispone(); + HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page"); + + base.CloseFormBefore(); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鑾峰彇鍙戦�佸埌钃濈墮鐨勬暟鎹� + /// </summary> + /// <returns></returns> + private string GetSendToBluetoothData() + { + var pra = new { id = "id010203", ssid = this.wifiName, password = this.wifiPsw }; + var praData = Newtonsoft.Json.JsonConvert.SerializeObject(pra); + + var sendData = "Topic:/user/id/custom/wifi/set\r\n"; + sendData += "Length:" + praData.Length + "\r\n\r\n"; + sendData += praData; + return sendData; + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddThirdPartyDeviceMenuListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddThirdPartyDeviceMenuListPage.cs new file mode 100644 index 0000000..58b0c30 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddThirdPartyDeviceMenuListPage.cs @@ -0,0 +1,92 @@ +锘縰sing HDL_ON.Stan; +using Shared; +using System; +using System.Collections.Generic; +using System.Text; + +namespace HDL_ON.UI +{ + /// <summary> + /// 娣诲姞绗笁鏂硅澶囩殑鑿滃崟鍒楄〃鐣岄潰 + /// </summary> + public class AddThirdPartyDeviceMenuListPage : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_div"> + /// <para>Evoyo:Evoyo鐨勮澶�</para> + /// <para>Yingshi:钀ょ煶璁惧</para> + /// <para>Tuya:娑傞甫璁惧</para></param> + public void ShowForm(string i_div) + { + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(StringId.AddDevice)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(i_div); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame(string i_div) + { + //鍒楄〃瀹瑰櫒 + var listView = new VerticalListControl(); + listView.BackgroundColor = CSS.CSS_Color.MainBackgroundColor; + listView.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listView); + + //Evoyo鐨勮澶� + if (i_div == "Evoyo") + { + //鍒濆鍖朎voyo璁惧鑿滃崟 + this.InitEvoyoDeviceListMenu(listView); + } + //钀ょ煶璁惧 + else if (i_div == "Yingshi") + { + } + //娑傞甫璁惧 + else if (i_div == "Tuya") + { + } + } + + #endregion + + #region 鈻� 鍒濆鍖朎voyo璁惧鑿滃崟________________ + + /// <summary> + /// 鍒濆鍖朎voyo璁惧鑿滃崟 + /// </summary> + /// <param name="listView"></param> + private void InitEvoyoDeviceListMenu(VerticalListControl listView) + { + //mini鏅鸿兘閬ユ帶鍣� + var rowMini = new RowLayoutControl(); + listView.AddChidren(rowMini); + rowMini.frameTable.AddLeftIcon(32, "PersonalCenter/AddDevice/MiniRemoteControlMenuIcon.png"); + var btnMiniView = rowMini.frameTable.AddLeftCaption(Language.StringByID(StringId.MiniIntelligentRemoteControl), 250); + btnMiniView.TextColor = CSS.CSS_Color.FirstLevelTitleColor; + rowMini.frameTable.AddRightArrow(); + rowMini.frameTable.ButtonClickEvent += (sender, e) => + { + var form = new AddMiniRemoteControlDirection1Page(); + form.AddForm(); + }; + + //璋冩暣妗屽竷鐪熷疄楂樺害 + listView.AdjustRealHeight(0); + } + + #endregion + } +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs new file mode 100644 index 0000000..a876af9 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs @@ -0,0 +1,144 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.Entity; +using HDL_ON.UI.CSS; +using Shared; +namespace HDL_ON.UI +{ + public class AddDevciePage : FrameLayout + { + FrameLayout bodyView; + IntegratedBrand brand; + VerticalRefreshLayout contentView; + + public AddDevciePage(IntegratedBrand integratedBrand) + { + bodyView = this; + brand = integratedBrand; + } + + public void LoadPage() + { + new TopViewDiv(bodyView, Language.StringByID(StringId.AddDevice)).LoadTopView(); + bodyView.BackgroundColor = CSS_Color.BackgroundColor; + + contentView = new VerticalRefreshLayout() + { + Y = Application.GetRealHeight(64), + Height = Application.GetRealHeight(667 - 64), + VerticalScrollBarEnabled = false, + }; + bodyView.AddChidren(contentView); + + + + Load3tyBrandDeviceList(); + + } + + void Load3tyBrandDeviceList() + { + var waitPage = new Loading(); + waitPage.Start(); + new System.Threading.Thread(() => { + try + { + var pm = new DAL.Server.HttpServerRequest(); + //var result = pm.Get3tyBindBrandList + var pack = pm.Get3TyBrandDeviceList(brand.productPlatform, brand.productBrand); + if (pack.Code == DAL.Server.StateCode.SUCCESS) + { + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<IntegratedBrandDevice>>(pack.Data.ToString()); + Application.RunOnMainThread(() => + { + LoadRow(revData); + }); + } + } + catch (Exception ex) + { + MainPage.Log("1--::" + ex.Message); + } + finally + { + Application.RunOnMainThread(() => { waitPage.Hide(); }); + } + }) + { IsBackground = true }.Start(); + } + + void LoadRow(List<IntegratedBrandDevice> deviceList) + { + contentView.RemoveAll(); + bool isFrist = true; + foreach (var device in deviceList) + { + FrameLayout row = new FrameLayout() + { + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + contentView.AddChidren(row); + + if (isFrist) + { + isFrist = false; + } + else + { + Button btnLine = new Button() + { + X = Application.GetRealWidth(56), + Width = Application.GetRealWidth(303), + Height = 1, + BackgroundColor = CSS_Color.DividingLineColor, + }; + row.AddChidren(btnLine); + } + + var btnIcon = new Button() + { + X = Application.GetRealWidth(12), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + Radius = (uint)Application.GetRealWidth(4), + UnSelectedImagePath = $"FunctionIcon/Icon/{device.spk.Replace(".","")}.png", + }; + row.AddChidren(btnIcon); + Button btnRight = new Button() + { + X = Application.GetRealWidth(339), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/Right.png", + }; + row.AddChidren(btnRight); + + Button btnName = new Button() + { + X = Application.GetRealWidth(56), + Width = Application.GetRealWidth(303), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + Text = device.productName, + }; + row.AddChidren(btnName); + + btnName.MouseUpEventHandler = (sender, e) => { + switch (device.spk) + { + case SPK.IrModule: + var form = new AddMiniRemoteControlDirection1Page(); + form.AddForm(); + break; + } + }; + } + + } + + } +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddThirdPartyBrandListpage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddThirdPartyBrandListpage.cs index c66cb3f..f73971c 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddThirdPartyBrandListpage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddThirdPartyBrandListpage.cs @@ -10,10 +10,11 @@ { FrameLayout bodyView; VerticalRefreshLayout contentView; - List<IntegratedBrand> brandList = new List<IntegratedBrand>(); - public AddThirdPartyBrandListpage() + List<IntegratedBrand> brandList; + public AddThirdPartyBrandListpage(List<IntegratedBrand> list) { bodyView = this; + brandList = list; } public void LoadPage() @@ -26,6 +27,7 @@ { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(667 - 64), + VerticalScrollBarEnabled = false, }; bodyView.AddChidren(contentView); @@ -60,7 +62,6 @@ Button btnLine = new Button() { X = Application.GetRealWidth(56), - Y = Application.GetRealHeight(49), Width = Application.GetRealWidth(303), Height = 1, BackgroundColor = CSS_Color.DividingLineColor, @@ -101,6 +102,13 @@ row.AddChidren(btnName); //涓嬭浇绗笁鏂瑰搧鐗宨con ImageUtlis.Current.Load3tyBrandIconImages(brand.brandName, brand.brandIcon, btnIcon); + + btnName.MouseUpEventHandler = (sender, e) => { + var page = new AddDevciePage(brand); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; } } @@ -133,5 +141,13 @@ } }) { IsBackground = true }.Start(); } + /// <summary> + /// 璺宠浆娣诲姞璁惧鐣岄潰 + /// </summary> + /// <param name="bandType">鍝佺墝绫诲瀷</param> + void SkipPage_AddDevice() + { + + } } } \ No newline at end of file diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs new file mode 100644 index 0000000..ae8c28d --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs @@ -0,0 +1,227 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.Entity; +using HDL_ON.UI.CSS; +using Shared; +namespace HDL_ON.UI +{ + public class BrandListPage : FrameLayout + { + FrameLayout bodyView; + + VerticalScrolViewLayout contentView; + + List<IntegratedBrand> brandList; + + public BrandListPage() + { + bodyView = this; + brandList = new List<IntegratedBrand>(); + } + + public void LoadPage() + { + Action<string,string> action = (s,a) => { + var page = new AddThirdPartyBrandListpage(brandList); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + new TopViewDiv(bodyView, Language.StringByID(StringId.FunctionBrand)).LoadTopView_AddIcon("3ty",action); + + bodyView.BackgroundColor = CSS_Color.BackgroundColor; + + contentView = new VerticalScrolViewLayout() + { + Y = Application.GetRealHeight(64), + Height = Application.GetRealHeight(603), + }; + bodyView.AddChidren(contentView); + + GetBindList(); + + } + /// <summary> + /// 鑾峰彇缁戝畾鍒楄〃 + /// </summary> + void GetBindList() + { + var waitPage = new Loading(); + waitPage.Start(); + new System.Threading.Thread(() => { + try + { + var pm = new DAL.Server.HttpServerRequest(); + var pack = pm.Get3tyBrandList(); + if (pack.Code == DAL.Server.StateCode.SUCCESS) + { + brandList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<IntegratedBrand>>(pack.Data.ToString()); + if (brandList.Count > 0) + { + Application.RunOnMainThread(() => + { + LoadRow(); + }); + }else + { + Application.RunOnMainThread(() => + { + NotListTipView(); + + }); + } + } + } + catch (Exception ex) + { + MainPage.Log("2--::" + ex.Message); + } + finally + { + Application.RunOnMainThread(() => { waitPage.Hide(); }); + } + }) + { IsBackground = true }.Start(); + } + + + void LoadRow() + { + contentView.RemoveAll(); + bool isFrist = true; + foreach (var brand in brandList) + { + var row = new RowLayout() + { + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + LineColor = 0x00000000, + }; + contentView.AddChidren(row); + + if (isFrist) + { + isFrist = false; + } + else + { + Button btnLine = new Button() + { + X = Application.GetRealWidth(56), + Width = Application.GetRealWidth(303), + Height = 1, + BackgroundColor = CSS_Color.DividingLineColor, + }; + row.AddChidren(btnLine); + } + + ImageView btnIcon = new ImageView() + { + X = Application.GetRealWidth(12), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + Radius = (uint)Application.GetRealWidth(4), + BackgroundColor = CSS_Color.PromptingColor1 + }; + row.AddChidren(btnIcon); + Button btnRight = new Button() + { + X = Application.GetRealWidth(339), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/Right.png", + }; + row.AddChidren(btnRight); + + Button btnName = new Button() + { + X = Application.GetRealWidth(56), + Width = Application.GetRealWidth(303), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + Text = brand.brandName, + }; + row.AddChidren(btnName); + //涓嬭浇绗笁鏂瑰搧鐗宨con + ImageUtlis.Current.Load3tyBrandIconImages(brand.brandName, brand.brandIcon, btnIcon); + + btnName.MouseUpEventHandler = (sender, e) => { + var page = new DeviceListPage(brand); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + + } + + void NotListTipView() + { + contentView.RemoveAll(); + var btnTip = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(108), + Width = Application.GetRealWidth(180), + Height = Application.GetRealWidth(180), + UnSelectedImagePath = "TipNot.png", + }; + contentView.AddChidren(btnTip); + + var btnTipText = new Button() + { + Y = Application.GetRealHeight(292), + Height = Application.GetRealHeight(52), + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.Center, + TextID = StringId.Not3tyBrandListTip, + }; + contentView.AddChidren(btnTipText); + + var btnTipText1 = new Button() + { + Y = Application.GetRealHeight(459), + Height = Application.GetRealHeight(41), + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.Center, + TextID = StringId.Use3tyBrandListTip, + }; + contentView.AddChidren(btnTipText1); + + var btnAdd = new Button() + { + Y = Application.GetRealHeight(500), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(220), + Height = Application.GetRealWidth(44), + BackgroundColor = CSS_Color.MainColor, + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.SubheadingFontSize, + IsBold = true, + Radius = (uint)Application.GetRealWidth(22), + BorderColor = 0x00000000, + BorderWidth = 0, + TextID = StringId.Add, + }; + contentView.AddChidren(btnAdd); + + + btnAdd.MouseUpEventHandler = (sender, e) => { + var page = new AddThirdPartyBrandListpage(brandList); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + this.RemoveFromParent(); + }; + + + + } + } +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs new file mode 100644 index 0000000..df95071 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs @@ -0,0 +1,164 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.Entity; +using HDL_ON.UI.CSS; +using Shared; +namespace HDL_ON.UI +{ + public class DeviceListPage : FrameLayout + { + FrameLayout bodyView; + VerticalRefreshLayout contentView; + + IntegratedBrand brand; + public DeviceListPage(IntegratedBrand integratedBrand) + { + bodyView = this; + brand = integratedBrand; + } + + + public void LoadPage() + { + new TopViewDiv(bodyView, Language.StringByID(StringId.AddDevice)).LoadTopView(); + bodyView.BackgroundColor = CSS_Color.BackgroundColor; + + contentView = new VerticalRefreshLayout() + { + Y = Application.GetRealHeight(64), + Height = Application.GetRealHeight(667 - 64), + VerticalScrollBarEnabled = false, + }; + bodyView.AddChidren(contentView); + + + + Load3tyBrandDeviceList(); + + } + + void Load3tyBrandDeviceList() + { + var waitPage = new Loading(); + waitPage.Start(); + new System.Threading.Thread(() => { + try + { + var pm = new DAL.Server.HttpServerRequest(); + var pack = pm.Get3TyBrandBindDeviceList(brand.productPlatform, brand.productBrand); + if (pack.Code == DAL.Server.StateCode.SUCCESS) + { + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<Function3tyBrandObj>(pack.Data.ToString()); + Application.RunOnMainThread(() => + { + LoadRow(revData.list); + }); + } + } + catch (Exception ex) + { + MainPage.Log("1--::" + ex.Message); + } + finally + { + Application.RunOnMainThread(() => { waitPage.Hide(); }); + } + }) + { IsBackground = true }.Start(); + } + + void LoadRow(List<Function> deviceList) + { + deviceList.Add(new Function() { name ="娴嬭瘯绾㈠瀹�",spk = SPK.IrModule}); + + contentView.RemoveAll(); + bool isFrist = true; + foreach (var device in deviceList) + { + FrameLayout row = new FrameLayout() + { + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + contentView.AddChidren(row); + + if (isFrist) + { + isFrist = false; + } + else + { + Button btnLine = new Button() + { + X = Application.GetRealWidth(56), + Width = Application.GetRealWidth(303), + Height = 1, + BackgroundColor = CSS_Color.DividingLineColor, + }; + row.AddChidren(btnLine); + } + + var btnIcon = new Button() + { + X = Application.GetRealWidth(12), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + Radius = (uint)Application.GetRealWidth(4), + UnSelectedImagePath = $"FunctionIcon/Icon/{device.spk.Replace(".", "")}.png", + }; + row.AddChidren(btnIcon); + Button btnRight = new Button() + { + X = Application.GetRealWidth(339), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/Right.png", + }; + row.AddChidren(btnRight); + + Button btnName = new Button() + { + X = Application.GetRealWidth(56), + Width = Application.GetRealWidth(303), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + Text = device.name, + }; + row.AddChidren(btnName); + + btnName.MouseUpEventHandler = (sender, e) => { + switch (device.spk) + { + case SPK.IrModule: + UI2.PersonalCenter.PirDevice.Method.GetPirDeviceList(this, () => + { + Application.RunOnMainThread(() => + { + var page = new UI2.PersonalCenter.PirDevice.PirMain(); + MainPage.BasePageView.AddChidren(page); + page.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); + }); + break; + } + }; + } + + } + + } + + + /// <summary> + /// 浜戠杩斿洖鐨勭涓夋柟璁惧鍒楄〃鏁版嵁 + /// </summary> + public class Function3tyBrandObj + { + public List<Function> list = new List<Function>(); + } + +} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/ThirdPartyBrandListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/ThirdPartyBrandListPage.cs index bc6f542..b292e9d 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/ThirdPartyBrandListPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/ThirdPartyBrandListPage.cs @@ -1,93 +1,93 @@ -锘縰sing System; -using System.Collections.Generic; -using HDL_ON.Entity; -using HDL_ON.UI.CSS; -using Shared; -namespace HDL_ON.UI -{ - public class ThirdPartyBrandListPage : FrameLayout - { +锘�//using System; +//using System.Collections.Generic; +//using HDL_ON.Entity; +//using HDL_ON.UI.CSS; +//using Shared; +//namespace HDL_ON.UI +//{ +// public class ThirdPartyBrandListPage : FrameLayout +// { - FrameLayout bodyView; - FrameLayout contentView; - Button btnAdd; +// FrameLayout bodyView; +// FrameLayout contentView; +// Button btnAdd; - public ThirdPartyBrandListPage() - { - bodyView = this; - } +// public ThirdPartyBrandListPage() +// { +// bodyView = this; +// } - public void LoadPage() - { - new TopViewDiv(bodyView, Language.StringByID(StringId.FunctionBrand)).LoadTopView(); +// public void LoadPage() +// { +// new TopViewDiv(bodyView, Language.StringByID(StringId.FunctionBrand)).LoadTopView(); - contentView = new FrameLayout() - { - Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(667-64), - BackgroundColor = CSS_Color.MainBackgroundColor, - }; - bodyView.AddChidren(contentView); +// contentView = new FrameLayout() +// { +// Y = Application.GetRealHeight(64), +// Height = Application.GetRealHeight(667-64), +// BackgroundColor = CSS_Color.MainBackgroundColor, +// }; +// bodyView.AddChidren(contentView); - AddEmptyTipView(); +// AddEmptyTipView(); - Button btnTipMsg = new Button() - { - Height = Application.GetRealHeight(17 + 24), - Y = Application.GetRealHeight(535 - 12), - TextColor = CSS_Color.TextualColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.Center, - TextID = StringId.TipAddThirdPartyDeviceMsg, - }; - bodyView.AddChidren(btnTipMsg); +// Button btnTipMsg = new Button() +// { +// Height = Application.GetRealHeight(17 + 24), +// Y = Application.GetRealHeight(535 - 12), +// TextColor = CSS_Color.TextualColor, +// TextSize = CSS_FontSize.PromptFontSize_FirstLevel, +// TextAlignment = TextAlignment.Center, +// TextID = StringId.TipAddThirdPartyDeviceMsg, +// }; +// bodyView.AddChidren(btnTipMsg); - btnAdd = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(564), - Width = Application.GetRealWidth(220), - Height = Application.GetRealWidth(44), - Radius = (uint)Application.GetRealWidth(22), - BackgroundColor = CSS_Color.MainColor, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.MainBackgroundColor, - TextID = StringId.Add, - }; - bodyView.AddChidren(btnAdd); +// btnAdd = new Button() +// { +// Gravity = Gravity.CenterHorizontal, +// Y = Application.GetRealHeight(564), +// Width = Application.GetRealWidth(220), +// Height = Application.GetRealWidth(44), +// Radius = (uint)Application.GetRealWidth(22), +// BackgroundColor = CSS_Color.MainColor, +// TextAlignment = TextAlignment.Center, +// TextColor = CSS_Color.MainBackgroundColor, +// TextID = StringId.Add, +// }; +// bodyView.AddChidren(btnAdd); - LoadEvent_SikpAddBrand(); - } +// LoadEvent_SikpAddBrand(); +// } - /// <summary> - /// 娣诲姞鍐呭涓虹┖鎻愮ず椤甸潰 - /// </summary> - void AddEmptyTipView() - { - var emptyTipView = new FrameLayout() - { - Height =Application.GetRealWidth(470), - Width = contentView.Width, - }; - contentView.AddChidren(emptyTipView); +// /// <summary> +// /// 娣诲姞鍐呭涓虹┖鎻愮ず椤甸潰 +// /// </summary> +// void AddEmptyTipView() +// { +// var emptyTipView = new FrameLayout() +// { +// Height =Application.GetRealWidth(470), +// Width = contentView.Width, +// }; +// contentView.AddChidren(emptyTipView); - var tipView = new EmptyTipView(Language.StringByID(StringId.TipNotThirdPartyDevice)) - { - Gravity = Gravity.Center - }; - emptyTipView.AddChidren(tipView); - } - /// <summary> - /// 璺宠浆缁戝畾绗笁鏂瑰搧鐗岀晫闈� - /// </summary> - void LoadEvent_SikpAddBrand() - { - btnAdd.MouseUpEventHandler = (sender, e) => { - var page = new AddThirdPartyBrandListpage(); - MainPage.BasePageView.AddChidren(page); - page.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - } - } -} +// var tipView = new EmptyTipView(Language.StringByID(StringId.TipNotThirdPartyDevice)) +// { +// Gravity = Gravity.Center +// }; +// emptyTipView.AddChidren(tipView); +// } +// /// <summary> +// /// 璺宠浆缁戝畾绗笁鏂瑰搧鐗岀晫闈� +// /// </summary> +// void LoadEvent_SikpAddBrand() +// { +// btnAdd.MouseUpEventHandler = (sender, e) => { +// var page = new AddThirdPartyBrandListpage(); +// MainPage.BasePageView.AddChidren(page); +// page.LoadPage(); +// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; +// }; +// } +// } +//} diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs index 15e23fb..c73aa4f 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs @@ -339,7 +339,7 @@ userTypeView.AddChidren(btnUserTypeName); #endregion #region 浣忓畢绠$悊 - + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) { #region ---浣忓畢绠$悊鍖哄煙 diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs index 17453a7..7a96fac 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs @@ -260,20 +260,21 @@ { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { - // var page = new ThirdPartyBrandListPage(); - // MainPage.BasePageView.AddChidren(page); - // page.LoadPage(); + var page = new BrandListPage();// AddThirdPartyBrandListpage(); // BrandListPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; //鑾峰彇鍒楄〃 - HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.GetPirDeviceList(this, () => - { - Application.RunOnMainThread(() => - { - var page = new UI2.PersonalCenter.PirDevice.PirMain(); - MainPage.BasePageView.AddChidren(page); - page.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }); - }); + //HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.GetPirDeviceList(this, () => + //{ + // Application.RunOnMainThread(() => + // { + // var page = new UI2.PersonalCenter.PirDevice.PirMain(); + // MainPage.BasePageView.AddChidren(page); + // page.Show(); + // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + // }); + //}); }; btnResidenceAddFunctionIcon.MouseUpEventHandler = eventHandler; btnResidenceAddFunctionText.MouseUpEventHandler = eventHandler; diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/ResetAccountPassword/ResetPasswordPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/ResetAccountPassword/ResetPasswordPage.cs index 54bad8f..61fff82 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/ResetAccountPassword/ResetPasswordPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/ResetAccountPassword/ResetPasswordPage.cs @@ -195,6 +195,7 @@ { CloseTime = 1, Direction = AMPopTipDirection.None, + MaxWidth = Application.GetRealWidth(300), Text = Language.StringByID(StringId.IncorrectRepeatPassword) }.Show(bodyView); @@ -310,6 +311,7 @@ { CloseTime = 1, Direction = AMPopTipDirection.None, + MaxWidth = Application.GetRealWidth(300), Text = Language.StringByID(StringId.IncorrectRepeatPassword) }.Show(bodyView); } diff --git a/HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs index 629a706..4874520 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs @@ -206,6 +206,8 @@ LoadEvent_TempChange(); LoadEvent_AcStatesChange(); + + LoadDiv_IrView(); } /// <summary> @@ -445,6 +447,146 @@ dialog.Show(); } + /// <summary> + /// 鍔犺浇绾㈠閬ユ帶鍣紝棰濆鎸夐挳 + /// </summary> + void LoadDiv_IrView() + { + if (device.spk == SPK.AcIr) + { + var btnMore = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(334), + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(30), + UnSelectedImagePath = "FunctionIcon/AC/More.png", + }; + FrameWhiteCentet1.AddChidren(btnMore); + + btnMore.MouseUpEventHandler = (sender, e) => { + LoadDialog_IrMoreView(); + }; + } + } + /// <summary> + /// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈� + /// </summary> + void LoadDialog_IrMoreView() + { + Dialog dialog = new Dialog(); + + var div = new FrameLayout(); + dialog.AddChidren(div); + div.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + + var bodyView = new FrameLayout() + { + Y = Application.GetRealHeight(463), + Height = Application.GetRealHeight(375), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + div.AddChidren(bodyView); + + var contentView = new FrameLayout() + { + Y = Application.GetRealHeight(16), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(296), + }; + bodyView.AddChidren(contentView); + + var row = new FrameLayout() + { + Height = Application.GetRealHeight(60), + }; + contentView.AddChidren(row); + + int index = 0; + foreach (var attr in device.attributes) + { + if (attr.key == FunctionAttributeKey.Mode + || attr.key == FunctionAttributeKey.OnOff + || attr.key == FunctionAttributeKey.SetTemp + || attr.key == FunctionAttributeKey.SetTempStep + || attr.key == FunctionAttributeKey.FanSpeed + || attr.key == FunctionAttributeKey.FanManual + || attr.key == FunctionAttributeKey.FanAuto + ) + { + continue; + } + if (index != 0 && index % 3 == 0) + { + row = new FrameLayout() + { + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(56), + }; + contentView.AddChidren(row); + } + + var btn = new Button() + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainBackgroundColor, + SelectedBackgroundColor = CSS_Color.MainColor, + }; + if (attr.value.Count > 0) + { + btn.Text = attr.value[0]; + } + if (index % 3 == 1) + { + btn.Gravity = Gravity.Center; + } + else if (index % 3 == 2) + { + btn.X = Application.GetRealWidth(208); + } + row.AddChidren(btn); + + btn.MouseUpEventHandler = (sender, e) => + { + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Key, attr.key); + Control.Ins.SendWriteCommand(device, d); + + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btn.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + }; + + + + index++; + } + + + + + + + dialog.Show(); + } + + #endregion #region 鈻� 璁惧鐘舵�佸弽棣坃______________________ diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs index 57119a2..aa73f74 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs @@ -405,6 +405,7 @@ { lightingView.SetViewStatus(lightTemp.state == "on"); } + Console.WriteLine($"鏃堕棿鎴筹細{device.time_stamp} 鏃堕棿锛歿device.GeteTime()} 鐑樺共:{hotDryTemp.state} 椋庡共:{windDryTemp.state} 娑堟瘨:{disinfectTemp.state} 鐏厜鐘舵�侊細{lightTemp.state}"); #endregion #region 淇敼鏃堕棿 @@ -492,10 +493,26 @@ public void ChangeTime(string newTime) { int.TryParse(newTime, out leftTime); + if (leftTime > 0) + { + Application.RunOnMainThread(() => + { + btnTime.Text = new TimeSpan(0, leftTime, 0).ToString().Remove(5, 3); + }); + leftTime--; + } + else if (leftTime == 0) + { + Application.RunOnMainThread(() => + { + btnTime.Text = ""; + }); + } if (countdownThread == null) { countdownThread = new System.Threading.Thread(() => { + while (true) { if (leftTime > 0) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs new file mode 100644 index 0000000..aef5a45 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs @@ -0,0 +1,146 @@ +锘縰sing System; +using HDL_ON.DriverLayer; +using HDL_ON.Entity; +using HDL_ON.Stan; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI +{ + public class IrLearnPage : DeviceFunctionCardCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭 + /// </summary> + public override void InitFrameWhiteContent() + { + + base.ShowColltionButton = false; + base.SetTitleText(Language.StringByID(StringId.RemoteControl)); + + //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + this.InitFrameWhiteContent1(); + + } + + /// <summary> + /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� + /// </summary> + private void InitFrameWhiteContent1() + { + var contentView = new VerticalScrolViewLayout() + { + Y = Application.GetRealHeight(94), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(296), + Height = Application.GetRealHeight(376), + }; + FrameWhiteCentet1.AddChidren(contentView); + + var row = new FrameLayout() + { + //Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(56), + }; + contentView.AddChidren(row); + + int index = 0; + foreach(var attr in device.attributes) + { + if(index != 0 && index%3==0) + { + row = new FrameLayout() + { + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(56), + }; + contentView.AddChidren(row); + } + + var btn = new Button() + { + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainBackgroundColor, + SelectedBackgroundColor = CSS_Color.MainColor, + }; + if (attr.value.Count > 0) + { + btn.Text = attr.value[0]; + } + if (index % 3 == 1) + { + btn.Gravity = Gravity.CenterHorizontal; + } + else if (index % 3 == 2) + { + btn.X = Application.GetRealWidth(208); + } + row.AddChidren(btn); + + btn.MouseUpEventHandler = (sender, e) => { + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(attr.key, ""); + Control.Ins.SendWriteCommand(device, d); + + new System.Threading.Thread(() => { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => { + btn.IsSelected = false; + }); + }) { IsBackground = true }.Start(); + }; + + + + index++; + } + + } + + + #endregion + + #region 鈻� 璁惧鐘舵�佸弽棣坃______________________ + + /// <summary> + /// 璁惧鐘舵�佸弽棣� + /// </summary> + /// <param name="i_LocalDevice"></param> + public override void DeviceStatuPush(Function i_LocalDevice) + { + return; + } + + #endregion + + #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________ + + #endregion + + #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________ + + /// <summary> + /// 鍒锋柊鐣岄潰鐘舵�� + /// </summary> + private void RefreshFormStatu() + { + return; + } + + #endregion + + } +} diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs index 171e369..d0199bb 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs @@ -73,9 +73,9 @@ /// </summary> private MostRightIconControl btnAnionSwitch = null; /// <summary> - /// 婊よ姱澶嶄綅寮�鍏虫帶浠� + /// 婊よ姱澶嶄綅寮�鍏虫帶浠� 2021.03.09鎺т欢鍙樻洿 /// </summary> - private MostRightIconControl btnResetSwitch = null; + //private MostRightIconControl btnResetSwitch = null; /// <summary> /// 绌烘皵璐ㄩ噺鏁版嵁 /// </summary> @@ -328,12 +328,11 @@ rowReset.Height = Application.GetRealHeight(50); rowReset.Width = FrameWhiteCentet2.Width; rowReset.Y = rowAnion.Bottom; - FrameWhiteCentet2.AddChidren(rowReset); + //FrameWhiteCentet2.AddChidren(rowReset); rowReset.AddLeftCaption(Language.StringByID(StringId.FilterElementReset), 200); rowReset.AddBottomLine(); - this.btnResetSwitch = rowReset.AddMostRightSwitchIcon(); - btnResetSwitch.IsSelected = this.airCleanerData.FilterReset; - btnResetSwitch.ButtonClickEvent += (sender, e) => + rowReset.AddRightArrow(); + rowReset.ButtonClickEvent += (sender, e) => { if (this.btnSwitch.IsSelected == false) { @@ -345,7 +344,7 @@ this.ShowMassage(ShowMsgType.Confirm, msg, () => { //鍙戦�佷娇鑳藉懡浠� - this.SendEnableComand(btnResetSwitch, "filter_reset", btnResetSwitch.IsSelected == true ? "false" : "true"); + this.SendEnableComand(null, "filter_reset", "true"); }); }; } @@ -624,12 +623,18 @@ /// </summary> private void SendEnableComand(MostRightIconControl btnSwitch, string sendKey, string value) { - btnSwitch.CanClick = false; + if (btnSwitch != null) + { + btnSwitch.CanClick = false; + } HdlThreadLogic.Current.RunThread(() => { var dic = new Dictionary<string, string>(); dic.Add(sendKey, value); Control.Ins.SendWriteCommand(this.device, dic, true); + + if (btnSwitch == null) { return; } + HdlThreadLogic.Current.RunMain(() => { btnSwitch.CanClick = true; @@ -769,10 +774,10 @@ this.btnAnionSwitch.IsSelected = this.airCleanerData.Anion; } //婊よ姱澶嶄綅 - if (this.btnResetSwitch.IsSelected != this.airCleanerData.FilterReset) - { - this.btnResetSwitch.IsSelected = this.airCleanerData.FilterReset; - } + //if (this.btnResetSwitch.IsSelected != this.airCleanerData.FilterReset) + //{ + // this.btnResetSwitch.IsSelected = this.airCleanerData.FilterReset; + //} } #endregion diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs index 89d188b..73e6c7a 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs @@ -42,12 +42,18 @@ /// </summary> public override void InitFrameWhiteContent() { - base.SetTitleText(Language.StringByID(StringId.AirCleaner)); + base.SetTitleText(Language.StringByID(StringId.WaterValve)); //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹� this.InitFrameWhiteContent1(); //鍒锋柊鐣岄潰鐘舵�� this.RefreshFormStatu(); + //璇诲彇鐘舵�� + new System.Threading.Thread(() => + { + Control.Ins.ReadFunctionsInfo(new List<string>() { device.deviceId}); + }) + { IsBackground = true }.Start(); } /// <summary> @@ -104,6 +110,21 @@ btnTimeSet.ButtonClickEvent = (sender, e) => { SetControlTime(); }; + + + var btnTimeSetTip = new NormalViewControl(300, 30, true) + { + Y = btnTimeSet.Bottom , + Gravity = Gravity.CenterHorizontal, + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + //TextColor = 0x00000000, + SelectedTextColor = CSS_Color.TextualColor, + TextColor = CSS_Color.TextualColor, + TextID = StringId.TimeSwitch, + }; + FrameWhiteCentet1.AddChidren(btnTimeSetTip); + //寮�鍏冲浘鏍� this.btnSwitch = new IconViewControl(40); @@ -187,7 +208,7 @@ { btnControlTip.TextID = StringId.ControllerNotOn; } - this.btnSwitch.IsSelected = this.btnPictrue.IsSelected = onoffStatu.value.ToString() == "on"; + this.btnSwitch.IsSelected = this.btnPictrue.IsSelected = onoffStatu.state.ToString() == "on"; } if (timeStatu != null) { @@ -252,6 +273,7 @@ private void SetControlTime() { var timeControl = new BottomTimeSelectControl(); + timeControl.RowCount = 5; timeControl.InitControl(0,0); timeControl.FinishEvent = (type,hours,min) => { if (type == 1)//0:鍙栨秷锛�1:纭畾 diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs index f5028ec..2368509 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs @@ -127,7 +127,7 @@ //鍚稿姏璋冭妭 this.btnSuctionIcon = new IconViewControl(28); btnSuctionIcon.Y = ImageControl.Bottom + Application.GetRealHeight(64); - btnSuctionIcon.X = Application.GetRealWidth(33); + //btnSuctionIcon.X = Application.GetRealWidth(33); btnSuctionIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Suction.png"; btnSuctionIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/SuctionSelect.png"; FrameWhiteCentet1.AddChidren(btnSuctionIcon); @@ -138,7 +138,7 @@ }; this.btnSuctionView = new NormalViewControl(80, 54, true); btnSuctionView.Y = btnSuctionIcon.Bottom + Application.GetRealHeight(10); - btnSuctionView.X = btnSuctionIcon.X - (Application.GetRealWidth(80) - btnSuctionIcon.Width) / 2; + //btnSuctionView.X = btnSuctionIcon.X - (Application.GetRealWidth(80) - btnSuctionIcon.Width) / 2; btnSuctionView.TextAlignment = TextAlignment.TopCenter; btnSuctionView.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; btnSuctionView.Text = Language.StringByID(StringId.SuctionAdjustment); @@ -149,7 +149,8 @@ this.btnChargeIcon = new IconViewControl(28); btnChargeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/ChargeSelect.png"; btnChargeIcon.Y = btnSuctionIcon.Y; - btnChargeIcon.X = btnSuctionIcon.Right + Application.GetRealWidth(50); + //btnChargeIcon.X = btnSuctionIcon.Right + Application.GetRealWidth(50); + btnChargeIcon.Gravity = Gravity.CenterHorizontal; FrameWhiteCentet1.AddChidren(btnChargeIcon); btnChargeIcon.ButtonClickEvent += (sender, e) => { @@ -164,6 +165,10 @@ btnChargeView.TextID = StringId.Charge; FrameWhiteCentet1.AddChidren(btnChargeView); + //2021.03.09 鑸嶅純鎺夐潤闊冲姛鑳� + btnSuctionIcon.X = btnChargeIcon.X - btnSuctionIcon.IconSize - Application.GetRealWidth(50); + btnSuctionView.X = btnSuctionIcon.X - (Application.GetRealWidth(80) - btnSuctionIcon.Width) / 2; + //澹伴煶鍥炬爣 this.btnVoiceIcon = new IconViewControl(28); btnVoiceIcon.Y = btnSuctionIcon.Y; @@ -171,7 +176,7 @@ btnVoiceIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Voice.png"; btnVoiceIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/VoiceSelect.png"; btnVoiceIcon.IsSelected = true; - FrameWhiteCentet1.AddChidren(btnVoiceIcon); + //FrameWhiteCentet1.AddChidren(btnVoiceIcon); btnVoiceIcon.ButtonClickEvent += (sender, e) => { //鍙戦�侀潤闊冲懡浠� @@ -183,12 +188,13 @@ btnVoiceView.TextAlignment = TextAlignment.TopCenter; btnVoiceView.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; btnVoiceView.TextID = StringId.Mute; - FrameWhiteCentet1.AddChidren(btnVoiceView); + //FrameWhiteCentet1.AddChidren(btnVoiceView); //娓呮壂妯″紡鍥炬爣 this.btnModeIcon = new IconViewControl(28); btnModeIcon.Y = btnSuctionIcon.Y; - btnModeIcon.X = btnVoiceIcon.Right + Application.GetRealWidth(50); + //btnModeIcon.X = btnVoiceIcon.Right + Application.GetRealWidth(50); + btnModeIcon.X = btnChargeIcon.Right + Application.GetRealWidth(50); btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Clean.png"; FrameWhiteCentet1.AddChidren(btnModeIcon); btnModeIcon.ButtonClickEvent += (sender, e) => @@ -220,26 +226,28 @@ btnTitleName.TextID = StringId.WeepRobot; FrameWhiteCentet2.AddChidren(btnTitleName); + //2021.03.09 鑸嶅純鑰楁潗绠$悊 //鑰楁潗绠$悊 - var rowManment = new FrameRowControl(); - rowManment.Height = Application.GetRealHeight(50); - rowManment.Width = FrameWhiteCentet2.Width; - rowManment.Y = Application.GetRealHeight(75); - FrameWhiteCentet2.AddChidren(rowManment); - rowManment.AddLeftCaption(Language.StringByID(StringId.ConsumablesManagement), 200); - rowManment.AddBottomLine(); - rowManment.AddRightArrow(); - rowManment.ButtonClickEvent += (sender, e) => - { - var form = new TuyaWeepRobotConsumablesMagPage(); - form.AddForm(this.device, this.weepRobotData); - }; + //var rowManment = new FrameRowControl(); + //rowManment.Height = Application.GetRealHeight(50); + //rowManment.Width = FrameWhiteCentet2.Width; + //rowManment.Y = Application.GetRealHeight(75); + //FrameWhiteCentet2.AddChidren(rowManment); + //rowManment.AddLeftCaption(Language.StringByID(StringId.ConsumablesManagement), 200); + //rowManment.AddBottomLine(); + //rowManment.AddRightArrow(); + //rowManment.ButtonClickEvent += (sender, e) => + //{ + // var form = new TuyaWeepRobotConsumablesMagPage(); + // form.AddForm(this.device, this.weepRobotData); + //}; //鍘嗗彶璁板綍 var rowHistory = new FrameRowControl(); rowHistory.Height = Application.GetRealHeight(50); rowHistory.Width = FrameWhiteCentet2.Width; - rowHistory.Y = rowManment.Bottom; + //rowHistory.Y = rowManment.Bottom; + rowHistory.Y = Application.GetRealHeight(75); FrameWhiteCentet2.AddChidren(rowHistory); rowHistory.AddLeftCaption(Language.StringByID(StringId.HistoryLog), 200); rowHistory.AddBottomLine(); @@ -327,12 +335,15 @@ }; frameBack.Show(); + //2021.03.09 鑸嶅純闅忔満娓呮壂 //鑿滃崟鎺т欢(娓呮壂妯″紡) - var menuContr = new DialogTitleMenuControl(4, Language.StringByID(StringId.CleanMode)); + //var menuContr = new DialogTitleMenuControl(4, Language.StringByID(StringId.CleanMode)); + var menuContr = new DialogTitleMenuControl(3, Language.StringByID(StringId.CleanMode)); menuContr.X = Application.GetRealWidth(210); menuContr.Y = Application.GetRealHeight(197); menuContr.Width = Application.GetRealWidth(160); - menuContr.Height = Application.GetRealHeight(243); + //menuContr.Height = Application.GetRealHeight(243); + menuContr.Height = Application.GetRealHeight(203); dialogBody.AddChidren(menuContr); //鑷姩娓呮壂 @@ -345,13 +356,13 @@ }); //闅忔満娓呮壂 - iconPath = this.weepRobotData.Mode == "random" ? "FunctionIcon/Electrical/WeepRobot/FixedPointModeSelect.png" : "FunctionIcon/Electrical/WeepRobot/FixedPointMode.png"; - menuContr.AddRowMenu(Language.StringByID(StringId.RandomClean), iconPath, this.weepRobotData.Mode == "random", () => - { - frameBack.Close(); - //鍙戦�佹ā寮忓懡浠� - this.SendComand("mode", "random"); - }); + //iconPath = this.weepRobotData.Mode == "random" ? "FunctionIcon/Electrical/WeepRobot/FixedPointModeSelect.png" : "FunctionIcon/Electrical/WeepRobot/FixedPointMode.png"; + //menuContr.AddRowMenu(Language.StringByID(StringId.RandomClean), iconPath, this.weepRobotData.Mode == "random", () => + //{ + // frameBack.Close(); + // //鍙戦�佹ā寮忓懡浠� + // this.SendComand("mode", "random"); + //}); //铻烘棆娓呮壂 iconPath = this.weepRobotData.Mode == "spiral" ? "FunctionIcon/Electrical/WeepRobot/AreaModeSelect.png" : "FunctionIcon/Electrical/WeepRobot/AreaMode.png"; @@ -520,13 +531,14 @@ this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/AutoModeSelect.png"; this.btnModeView.TextID = StringId.AutoClean; } - else if (this.weepRobotData.Mode == "smart") - { - //闅忔満娓呮壂 - this.btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/FixedPointMode.png"; - this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/FixedPointModeSelect.png"; - this.btnModeView.TextID = StringId.RandomClean; - } + //2021.03.09 鑸嶅純闅忔満娓呮壂 + //else if (this.weepRobotData.Mode == "smart") + //{ + // //闅忔満娓呮壂 + // this.btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/FixedPointMode.png"; + // this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/FixedPointModeSelect.png"; + // this.btnModeView.TextID = StringId.RandomClean; + //} else if (this.weepRobotData.Mode == "wall_follow") { //娌垮娓呮壂 diff --git a/HDL_ON/UI/UI2/UserPage.cs b/HDL_ON/UI/UI2/UserPage.cs index 51a7e42..4397173 100644 --- a/HDL_ON/UI/UI2/UserPage.cs +++ b/HDL_ON/UI/UI2/UserPage.cs @@ -86,14 +86,6 @@ #endregion #endregion - /// <summary> - /// 褰撳墠鍔ㄧ敾鏁堟灉 - /// 0:鏀惰棌 - /// 1:鍒嗙被 - /// 2:鏅鸿兘 - /// 3:涓汉 - /// </summary> - int CurAnimationEffect = 0; public void LoadPage() { @@ -307,9 +299,9 @@ /// <summary> /// 鍒囨崲鍒版敹钘忕晫闈� /// </summary> - void ChooseCollection(bool qiangzhishuaxin = false) + void ChooseCollection() { - if (CurAnimationEffect == 0 || qiangzhishuaxin) + if (MainPage.CurPageIndex == 0) { return; } @@ -337,10 +329,10 @@ distance /= total; new System.Threading.Thread(() => { int index = 0; - CurAnimationEffect = 0; + MainPage.CurPageIndex = 0; while (index < total+1) { - if (CurAnimationEffect != 0) + if (MainPage.CurPageIndex != 0) { break; } @@ -391,7 +383,7 @@ /// </summary> void ChooseClassification() { - if (CurAnimationEffect == 1) + if (MainPage.CurPageIndex == 1) { return; } @@ -413,15 +405,15 @@ distance /= total; new System.Threading.Thread(() => { - if (CurAnimationEffect == 1) + if (MainPage.CurPageIndex == 1) { return; } - CurAnimationEffect = 1; + MainPage.CurPageIndex = 1; int index = 0; while (index < total+1) { - if (CurAnimationEffect != 1) + if (MainPage.CurPageIndex != 1) { break; } @@ -482,7 +474,7 @@ /// </summary> void ChooseIntellectualization() { - if (CurAnimationEffect == 2) + if (MainPage.CurPageIndex == 2) { return; } @@ -503,15 +495,15 @@ } distance /= total; new System.Threading.Thread(() => { - if (CurAnimationEffect == 2) + if (MainPage.CurPageIndex == 2) { return; } - CurAnimationEffect = 2; + MainPage.CurPageIndex = 2; int index = 0; while (index < total+1) { - if(CurAnimationEffect!=2) + if(MainPage.CurPageIndex!=2) { break; } @@ -579,7 +571,7 @@ return; } #endif - if (CurAnimationEffect == 3) + if (MainPage.CurPageIndex == 3) { return; } @@ -605,11 +597,11 @@ } distance /= total; new System.Threading.Thread(() => { - CurAnimationEffect = 3; + MainPage.CurPageIndex = 3; int index = 0; while (index < total+1) { - if (CurAnimationEffect != 3) + if (MainPage.CurPageIndex != 3) { break; } diff --git a/HdlBluWi/.DS_Store b/HdlBluWi/.DS_Store index 39659c2..8752578 100644 --- a/HdlBluWi/.DS_Store +++ b/HdlBluWi/.DS_Store Binary files differ diff --git a/ys/Jars/app-release.aar b/ys/Jars/app-release.aar index 3479f41..f612de8 100644 --- a/ys/Jars/app-release.aar +++ b/ys/Jars/app-release.aar Binary files differ -- Gitblit v1.8.0