2020-07-03 1.修复修改红外TV模块修改备注出错问题。 2.如果搜索红外模块备注为空默认显示TV+回路号备注。 3.上传红外码指令,直接回路备注数据。4.网关配频模式时,开启自动搜索设备线程,定时3秒发送一次E548命令。
2个文件已删除
9个文件已修改
167 ■■■■ 已修改文件
Crabtree/.vs/SmartHome/xs/UserPrefs.xml 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/.vs/SmartHome/xs/sqlite3/storage.ide 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/.vs/SmartHome/xs/sqlite3/storage.ide-shm 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/.vs/SmartHome/xs/sqlite3/storage.ide-wal 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/ON/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/MainPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/Phone/TV/ConfigIRCode.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/SmartHome/UI/SimpleControl/Phone/TV/UserTVAddCustomChannel.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Crabtree/.vs/SmartHome/xs/UserPrefs.xml
@@ -1,42 +1,23 @@
<Properties StartupConfiguration="{9D9EF20B-6E65-4A65-92BF-567EBF1E1443}|Default">
  <MonoDevelop.Ide.ItemProperties.ON.Droid PreferredExecutionTarget="Android.Android_Accelerated_Oreo" />
  <MonoDevelop.Ide.Workbench ActiveDocument="SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs">
  <MonoDevelop.Ide.ItemProperties.ON.Droid PreferredExecutionTarget="Android.4b65c46595" />
  <MonoDevelop.Ide.Workbench>
    <Files>
      <File FileName="SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs" Line="478" Column="23" />
      <File FileName="SmartHome/HDL/Operation/ResponseEntity/ErrorCode.cs" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/Light/UserDeviceToSocket.cs" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/Register/Databackup.cs" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs" />
      <File FileName="ON/Application.cs" />
      <File FileName="SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs" />
      <File FileName="SmartHome/UI/SimpleControl/MainPage.cs" />
      <File FileName="ON/Properties/AndroidManifest.xml" />
      <File FileName="SmartHome/UI/SimpleControl/MainPage.cs" Line="41" Column="55" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="SmartHome" expanded="True">
            <Node name="ON.Droid" expanded="True" selected="True">
              <Node name="Properties" expanded="True" />
            </Node>
            <Node name="ON.Ios" expanded="True" />
            <Node name="ON.Droid" selected="True" />
            <Node name="Shared" expanded="True">
              <Node name="HDL" expanded="True">
                <Node name="Operation" expanded="True">
                  <Node name="ResponseEntity" expanded="True" />
                </Node>
                <Node name="Operation" expanded="True" />
              </Node>
              <Node name="UI" expanded="True">
                <Node name="SimpleControl" expanded="True">
                  <Node name="Phone" expanded="True">
                    <Node name="AC" expanded="True" />
                    <Node name="Alexa" expanded="True" />
                    <Node name="Fan" expanded="True" />
                    <Node name="FoolHeat" expanded="True" />
                    <Node name="Light" expanded="True" />
                    <Node name="Register" expanded="True" />
                    <Node name="Room" expanded="True" />
                    <Node name="User" expanded="True" />
                    <Node name="TV" expanded="True" />
                  </Node>
                </Node>
              </Node>
Crabtree/.vs/SmartHome/xs/sqlite3/storage.ide
Binary files differ
Crabtree/.vs/SmartHome/xs/sqlite3/storage.ide-shm
Binary files differ
Crabtree/.vs/SmartHome/xs/sqlite3/storage.ide-wal
Binary files differ
Crabtree/ON/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.crabtreenew" android:versionName="2.507011" android:versionCode="202007011">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.crabtreenew" android:versionName="2.507031" android:versionCode="202007031">
    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="28" />
    <!-- 在安卓P版本之后,必须要授予FOREGROUND_SERVICE权限,才能够使用前台服务 -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs
