diff --git a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj index 5cd2260f..991e2d08 100644 --- a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj +++ b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj @@ -137,6 +137,7 @@ + diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CameraConverter.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CameraConverter.cs new file mode 100644 index 00000000..5e67c059 --- /dev/null +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CameraConverter.cs @@ -0,0 +1,53 @@ +//using System; +//using System.Collections.Generic; +//using System.Linq; +//using System.Text; +//using Crestron.SimplSharp; + +//namespace PepperDash.Essentials.Devices.Common.VideoCodec.CiscoCodec +//{ +// /// +// /// This helps convert the camera section differences between Spark and Spark+ +// /// One of them returns an object. One returns an array. +// /// +// public class CameraConverter : JsonConverter +// { + +// public override bool CanConvert(System.Type objectType) +// { +// return objectType == typeof(Camera) || objectType == typeof(List); +// } + +// public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer) +// { +// if (reader.TokenType == JsonToken.StartArray) +// { +// var l = new List(); +// reader.Read(); +// while (reader.TokenType != JsonToken.EndArray) +// { +// l.Add(reader.Value as Camera); +// reader.Read(); +// } +// return l; +// } +// else +// { +// return new List { reader.Value as Camera }; +// } +// } + +// public override bool CanWrite +// { +// get +// { +// return false; +// } +// } + +// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) +// { +// throw new NotImplementedException("SOD OFF HOSER"); +// } +// } +//} \ No newline at end of file diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xConfiguration.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xConfiguration.cs index d82dfc3f..6c5f59da 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xConfiguration.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xConfiguration.cs @@ -2,8 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.Text; + using Crestron.SimplSharp; +using Newtonsoft.Json; + + namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco { /// @@ -239,7 +243,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco public class Cameras { - public List Camera { get; set; } + //[JsonConverter(typeof(CameraConverter))] + //public List Camera { get; set; } public SpeakerTrack SpeakerTrack { get; set; } } diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs index 4209067d..fc3b4b73 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs @@ -4,6 +4,8 @@ using System.Linq; using System.Text; using Crestron.SimplSharp; using Crestron.SimplSharp.CrestronXml.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using PepperDash.Core; @@ -313,12 +315,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco public class Cameras { - public List Camera { get; set; } + //[JsonConverter(typeof(CameraConverter))] + //public List Camera { get; set; } public SpeakerTrack SpeakerTrack { get; set; } public Cameras() { - Camera = new List(); + //Camera = new List(); SpeakerTrack = new SpeakerTrack(); } } diff --git a/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs b/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs index af77fd66..bed3143c 100644 --- a/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs +++ b/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs @@ -55,8 +55,8 @@ namespace PepperDash.Essentials var disp = DefaultDisplay as DisplayBase; var val = CurrentSourceInfo != null && CurrentSourceInfo.Type == eSourceListItemType.Route - && disp != null - && disp.PowerIsOnFeedback.BoolValue; + && disp != null; + //&& disp.PowerIsOnFeedback.BoolValue; return val; }; } diff --git a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs index 6fe825d4..3213a8fb 100644 --- a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs +++ b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs @@ -443,6 +443,9 @@ namespace PepperDash.Essentials // If the room is on, and the meeting is joinable // and the LastMeetingDismissed != this meeting + + Debug.Console(0, "*#* Room on: {0}, LastMeetingDismissed: {1} *#*", CurrentRoom.OnFeedback.BoolValue, + LastMeetingDismissed != null ? LastMeetingDismissed.StartTime.ToShortTimeString() : "null"); if (CurrentRoom.OnFeedback.BoolValue && LastMeetingDismissed == meeting) { @@ -450,7 +453,11 @@ namespace PepperDash.Essentials } LastMeetingDismissed = null; - if (meeting != null) + if (meeting == null) + { + HideNextMeetingPopup(); + } + else { TriList.SetString(UIStringJoin.MeetingsOrContactMethodListTitleText, "Upcoming meeting"); TriList.SetString(UIStringJoin.NextMeetingStartTimeText, meeting.StartTime.ToShortTimeString()); @@ -473,10 +480,11 @@ namespace PepperDash.Essentials // indexOf = 3, 4 meetings : if (indexOfNext < meetings.Count) - { TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, meetings[indexOfNext].StartTime.ToShortTimeString()); - } + else + TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, "No more meetings today"); + TriList.SetSigFalseAction(UIBoolJoin.NextMeetingModalClosePress, () => { // Mark the meeting to not re-harass the user diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index 7034204d..872717dc 100644 Binary files a/Release Package/PepperDashEssentials.cpz and b/Release Package/PepperDashEssentials.cpz differ diff --git a/Release Package/PepperDashEssentials.dll b/Release Package/PepperDashEssentials.dll index a102c4ab..cff85298 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