HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-03-06 a5b3c4bae726ef6770d4bfcbf2f4b50a37ed4a15
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
@@ -155,12 +155,15 @@
            this.frameSceneTable.RemoveAll();
            var listScene = new List<Common.SceneUI>();
            for (int i = 0; i < lookRoom.SceneUIList.Count; i++)
            for (int i = 0; i < lookRoom.ListSceneId.Count; i++)
            {
                if (HdlShardLogic.Current.IsFileExists(lookRoom.SceneUIList[i].FileName) == true)
                var byteData = HdlShardLogic.Current.GetShardFileContent($"Scene_{lookRoom.ListSceneId[i]}.json");
                if (byteData == null)
                {
                    listScene.Add(lookRoom.SceneUIList[i]);
                    continue;
                }
                var sceneUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.SceneUI>(System.Text.Encoding.UTF8.GetString(byteData));
                listScene.Add(sceneUi);
            }
            if (listScene.Count == 0)
            {
@@ -171,38 +174,17 @@
            HdlThreadLogic.Current.RunMainInThread(() =>
            {
                var listView = new VerticalFrameControl(29);
                var listView = new VerticalFrameControl(3);
                listView.Y = Application.GetRealHeight(53);
                listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(187);
                frameSceneTable.AddChidren(listView);
                foreach (var data in listScene)
                {
                    //场景图片
                    var frameContr = new FrameLayoutControl();
                    frameContr.UseClickStatu = false;
                    frameContr.Height = Application.GetRealHeight(470);
                    //场景控件
                    var frameContr = new ScenePictrueControl();
                    listView.AddChidrenFrame(frameContr);
                    //场景图片
                    var btnPic = new ImageView();
                    btnPic.X = Application.GetRealWidth(179);
                    btnPic.Width = Application.GetRealWidth(844);
                    btnPic.Height = Application.GetRealHeight(420);
                    btnPic.ImagePath = data.IconPath;
                    btnPic.Radius = 8;
                    frameContr.AddChidren(btnPic);
                    var btnName = new NormalViewControl(251, 282, true);
                    btnName.X = ControlCommonResourse.XXLeft;
                    btnName.Y = Application.GetRealHeight(58);
                    btnName.BackgroundColor = 0xff333333;
                    btnName.Radius = 8;
                    btnName.Text = data.Name;
                    btnName.TextSize = 15;
                    btnName.TextColor = UserCenterColor.Current.White;
                    btnName.TextAlignment = TextAlignment.Center;
                    frameContr.AddChidren(btnName);
                    frameContr.InitControl(data);
                    var btnSelect = new IconViewControl(58);
                    btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
@@ -270,7 +252,7 @@
                    frameBack.BackgroundColor = UserCenterColor.Current.White;
                    frameBack.Width = bodyFrameLayout.Width;
                    frameBack.Height = Application.GetRealHeight(1650);
                    frameBack.Radius = 20;
                    frameBack.Radius = (uint)Application.GetRealHeight(58);
                    frameDeviceTable.AddChidren(frameBack);
                    var listView = new VerticalListControl(23);
@@ -388,44 +370,10 @@
            var dic = new Dictionary<int, List<CommonDevice>>();
            foreach (var device in listDevice)
            {
                var typeInfo = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device });
                if (device.Type == DeviceType.IASZone)
                var typeInfo = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device);
                if (dic.ContainsKey(typeInfo.BeloneTextId) == false)
                {
                    //这个强制为传感器
                    typeInfo.BeloneTextId = R.MyInternationalizationString.uDeviceBelongId1200;
                    typeInfo.ConcreteType = Common.DeviceConcreteType.Sensor;
                }
                if (device.Type == DeviceType.OnOffOutput)
                {
                    //继电器的时候,需要特殊处理
                    if (device.DfunctionType == DeviceFunctionType.A开关)
                    {
                        typeInfo.BeloneTextId = R.MyInternationalizationString.uSwitch;
                    }
                    else if (device.DfunctionType == DeviceFunctionType.A插座)
                    {
                        typeInfo.BeloneTextId = R.MyInternationalizationString.uSocket1;
                    }
                    else if (device.DfunctionType == DeviceFunctionType.A灯光)
                    {
                        typeInfo.BeloneTextId = R.MyInternationalizationString.uLight;
                    }
                    else
                    {
                        //继电器
                        typeInfo.BeloneTextId = R.MyInternationalizationString.uDeviceBelongId2300;
                    }
                    if (dic.ContainsKey(typeInfo.BeloneTextId) == false)
                    {
                        dic[typeInfo.BeloneTextId] = new List<CommonDevice>();
                    }
                }
                else
                {
                    if (dic.ContainsKey(typeInfo.BeloneTextId) == false)
                    {
                        dic[typeInfo.BeloneTextId] = new List<CommonDevice>();
                    }
                    dic[typeInfo.BeloneTextId] = new List<CommonDevice>();
                }
                dic[typeInfo.BeloneTextId].Add(device);
            }
@@ -485,8 +433,9 @@
        {
            //获取这个房间里面的分享设备
            var listDevice = new List<CommonDevice>();
            foreach (var deviceFile in this.lookRoom.DeviceUIFilePathList)
            foreach (var deviceKeys in this.lookRoom.ListDevice)
            {
                string deviceFile = HdlShardLogic.Current.GetShardDeviceFileName(deviceKeys);
                if (memberShardInfo.dicAllShardKeys.ContainsKey(deviceFile) == true)
                {
                    var strArry = deviceFile.Split('_');