@@ -1276,6 +1276,11 @@
                        //} else if (deviceType1.ToString ().Contains ("Switch")) {
                        //    devcieLoopName = "Relay SW" + usefullBytes [2].ToString ();
                        //}
                        //2020-07-03 如果是红外模块类型,备注为空的话,默认为TV名字
                        if (deviceType1 == DeviceType.InfraredMode) {
                            devcieLoopName = "TV " + usefullBytes [2].ToString ();
                        }
                        byte [] ddd = CommonPage.MyEncodingGB2312.GetBytes (devcieLoopName);
                        byte [] newddd = new byte [20];
                        Array.Copy (ddd, 0, newddd, 0, 20 < ddd.Length ? 20 : ddd.Length);
Crabtree/SmartHome/UI/SimpleControl/MainPage.cs
@@ -38,7 +38,7 @@
        //public static Button LogoButton = new Button ();
  
        public static string RequestVersion = "2.507011";
        public static string RequestVersion = "2.507031";
        public static UserInfo LoginUser;
        /// <summary>
        /// 是否是管理员权限(变更了,成员的时候,这个也为ture。为什么会声明这样变量,因为有些接口必须使用原来的Token)
Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs
@@ -36,6 +36,8 @@
                    myLoading.Hide ();
                    btnCloseLoading.RemoveFromParent ();
                    WirelessConfig (new byte [] { 1 });//close
                    //2020-07-02 关闭自动搜索线程
                    StopSearchDeviceThead ();
                    if (needRefresh) {
                        needRefresh = false;
                        SearchDeviceList ();
@@ -50,6 +52,7 @@
            curView = null;
            addedCommon.Clear ();
            BackgroundColor = SkinStyle.Current.MainColor;
            //StopSearchDeviceThead ();
            base.RemoveFromParent ();
        }
@@ -251,6 +254,9 @@
                            //myLoading.Start ("Waiting for new device, Please touch the here to exit the waiting mode.");
                            
                            this.AddChidren (btnCloseLoading);
                            //2020-07-02 网关配频模式时,开启自动搜索线程
                            StartSearchDeviceThead ();
                        }
                    });
                });
@@ -1096,6 +1102,88 @@
        }
        #region 2020-07-02
        /// <summary>
        /// 定时搜索设备线程
        /// </summary>
        Thread searchDeviceThead;
        bool bStartSearch;
        /// <summary>
        /// 2020-07-02
        /// 网关配频模式时,开启自动搜索线程
        /// </summary>
        void StartSearchDeviceThead ()
        {
            StopSearchDeviceThead ();
            CommonPage.LocalPhoneFindDevice = true;
            CommonPage.FindGatewayChilren = true;
            CommonPage.RandomHigh = (byte)new Random ().Next (255);
            CommonPage.RandomLow = (byte)new Random ().Next (255);
            bStartSearch = true;
            searchDeviceThead = new Thread ((obj) => {
                while (bStartSearch) {
                    try {
                        //定时4S
                        Thread.Sleep (4000);
                        var ms = new System.IO.MemoryStream ();
                        ms.WriteByte (CommonPage.RandomHigh);
                        ms.WriteByte (CommonPage.RandomLow);
                        var list = CommonPage.DeviceList;
                        int tempCount = list.Count;
                        string s = ";";
                        for (int i = 0; i < list.Count; i++) {
                            Common common = list [i];
                            if (common.SubnetID != gatewayDeicve.SubnetID)
                                continue;
                            if (s.Contains (";" + common.SubnetID.ToString () + ":" + common.DeviceID.ToString ()))
                                continue;
                            s += common.SubnetID.ToString () + ":" + common.DeviceID.ToString () + ";";
                            ms.WriteByte (common.SubnetID);
                            ms.WriteByte (common.DeviceID);
                        }
                        Utlis.WriteLine ("SearchDeviceThead搜索非网关设备,网络地址是:" + CommonPage.EndPoint.ToString ());
                        var control = new Control ();
                        control.Send (new Target () {
                            IPEndPoint = CommonPage.EndPoint,
                            Command = Command.ReadDeviceModul,
                            SubnetID = gatewayDeicve.SubnetID,
                            DeviceID = 0xFF,
                            AddData = ms.ToArray ()
                        }, SendCount.Zero, false);
                        ms.Close ();
                    } catch {
                    }
                }
            });
            searchDeviceThead.Start ();
            Utlis.WriteLine ("----StartSearchDeviceThead----");
        }
        /// <summary>
        /// 暂停搜索设备线程
        /// </summary>
        void StopSearchDeviceThead ()
        {
            CommonPage.LocalPhoneFindDevice = false;
            CommonPage.FindGatewayChilren = false;
            bStartSearch = false;
            if (searchDeviceThead != null)
                searchDeviceThead.Abort ();
            Utlis.WriteLine ("----StopSearchDeviceThead----");
        }
        #endregion
        ///// <summary>
        ///// 查询当前住宅 网关列表
        ///// </summary>
Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs
@@ -530,7 +530,23 @@
                                        if (reBytes != null) {
                                            Application.RunOnMainThread (() => {
                                                btnEquipment.Text = commonDevice.Name = etDeviceName.Text.Trim ();
                                                if (commonDevice.Type == DeviceType.InfraredMode) {
                                                    //2020-07-03 修复红外电视修改后变红外模块问题
                                                    InfraredMode mTV = Newtonsoft.Json.JsonConvert.DeserializeObject<InfraredMode> (System.Text.Encoding.UTF8.GetString (commonBytes));
                                                    if (mTV == null) {
                                                IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                    } else {
                                                        mTV.Name = etDeviceName.Text.Trim ();
                                                        IO.FileUtils.SaveEquipmentMessage (mTV, mTV.LoopID.ToString ());
                                                    }
                                                } else {
                                                    IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                }
                                                //IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                MainPage.Loading.Hide ();
                                                dialog.Close ();
                                            });
Crabtree/SmartHome/UI/SimpleControl/Phone/TV/ConfigIRCode.cs
@@ -49,6 +49,12 @@
                    port = common.LoopID.ToString ();
                }
            }
            #region 2020-07-03 记录回路备注
            byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (common.Name);
            Array.Copy (remakeBytes, 0, updateInfraredBytes, 6, remakeBytes.Length < 20 ? remakeBytes.Length : 20);
            #endregion
            bodyView = new FrameLayout () {
                BackgroundColor = SkinStyle.Current.ViewColor
            };
