| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.UI2.Intelligence.Automation.LogicView; |
| | | using Shared; |
| | |
| | | { |
| | | public class PirMain : FrameLayout |
| | | { |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | public PirMain() |
| | | { |
| | | /// 标记界面 |
| | | Tag = "PirMain"; |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 回调 |
| | | /// </summary> |
| | | public static Action BackAction; |
| | | /// <summary> |
| | | /// 添加图标Btn |
| | | /// </summary> |
| | | Button addDevice; |
| | | /// <summary> |
| | | /// 临时储存设备类型列表 |
| | | /// </summary> |
| | |
| | | this.BackgroundColor = CSS.CSS_Color.viewMiddle; |
| | | PirDevice.View.TopView topView = new View.TopView(); |
| | | topView.topNameBtn.TextID = StringId.hongwaiyaokong; |
| | | topView.topIconBtn.Visible = true; |
| | | this.AddChidren(topView.FLayoutView()); |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); }; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | RemoveFromParent(); |
| | | }; |
| | | |
| | | FrameLayout middFLayout = new FrameLayout(); |
| | | middFLayout.Y = Application.GetRealHeight(64); |
| | | middFLayout.Height = Application.GetRealHeight(667 - 64); |
| | | this.AddChidren(middFLayout); |
| | | |
| | | FrameLayout pirDeviceFLayout = new FrameLayout(); |
| | | pirDeviceFLayout.Y = Application.GetRealHeight(12); |
| | | pirDeviceFLayout.X = Application.GetRealWidth(16); |
| | | pirDeviceFLayout.Width = Application.GetRealWidth(343); |
| | | pirDeviceFLayout.Height = Application.GetRealHeight(187); |
| | | pirDeviceFLayout.BackgroundColor = CSS.CSS_Color.view; |
| | | pirDeviceFLayout.Radius = (uint)Application.GetRealHeight(12); |
| | | middFLayout.AddChidren(pirDeviceFLayout); |
| | | VerticalRefreshLayout vv = new VerticalRefreshLayout(); |
| | | middFLayout.AddChidren(vv); |
| | | //加号图标 |
| | | addDevice = new Button |
| | | { |
| | | Y = Application.GetRealHeight(480), |
| | | X = Application.GetRealWidth(293), |
| | | Width = Application.GetRealWidth(82), |
| | | Height = Application.GetRealWidth(84), |
| | | UnSelectedImagePath = "PirIcon/add.png", |
| | | Visible=false, |
| | | |
| | | //设备管理 |
| | | Button text1Btn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(11), |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(20), |
| | | TextSize = TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textConfirmColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextID = StringId.shebeigaunli, |
| | | IsBold = true, |
| | | }; |
| | | pirDeviceFLayout.AddChidren(text1Btn); |
| | | middFLayout.AddChidren(addDevice); |
| | | |
| | | #endregion |
| | | |
| | | |
| | | Button pirIcon = new Button |
| | | { |
| | | Y = Application.GetRealHeight(47), |
| | | X = Application.GetRealWidth(28), |
| | | Width = Application.GetRealWidth(66), |
| | | Height = Application.GetRealWidth(66), |
| | | UnSelectedImagePath = "PirIcon/Infraredtreasure.png", |
| | | }; |
| | | pirDeviceFLayout.AddChidren(pirIcon); |
| | | |
| | | //mini智能遥控器 |
| | | Button text2Btn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(70), |
| | | X = Application.GetRealWidth(112), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(20), |
| | | TextSize = TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textTipColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "mini智能遥控器", |
| | | }; |
| | | pirDeviceFLayout.AddChidren(text2Btn); |
| | | |
| | | // |
| | | Button numberDeviceBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(137), |
| | | X = Application.GetRealWidth(32), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(20), |
| | | TextSize = TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "1" + Language.StringByID(StringId.ge), |
| | | IsBold = true, |
| | | }; |
| | | pirDeviceFLayout.AddChidren(numberDeviceBtn); |
| | | //当前红外遥控设备 |
| | | Button numberDeviceTextBtn = new Button |
| | | { |
| | | Y = numberDeviceBtn.Bottom + Application.GetRealHeight(4), |
| | | X = Application.GetRealWidth(32), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(14), |
| | | TextSize = TextSize.text10, |
| | | TextColor = CSS.CSS_Color.textCancelColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextID = StringId.dangqianhongwaishebei, |
| | | }; |
| | | pirDeviceFLayout.AddChidren(numberDeviceTextBtn); |
| | | // |
| | | Button currDeviceNumberControlBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(137), |
| | | X = Application.GetRealWidth(198), |
| | | Width = Application.GetRealWidth(80), |
| | | Height = Application.GetRealHeight(20), |
| | | TextSize = TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "1" + Language.StringByID(StringId.ge), |
| | | IsBold = true, |
| | | }; |
| | | pirDeviceFLayout.AddChidren(currDeviceNumberControlBtn); |
| | | //已添加遥控器 |
| | | Button currDeviceNumberControlTextBtn = new Button |
| | | { |
| | | Y = currDeviceNumberControlBtn.Bottom + Application.GetRealHeight(4), |
| | | X = Application.GetRealWidth(198), |
| | | Width = Application.GetRealWidth(80), |
| | | Height = Application.GetRealHeight(14), |
| | | TextSize = TextSize.text10, |
| | | TextColor = CSS.CSS_Color.textCancelColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextID = StringId.yitianjiayaokongqi, |
| | | }; |
| | | pirDeviceFLayout.AddChidren(currDeviceNumberControlTextBtn); |
| | | ///红外宝点击事件 |
| | | FrameLayout clickFLayout = new FrameLayout(); |
| | | pirDeviceFLayout.AddChidren(clickFLayout); |
| | | |
| | | |
| | | FrameLayout deviceListFLayout = new FrameLayout(); |
| | | deviceListFLayout.Y = pirDeviceFLayout.Bottom + Application.GetRealHeight(12); |
| | | deviceListFLayout.X = Application.GetRealWidth(16); |
| | | deviceListFLayout.Width = Application.GetRealWidth(343); |
| | | deviceListFLayout.Height = Application.GetRealHeight(328); |
| | | deviceListFLayout.BackgroundColor = CSS.CSS_Color.view; |
| | | deviceListFLayout.Radius = (uint)Application.GetRealHeight(12); |
| | | middFLayout.AddChidren(deviceListFLayout); |
| | | ///添加遥控器 |
| | | Button text3Btn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(11), |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(20), |
| | | TextSize = TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textConfirmColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextID = StringId.tianjiayaokongqi, |
| | | IsBold = true, |
| | | }; |
| | | deviceListFLayout.AddChidren(text3Btn); |
| | | ///红外宝名称 |
| | | Button deviceNameBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(13), |
| | | X = Application.GetRealWidth(161), |
| | | Width = Application.GetRealWidth(150), |
| | | Height = Application.GetRealHeight(17), |
| | | TextSize = TextSize.text12, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | Text = "mini智能遥控器", |
| | | }; |
| | | deviceListFLayout.AddChidren(deviceNameBtn); |
| | | if (Pir.pirDeviceList.Count != 0) |
| | | { |
| | | deviceNameBtn.Text = Pir.pirDeviceList[0].name; |
| | | Pir.currPir = Pir.pirDeviceList[0]; |
| | | } |
| | | |
| | | //下拉图标 |
| | | var dropdownIconBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(13), |
| | | X = Application.GetRealWidth(343 - 8 - 16), |
| | | Width = Application.GetRealWidth(16), |
| | | Height = Application.GetRealWidth(16), |
| | | UnSelectedImagePath = "PirIcon/dropdown.png", |
| | | }; |
| | | deviceListFLayout.AddChidren(dropdownIconBtn); |
| | | |
| | | deviceNameBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | #region 区域弹框界面 |
| | | FrameLayout fLayout = new FrameLayout |
| | | #region 界面点击事件 |
| | | ///下拉刷新界面事件 |
| | | vv.BeginHeaderRefreshingAction += () => |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | this.AddChidren(fLayout); |
| | | fLayout.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | ////关闭刷新View; |
| | | vv.EndHeaderRefreshing(); |
| | | |
| | | FrameLayout iconFLyout = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(205), |
| | | Y = Application.GetRealHeight(314), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(21 + 44), |
| | | //BackgroundImagePath = "LogicIcon/bjicon.png", |
| | | }; |
| | | fLayout.AddChidren(iconFLyout); |
| | | |
| | | FrameLayout textFLyout = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(8), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(144), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | VerticalScrolViewLayout vv = new VerticalScrolViewLayout |
| | | { |
| | | X = Application.GetRealWidth(8), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(144), |
| | | Height = Application.GetRealHeight(44 * 4), |
| | | }; |
| | | |
| | | if (Pir.pirDeviceList.Count > 4) |
| | | { |
| | | iconFLyout.Height = Application.GetRealHeight(21 + 44 * 4); |
| | | iconFLyout.AddChidren(vv); |
| | | iconFLyout.BackgroundImagePath = "PirIcon/4.png"; |
| | | } |
| | | else |
| | | { |
| | | |
| | | iconFLyout.AddChidren(textFLyout); |
| | | iconFLyout.Height = Application.GetRealHeight(21 + 44 * Pir.pirDeviceList.Count); |
| | | textFLyout.Height = Application.GetRealHeight(44 * Pir.pirDeviceList.Count); |
| | | iconFLyout.BackgroundImagePath = $"PirIcon/{Pir.pirDeviceList.Count}.png"; |
| | | } |
| | | #endregion |
| | | |
| | | for (int i = 0; i < Pir.pirDeviceList.Count; i++) |
| | | { |
| | | var pirJson = Pir.pirDeviceList[i]; |
| | | View.PirNameView pirNameView = new View.PirNameView(); |
| | | if (Pir.pirDeviceList.Count > 4) |
| | | PirMethod.GetControlList(this, () => |
| | | { |
| | | vv.AddChidren(pirNameView.FLayoutView()); |
| | | } |
| | | else |
| | | { |
| | | pirNameView.frameLayout.Y = Application.GetRealHeight(i * 44); |
| | | textFLyout.AddChidren(pirNameView.FLayoutView()); |
| | | } |
| | | pirNameView.btnName.Text = pirJson.name; |
| | | pirNameView.btnClick.Tag = pirJson; |
| | | pirNameView.btnClick.MouseUpEventHandler += (sender2, e2) => |
| | | { |
| | | fLayout.RemoveFromParent(); |
| | | deviceNameBtn.Text = pirJson.name; |
| | | Pir.currPir = pirJson; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //刷新界面 |
| | | UIView(vv); |
| | | }); |
| | | }, Pir.currPir); |
| | | |
| | | }; |
| | | if (Pir.pirDeviceList.Count - 1 == i) |
| | | { |
| | | ///改变最后那条一个线的颜色,界面显示效果作用; |
| | | pirNameView.btnLine.BackgroundColor = CSS.CSS_Color.view; |
| | | } |
| | | } |
| | | |
| | | }; |
| | | |
| | | clickFLayout.MouseUpEventHandler += (sender, e) => |
| | | }; |
| | | ///设置图标点击事件 |
| | | topView.clickSetBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | DeviceSet deviceSet = new DeviceSet(); |
| | | MainPage.BasePageView.AddChidren(deviceSet); |
| | | deviceSet.Show(() => { |
| | | if (Pir.currPir != null) |
| | | { |
| | | deviceNameBtn.Text = Pir.currPir.name; |
| | | } |
| | | }); |
| | | SetPir setPir = new SetPir(); |
| | | MainPage.BasePageView.AddChidren(setPir); |
| | | setPir.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | #endregion |
| | | int line = 0; |
| | | for (int i = 1, j = 0; i <= 7; i++, j++) |
| | | ///添加遥控器图标点击事件 |
| | | addDevice.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var currpirdeviceFLayout = new FrameLayout |
| | | //进来不允许左滑 |
| | | MainPage.BasePageView.ScrollEnabled = false; |
| | | View.Buttons buttons = new View.Buttons(); |
| | | buttons.AddFrameLayout(this, (if_value, view) => |
| | | { |
| | | Width = Application.GetRealWidth(80), |
| | | Height = Application.GetRealWidth(80), |
| | | X = Application.GetRealWidth(26 + (80 + 25) * j), |
| | | Y = Application.GetRealHeight(52 + (80 + 12) * line), |
| | | |
| | | }; |
| | | deviceListFLayout.AddChidren(currpirdeviceFLayout); |
| | | var deviceIconBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(8), |
| | | X = Application.GetRealWidth(20), |
| | | Width = Application.GetRealWidth(40), |
| | | Height = Application.GetRealWidth(40), |
| | | UnSelectedImagePath = "PirIcon/Infraredtreasure.png", |
| | | }; |
| | | currpirdeviceFLayout.AddChidren(deviceIconBtn); |
| | | var iconNameBtn = new Button |
| | | { |
| | | Y = deviceIconBtn.Bottom + Application.GetRealHeight(8), |
| | | Width = Application.GetRealWidth(80), |
| | | Height = Application.GetRealHeight(17), |
| | | TextSize = TextSize.text12, |
| | | TextColor = CSS.CSS_Color.TextualColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | }; |
| | | currpirdeviceFLayout.AddChidren(iconNameBtn); |
| | | var clickBtn = new Button { Tag = i }; |
| | | currpirdeviceFLayout.AddChidren(clickBtn); |
| | | if (i % 3 == 0) |
| | | { |
| | | //满一行重置j=0值; |
| | | j = -1; |
| | | line += 1; |
| | | } |
| | | GetIconAndText(i, deviceIconBtn, iconNameBtn); |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | //关闭允许左滑 |
| | | MainPage.BasePageView.ScrollEnabled = true; |
| | | //1=空调;2=电视;3=风扇;4=机顶盒;5=DVD/EVD/VCD;6=投影仪;7=自定义; |
| | | int if_value = int.Parse(clickBtn.Tag.ToString()); |
| | | if (if_value == 7) |
| | | { |
| | | Method method = new Method(); |
| | | PirMethod method = new PirMethod(); |
| | | method.AddControl(this, (control) => |
| | | { |
| | | //成功后移除; |
| | | view.RemoveFromParent(); |
| | | AddButton addButton = new AddButton(); |
| | | MainPage.BasePageView.AddChidren(addButton); |
| | | addButton.Show(control); |
| | |
| | | } |
| | | else |
| | | { |
| | | var strings = GetTypeString(if_value).Split('-'); |
| | | var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]); |
| | | if (jobDeviceType == null) |
| | | if (if_value == 6) |
| | | { |
| | | new TipPopView().FlashingBox(Language.StringByID(StringId.zanshibuzhichigaigongneng)); |
| | | return; |
| | | } |
| | | GetBrandList(jobDeviceType.id, (brandList) => |
| | | if (DeviceTypeList.Count == 0) |
| | | { |
| | | var brandSupportStrList = GetBrandSupport(if_value); |
| | | var strList = new List<string>(); |
| | | for (int str = 0; str < brandList.Count; str++) |
| | | GetDeviceTypeList(true, () => |
| | | { |
| | | string s = brandList[str].brandName; |
| | | var bool_if = brandSupportStrList.Find((c) => s.Contains(c)); |
| | | if (bool_if != null) |
| | | { |
| | | strList.Add(s); |
| | | } |
| | | DeviceTypeViewClick(if_value); |
| | | //获取成功之后移除 |
| | | view.RemoveFromParent(); |
| | | |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | BrandList brandObj = new BrandList(); |
| | | MainPage.BasePageView.AddChidren(brandObj); |
| | | brandObj.Show(brandList, strList, strings[1]); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }); |
| | | |
| | | }); |
| | | |
| | | } |
| | | else |
| | | { |
| | | DeviceTypeViewClick(if_value); |
| | | view.RemoveFromParent(); |
| | | } |
| | | } |
| | | }, 7); |
| | | }; |
| | | #endregion |
| | | ///初始化界面 |
| | | UIView(vv); |
| | | } |
| | | /// <summary> |
| | | /// 加载UI界面 |
| | | /// </summary> |
| | | /// <param name="vv">上下滑控件</param> |
| | | private void UIView(VerticalRefreshLayout vv) |
| | | { |
| | | if (Pir.currPir.FunctioList.Count < 10) |
| | | { |
| | | //10个遥控器就会隐藏添加图标 |
| | | // middFLayout.AddChidren(addDevice); |
| | | addDevice.Visible = true; |
| | | } |
| | | vv.RemoveAll(); |
| | | #region 红外宝图标 版本号 名称 状态 |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(12 + 92 + (50 * Pir.currPir.FunctioList.Count)), |
| | | }; |
| | | vv.AddChidren(fLayout); |
| | | View.PirView pirView = new View.PirView(); |
| | | //红外宝名称 |
| | | pirView.deviceNameBtn.Text = Pir.currPir.name; |
| | | //红外宝当前有多少个遥控器 |
| | | pirView.geBtn.Text = Pir.currPir.FunctioList.Count.ToString(); |
| | | //红外宝是否在线-离线 |
| | | if (Pir.currPir.online) |
| | | { |
| | | pirView.stateIconBtn.IsSelected = true; |
| | | pirView.stateTextBtn.IsSelected = true; |
| | | pirView.stateTextBtn.TextID = StringId.zaixian; |
| | | } |
| | | else |
| | | { |
| | | pirView.stateIconBtn.IsSelected = false; |
| | | pirView.stateTextBtn.IsSelected = false; |
| | | pirView.stateTextBtn.TextID = StringId.lixian; |
| | | } |
| | | //标记红外宝 |
| | | pirView.clickBtn.Tag = Pir.currPir; |
| | | //加载界面 |
| | | pirView.Show(Pir.currPir.FunctioList.Count, fLayout); |
| | | //最后一个后面增加间隔背景 |
| | | vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(20) }); |
| | | #endregion |
| | | |
| | | for (int j = 0; j < Pir.currPir.FunctioList.Count; j++) |
| | | { |
| | | var control = Pir.currPir.FunctioList[j]; |
| | | View.ControlView controlView = new View.ControlView(); |
| | | controlView.Show(pirView.devfLayout, j); |
| | | //遥控器名称 |
| | | controlView.nameBtn.Text = control.name; |
| | | //遥控器存放区域 |
| | | controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(control); |
| | | //标记遥控器 |
| | | controlView.delBtn.Tag = control; |
| | | //删除点击事件 |
| | | controlView.delBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var Function = controlView.delBtn.Tag as Entity.Function; |
| | | string text = Language.StringByID(StringId.shanchushebei) + Function.name + "?"; |
| | | TipPopView tipPopView = new TipPopView(); |
| | | tipPopView.TipBox(StringId.tip, text, (dialog) => |
| | | { |
| | | PirMethod.ThreadSend(new Control { deviceId=control.deviceId}, (responsePackNew) => |
| | | { |
| | | dialog.Close(); |
| | | var function = Pir.currPir.FunctioList.Find((c) => c.sid == Function.sid); |
| | | if (function != null) |
| | | { |
| | | Pir.currPir.FunctioList.Remove(Function); |
| | | } |
| | | UIView(vv); |
| | | if (Pir.currPir.FunctioList.Count < 10) |
| | | { |
| | | //10个遥控器就会隐藏添加图标 |
| | | // middFLayout.AddChidren(addDevice); |
| | | addDevice.Visible = true; |
| | | } |
| | | }, "删除", "dialog", null, dialog); |
| | | |
| | | }, () => { }, false); |
| | | }; |
| | | //view点击事件 |
| | | controlView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | EditControl editControl = new EditControl(); |
| | | MainPage.BasePageView.AddChidren(editControl); |
| | | editControl.Show(control,(device) => |
| | | { |
| | | //回调更新名字/区域 |
| | | controlView.nameBtn.Text = device.name; |
| | | controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(device); |
| | | |
| | | }); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | if (j == Pir.currPir.FunctioList.Count - 1) |
| | | { |
| | | //最后改变一个线的颜色 |
| | | controlView.line1Btn.BackgroundColor = CSS.CSS_Color.viewTranslucence; |
| | | controlView.funControlRow.LineColor = CSS.CSS_Color.viewTranslucence; |
| | | } |
| | | |
| | | |
| | | } |
| | | GetDeviceTypeList(); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 获取品牌支持 |
| | | /// 设备进入下一级方法 |
| | | /// </summary> |
| | | /// <param name="index">索引值</param> |
| | | private List<string> GetBrandSupport(int index) |
| | | /// <param name="if_value">控件索引值</param> |
| | | private void DeviceTypeViewClick(int if_value) |
| | | { |
| | | List<string> strList = new List<string>(); |
| | | switch (index) |
| | | var strings = View.Buttons.GetTypeString(if_value).Split('-'); |
| | | var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]); |
| | | if (jobDeviceType == null) |
| | | { |
| | | case 1: |
| | | { |
| | | strList.Add("格力"); |
| | | strList.Add("美的"); |
| | | strList.Add("海尔"); |
| | | strList.Add("松下"); |
| | | strList.Add("海信"); |
| | | strList.Add("长虹"); |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | strList.Add("创维"); |
| | | strList.Add("TCL"); |
| | | strList.Add("海信"); |
| | | strList.Add("长虹"); |
| | | strList.Add("海尔"); |
| | | strList.Add("三星"); |
| | | strList.Add("乐视"); |
| | | strList.Add("索尼"); |
| | | strList.Add("LG乐金"); |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | } |
| | | break; |
| | | case 4: |
| | | { |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | } |
| | | break; |
| | | |
| | | |
| | | return; |
| | | } |
| | | return strList; |
| | | } |
| | | /// <summary> |
| | | /// 获取设备类型str |
| | | /// </summary> |
| | | /// <param name="index">索引值</param> |
| | | private string GetTypeString(int index) |
| | | { |
| | | string type = ""; |
| | | switch (index) |
| | | GetBrandList(jobDeviceType.id, (brandList) => |
| | | { |
| | | case 1: |
| | | { |
| | | //空调 |
| | | type = "ac-" + SPK.AcIr; |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | //电视 |
| | | type = "tv-" + SPK.TvIr; |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | //风扇 |
| | | type = "fan-" + SPK.ElectricFan; |
| | | } |
| | | break; |
| | | case 4: |
| | | { |
| | | //机顶盒 |
| | | // type = "set_top_box-" + SPK.ElectricTV; |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | //影碟机 |
| | | // type = "dvd-" + SPK.ElectricTV; |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | //投影仪 |
| | | // type = "projector-" + SPK.ElectricTV; |
| | | } |
| | | break; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | BrandList brandObj = new BrandList(); |
| | | brandObj.Show(brandList, strings[1]); |
| | | }); |
| | | |
| | | |
| | | } |
| | | return type; |
| | | } |
| | | /// <summary> |
| | | /// 设置图片和备注 |
| | | /// </summary> |
| | | /// <param name="index">索引值</param> |
| | | /// <param name="deviceIconBtn">图标Btn</param> |
| | | /// <param name="deviceNameBtn">设备备注Btn</param> |
| | | private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn) |
| | | { |
| | | string iconPath = ""; |
| | | int deviceNameIndex = 0; |
| | | switch (index) |
| | | { |
| | | case 1: |
| | | { |
| | | iconPath = "PirIcon/air.png"; |
| | | deviceNameIndex = StringId.kongtiao; |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | iconPath = "PirIcon/tv.png"; |
| | | deviceNameIndex = StringId.dianshi; |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | iconPath = "PirIcon/fan.png"; |
| | | deviceNameIndex = StringId.fengshan; |
| | | } |
| | | break; |
| | | case 4: |
| | | { |
| | | iconPath = "PirIcon/stb.png"; |
| | | deviceNameIndex = StringId.jidinghe; |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | iconPath = "PirIcon/dvd.png"; |
| | | deviceNameIndex = StringId.dvd; |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | iconPath = "PirIcon/projector.png"; |
| | | deviceNameIndex = StringId.touyingyi; |
| | | } |
| | | break; |
| | | case 7: |
| | | { |
| | | iconPath = "PirIcon/custom.png"; |
| | | deviceNameIndex = StringId.zidingyi; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | deviceIconBtn.UnSelectedImagePath = iconPath; |
| | | deviceNameBtn.TextID = deviceNameIndex; |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 读取红外设备类型列表 |
| | | /// </summary> |
| | | private void GetDeviceTypeList() |
| | | /// <param name="tag">表示要不要提示错误信息(true=提示)</param> |
| | | /// <param name="action">回调函数</param> |
| | | public void GetDeviceTypeList(bool tag, Action action) |
| | | { |
| | | PirSend.GetDeviceTypesList(this, (responsePackNew) => |
| | | { |
| | | |
| | | if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") |
| | | { |
| | | //清空之前数据 |
| | | DeviceTypeList.Clear(); |
| | | var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); |
| | | for (int a = 0; a < jArray.Count; a++) |
| | | try |
| | | { |
| | | var jay = jArray[a]; |
| | | var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); |
| | | var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str); |
| | | if (objDeviceType != null) |
| | | var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); |
| | | for (int a = 0; a < jArray.Count; a++) |
| | | { |
| | | if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id)) |
| | | var jay = jArray[a]; |
| | | var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); |
| | | var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str); |
| | | if (objDeviceType != null) |
| | | { |
| | | DeviceTypeList.Add(objDeviceType); |
| | | if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id)) |
| | | { |
| | | DeviceTypeList.Add(objDeviceType); |
| | | } |
| | | } |
| | | } |
| | | action(); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Method method = new Method(); |
| | | method.ErrorShow(responsePackNew); |
| | | if (tag) |
| | | { |
| | | PirMethod method = new PirMethod(); |
| | | method.ErrorShow(responsePackNew, ""); |
| | | } |
| | | } |
| | | }, "", "设备类型列表"); |
| | | } |
| | | /// <summary> |
| | | /// 读取红外设备类型的品牌列表 |
| | | /// </summary> |
| | | private void GetBrandList(string id, Action<List<Brand>> actionBrand) |
| | | public void GetBrandList(string id, Action<List<Brand>> actionBrand) |
| | | { |
| | | List<Brand> brandList = new List<Brand>(); |
| | | PirSend.GetDeviceTypesList(this, (responsePackNew) => |
| | |
| | | { |
| | | //清空之前数据 |
| | | brandList.Clear(); |
| | | var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); |
| | | for (int a = 0; a < jArray.Count; a++) |
| | | try |
| | | { |
| | | var jay = jArray[a]; |
| | | var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); |
| | | var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str); |
| | | if (brand != null) |
| | | var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); |
| | | for (int a = 0; a < jArray.Count; a++) |
| | | { |
| | | if (null == brandList.Find((c) => c.id == brand.id)) |
| | | var jay = jArray[a]; |
| | | var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); |
| | | var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str); |
| | | if (brand != null) |
| | | { |
| | | brandList.Add(brand); |
| | | if (null == brandList.Find((c) => c.id == brand.id)) |
| | | { |
| | | brandList.Add(brand); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | actionBrand(brandList); |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | actionBrand(brandList); |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Method method = new Method(); |
| | | method.ErrorShow(responsePackNew); |
| | | PirMethod method = new PirMethod(); |
| | | method.ErrorShow(responsePackNew, ""); |
| | | } |
| | | }, id, "品牌列表"); |
| | | } |
| | | /// <summary> |
| | | /// 移除界面 |
| | | /// </summary> |
| | | public override void RemoveFromParent() |
| | | { |
| | | BackAction(); |
| | | base.RemoveFromParent(); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |