Additional fix to top next meeting warning popups when room is on

This commit is contained in:
Heath Volmer
2017-10-24 11:57:20 -06:00
parent 17fd9488f2
commit 61883e5d4a
8 changed files with 78 additions and 8 deletions

View File

@@ -137,6 +137,7 @@
<Compile Include="Streaming\Roku.cs" /> <Compile Include="Streaming\Roku.cs" />
<Compile Include="VideoCodec\CiscoCodec\BookingsDataClasses.cs" /> <Compile Include="VideoCodec\CiscoCodec\BookingsDataClasses.cs" />
<Compile Include="VideoCodec\CiscoCodec\CallHistoryDataClasses.cs" /> <Compile Include="VideoCodec\CiscoCodec\CallHistoryDataClasses.cs" />
<Compile Include="VideoCodec\CiscoCodec\CameraConverter.cs" />
<Compile Include="VideoCodec\CiscoCodec\CiscoSparkCodec.cs" /> <Compile Include="VideoCodec\CiscoCodec\CiscoSparkCodec.cs" />
<Compile Include="VideoCodec\CiscoCodec\CiscoSparkCodecPropertiesConfig.cs" /> <Compile Include="VideoCodec\CiscoCodec\CiscoSparkCodecPropertiesConfig.cs" />
<Compile Include="VideoCodec\CiscoCodec\xStatusSparkPlus.cs" /> <Compile Include="VideoCodec\CiscoCodec\xStatusSparkPlus.cs" />

View File

@@ -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
//{
// /// <summary>
// /// This helps convert the camera section differences between Spark and Spark+
// /// One of them returns an object. One returns an array.
// /// </summary>
// public class CameraConverter : JsonConverter
// {
// public override bool CanConvert(System.Type objectType)
// {
// return objectType == typeof(Camera) || objectType == typeof(List<Camera>);
// }
// public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer)
// {
// if (reader.TokenType == JsonToken.StartArray)
// {
// var l = new List<Camera>();
// reader.Read();
// while (reader.TokenType != JsonToken.EndArray)
// {
// l.Add(reader.Value as Camera);
// reader.Read();
// }
// return l;
// }
// else
// {
// return new List<Camera> { 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");
// }
// }
//}

View File

@@ -2,8 +2,12 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{ {
/// <summary> /// <summary>
@@ -239,7 +243,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
public class Cameras public class Cameras
{ {
public List<Camera> Camera { get; set; } //[JsonConverter(typeof(CameraConverter))]
//public List<Camera> Camera { get; set; }
public SpeakerTrack SpeakerTrack { get; set; } public SpeakerTrack SpeakerTrack { get; set; }
} }

View File

@@ -4,6 +4,8 @@ using System.Linq;
using System.Text; using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronXml.Serialization; using Crestron.SimplSharp.CrestronXml.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
@@ -313,12 +315,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
public class Cameras public class Cameras
{ {
public List<Camera> Camera { get; set; } //[JsonConverter(typeof(CameraConverter))]
//public List<Camera> Camera { get; set; }
public SpeakerTrack SpeakerTrack { get; set; } public SpeakerTrack SpeakerTrack { get; set; }
public Cameras() public Cameras()
{ {
Camera = new List<Camera>(); //Camera = new List<Camera>();
SpeakerTrack = new SpeakerTrack(); SpeakerTrack = new SpeakerTrack();
} }
} }

View File

@@ -55,8 +55,8 @@ namespace PepperDash.Essentials
var disp = DefaultDisplay as DisplayBase; var disp = DefaultDisplay as DisplayBase;
var val = CurrentSourceInfo != null var val = CurrentSourceInfo != null
&& CurrentSourceInfo.Type == eSourceListItemType.Route && CurrentSourceInfo.Type == eSourceListItemType.Route
&& disp != null && disp != null;
&& disp.PowerIsOnFeedback.BoolValue; //&& disp.PowerIsOnFeedback.BoolValue;
return val; return val;
}; };
} }

View File

@@ -443,6 +443,9 @@ namespace PepperDash.Essentials
// If the room is on, and the meeting is joinable // If the room is on, and the meeting is joinable
// and the LastMeetingDismissed != this meeting // 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 if (CurrentRoom.OnFeedback.BoolValue
&& LastMeetingDismissed == meeting) && LastMeetingDismissed == meeting)
{ {
@@ -450,7 +453,11 @@ namespace PepperDash.Essentials
} }
LastMeetingDismissed = null; LastMeetingDismissed = null;
if (meeting != null) if (meeting == null)
{
HideNextMeetingPopup();
}
else
{ {
TriList.SetString(UIStringJoin.MeetingsOrContactMethodListTitleText, "Upcoming meeting"); TriList.SetString(UIStringJoin.MeetingsOrContactMethodListTitleText, "Upcoming meeting");
TriList.SetString(UIStringJoin.NextMeetingStartTimeText, meeting.StartTime.ToShortTimeString()); TriList.SetString(UIStringJoin.NextMeetingStartTimeText, meeting.StartTime.ToShortTimeString());
@@ -473,10 +480,11 @@ namespace PepperDash.Essentials
// indexOf = 3, 4 meetings : // indexOf = 3, 4 meetings :
if (indexOfNext < meetings.Count) if (indexOfNext < meetings.Count)
{
TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText,
meetings[indexOfNext].StartTime.ToShortTimeString()); meetings[indexOfNext].StartTime.ToShortTimeString());
} else
TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, "No more meetings today");
TriList.SetSigFalseAction(UIBoolJoin.NextMeetingModalClosePress, () => TriList.SetSigFalseAction(UIBoolJoin.NextMeetingModalClosePress, () =>
{ {
// Mark the meeting to not re-harass the user // Mark the meeting to not re-harass the user