Crabtree/SmartHome/UI/SimpleControl/Phone/TV/UserTVAddCustomChannel.cs
@@ -148,8 +148,8 @@
                Height = Application.GetRealHeight (90),
                TextColor = SkinStyle.Current.TextColor1,
                TextID = R.MyInternationalizationString.TakePhoto,
                UnSelectedImagePath = "TV/TV3_photo.png",
                SelectedImagePath = "TV/TV3_photo_on.png",
                //UnSelectedImagePath = "TV/TV3_photo.png",
                //SelectedImagePath = "TV/TV3_photo_on.png",
                X = pictureRightLine.Right,
            };
            middleView.AddChidren (btnTakePictrue);
@@ -170,14 +170,15 @@
                Height = btnTakePictrue.Height,
                TextID = R.MyInternationalizationString.SelectPicture,
                TextColor = SkinStyle.Current.TextColor1,
                UnSelectedImagePath = "TV/TV3_photo.png",
                SelectedImagePath = "TV/TV3_photo_on.png",
                //UnSelectedImagePath = "TV/TV3_photo.png",
                //SelectedImagePath = "TV/TV3_photo_on.png",
            };
            middleView.AddChidren (btnSelectPictrue);
            var pid = Guid.NewGuid ();
            btnTakePictrue.MouseUpEventHandler += (sender, e) => {
                btnTakePictrue.IsSelected = true;
                btnSelectPictrue.IsSelected = false;
                //btnTakePictrue.IsSelected = true;
                //btnSelectPictrue.IsSelected = false;
                pid = Guid.NewGuid ();
                Camera.TakePicture ((obj) => {
                    if (obj != null) {
@@ -187,8 +188,8 @@
            };
            btnSelectPictrue.MouseUpEventHandler += (sender, e) => {
                btnTakePictrue.IsSelected = false ;
                btnSelectPictrue.IsSelected = true;
                //btnTakePictrue.IsSelected = false ;
                //btnSelectPictrue.IsSelected = true;
                pid = Guid.NewGuid ();
                Camera.SelectPicture ((obj) => {
                    if (obj != null) {