1
wei
2021-03-09 5b268c9e665c7cd839fe1409efef09694660370b
1
3个文件已添加
20个文件已修改
13648 ■■■■ 已修改文件
.vs/HDL_APP_Project/xs/UserPrefs.xml 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/AC/More.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/Resource.designer.cs 13263 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/BlueWifi.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/More.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/Function.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,27 +1,71 @@
<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.94B44E9C-E1BC-4BF7-812E-FC71E9B623B2" />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI1-Login/LoginPage.cs">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008020-000404163432002E" />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/Common/R.cs">
    <Files>
      <File FileName="HDL_ON/UI/UI1-Login/LoginPage.cs" Line="199" Column="17" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs" />
      <File FileName="HDL_ON/Common/ApiUtlis.cs" />
      <File FileName="HDL_ON/Entity/Room.cs" />
      <File FileName="HDL_ON/Entity/FunctionList.cs" />
      <File FileName="HDL-ON_iOS/BlueWifi.cs" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs" Line="60" Column="54" />
      <File FileName="HDL_ON/Common/R.cs" Line="7" Column="20" />
      <File FileName="HDL_ON/UI/UI0-Public/Widget/EmptyTipView.cs" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs" Line="123" Column="77" />
      <File FileName="HDL_ON/UI/MainPage.cs" />
      <File FileName="HDL-ON_iOS/Info.plist" />
      <File FileName="HDL_ON/UI/UI1-Login/LoginPage.cs" Line="180" Column="51" />
      <File FileName="HDL_ON/Common/ApiUtlis.cs" Line="214" Column="62" />
      <File FileName="HDL_ON/Entity/FunctionList.cs" Line="42" Column="40" />
      <File FileName="HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs" Line="245" Column="35" />
      <File FileName="HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs" Line="328" Column="86" />
      <File FileName="HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs" Line="138" Column="55" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs" Line="487" Column="1" />
      <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" Line="464" Column="1" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs" Line="45" Column="59" />
      <File FileName="HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomTimeSelectControl.cs" Line="72" Column="96" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="HDL_APP_Project" expanded="True">
            <Node name="HDL_ON" expanded="True">
              <Node name="Common" expanded="True">
                <Node name="R.cs" selected="True" />
              </Node>
              <Node name="DAL" expanded="True">
                <Node name="DriverLayer" expanded="True" />
              </Node>
              <Node name="UI" expanded="True">
                <Node name="UI1-Login" expanded="True">
                  <Node name="LoginPage.cs" selected="True" />
                <Node name="UI0-Stan" expanded="True">
                  <Node name="Controls" expanded="True">
                    <Node name="BottomControls" expanded="True" />
                  </Node>
                </Node>
                <Node name="UI2" expanded="True">
                  <Node name="FuntionControlView" expanded="True">
                    <Node name="Electrical" expanded="True" />
                  </Node>
                </Node>
              </Node>
            </Node>
            <Node name="HDL-ON_iOS" expanded="True" />
            <Node name="HDL-ON_Android" expanded="True">
              <Node name="Assets" expanded="True">
                <Node name="Phone" expanded="True">
                  <Node name="FunctionIcon" expanded="True">
                    <Node name="AC" expanded="True" />
                  </Node>
                </Node>
              </Node>
              <Node name="Properties" expanded="True" />
              <Node name="Resources" expanded="True" />
            </Node>
            <Node name="HDL-ON_iOS" expanded="True">
              <Node name="Resources" expanded="True">
                <Node name="Phone" expanded="True">
                  <Node name="FunctionIcon" expanded="True">
                    <Node name="AC" expanded="True" />
                  </Node>
                </Node>
              </Node>
            </Node>
          </Node>
        </State>
      </Pad>
@@ -33,12 +77,10 @@
    <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String>
    <String>Shared.IOS/Shared.IOS.csproj</String>
  </DisabledProjects>
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Release" />
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.SelectDevice" />
  <MonoDevelop.Ide.DebuggingService.Breakpoints>
    <BreakpointStore>
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/DAL/DriverLayer/Control.cs" relfile="HDL_ON/DAL/DriverLayer/Control.cs" line="458" column="1" />
    </BreakpointStore>
    <BreakpointStore />
  </MonoDevelop.Ide.DebuggingService.Breakpoints>
  <MultiItemStartupConfigurations />
</Properties>
HDL-ON_Android/Assets/Phone/FunctionIcon/AC/More.png
HDL-ON_Android/HDL-ON_Android.csproj
@@ -830,6 +830,7 @@
    <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\FunctionIcon\AC\More.png" />
  </ItemGroup>
  <ItemGroup>
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libelianjni.so" />
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="202103081" android:versionName="1.1.202103081" package="com.hdl.onpro">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26" />
    <!--  定位权限-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
HDL-ON_Android/Resources/Resource.designer.cs
Diff too large
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>
        /// 设备搜索到蓝牙设备之后到代理事件
        /// </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 
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1057,16 +1057,11 @@
      <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\FunctionIcon\AC\More.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" />
@@ -1102,6 +1097,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>
HDL-ON_iOS/Info.plist
@@ -102,9 +102,9 @@
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>CFBundleShortVersionString</key>
    <string>1.1.202103051</string>
    <string>1.1.202103081</string>
    <key>CFBundleVersion</key>
    <string>202103051</string>
    <string>202103081</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Use geographic location to provide services such as weather</string>
    <key>NSAppleMusicUsageDescription</key>
HDL-ON_iOS/Resources/Language.ini
@@ -411,9 +411,11 @@
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
1002=Anion 
    
@@ -1093,6 +1095,9 @@
428=负离子时间
429=小时
430=分钟
431=你当前还为添加任何平台设备
432=其他平台设备均由第三方服务商提供支持
433=水阀
1000=室内湿度
@@ -1213,6 +1218,63 @@
6014=添加遥控器
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=编辑自动化
HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/More.png
HDL_ON/Common/R.cs
@@ -4,6 +4,9 @@
{
    public static class StringId
    {
        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;
HDL_ON/DAL/Server/NewAPI.cs
@@ -525,8 +525,6 @@
        #endregion
        #endregion
        #endregion
    }
    ///// <summary>
HDL_ON/Entity/Function/Function.cs
@@ -1100,8 +1100,12 @@
        /// 家电
        /// </summary>
        public const string Electric = "electrical";
        /// <summary>
        /// 红外设备
        /// </summary>
        public const string IR = "ir";
        //Music = 0x09,
    }
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>
HDL_ON/HDL_ON.projitems
@@ -359,6 +359,7 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\AcControlPage.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" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)UI\" />
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.1.0305";
        public static string VersionString = "1.1.0308";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
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;
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -189,6 +189,15 @@
                                    break;
                            }
                            break;
                        case FunctionCategory.IR:
                            switch(function.spk)
                            {
                                case SPK.AcIr:
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png";
                                    LoadLastStatesButton();
                                    break;
                            }
                            break;
                        case FunctionCategory.FloorHeat:
                            switch (function.spk)
                            {
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
New file
@@ -0,0 +1,89 @@
using System;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
    public class BrandListPage : FrameLayout
    {
        FrameLayout bodyView;
        FrameLayout contentView;
        public BrandListPage()
        {
            bodyView = this;
        }
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.FunctionBrand)).LoadTopView();
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            contentView = new FrameLayout()
            {
                Height = Application.GetRealHeight(603),
            };
            AddChidren(contentView);
        }
        void NotListTipView()
        {
            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,
            };
            contentView.AddChidren(btnAdd);
        }
    }
}
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();
                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;
HDL_ON/UI/UI2/FuntionControlView/AC/AcControlPage.cs
@@ -206,6 +206,8 @@
            LoadEvent_TempChange();
            LoadEvent_AcStatesChange();
            LoadDiv_IrView();
        }
        /// <summary>
@@ -445,6 +447,48 @@
            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();
            };
            dialog.Show();
        }
        #endregion
        #region ■ 设备状态反馈_______________________
HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs
@@ -492,10 +492,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)
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs
@@ -42,7 +42,7 @@
        /// </summary>
        public override void InitFrameWhiteContent()
        {
            base.SetTitleText(Language.StringByID(StringId.AirCleaner));
            base.SetTitleText(Language.StringByID(StringId.WaterValve));
            //初始化第一个索引页的内容
            this.InitFrameWhiteContent1();
@@ -252,7 +252,8 @@
        private void SetControlTime()
        {
            var timeControl = new BottomTimeSelectControl();
            timeControl.InitControl(0,0);
            timeControl.RowCount = 3;
            timeControl.InitControl(0,0,162);
            timeControl.FinishEvent = (type,hours,min) => {
                if (type == 1)//0:取消;1:确定
                {