mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 13:15:03 +00:00
General code cleanup and updates to Huddle UI drivers to comply with Vtc1 changes
This commit is contained in:
@@ -21,7 +21,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
|||||||
{
|
{
|
||||||
public abstract bool MultiSiteOptionIsEnabled { get; }
|
public abstract bool MultiSiteOptionIsEnabled { get; }
|
||||||
public abstract string IpAddress { get; }
|
public abstract string IpAddress { get; }
|
||||||
public abstract string PhoneNumber { get; }
|
public abstract string SipPhoneNumber { get; }
|
||||||
|
public abstract string E164Alias { get; }
|
||||||
|
public abstract string H323Id { get; }
|
||||||
public abstract string SipUri { get; }
|
public abstract string SipUri { get; }
|
||||||
public abstract bool AutoAnswerEnabled { get; }
|
public abstract bool AutoAnswerEnabled { get; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1285,7 +1285,27 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
|||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public override string PhoneNumber
|
public override string E164Alias
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (CodecConfiguration.Configuration.H323.H323Alias.E164 != null)
|
||||||
|
return CodecConfiguration.Configuration.H323.H323Alias.E164.Value;
|
||||||
|
else
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override string H323Id
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (CodecConfiguration.Configuration.H323.H323Alias.ID != null)
|
||||||
|
return CodecConfiguration.Configuration.H323.H323Alias.E164.Value;
|
||||||
|
else
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override string SipPhoneNumber
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,10 @@ using System.Text;
|
|||||||
|
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||||
@@ -212,9 +215,16 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
|||||||
public Mode7 Mode { get; set; }
|
public Mode7 Mode { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Framerate
|
||||||
|
{
|
||||||
|
public string valueSpaceRef { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class Camera
|
public class Camera
|
||||||
{
|
{
|
||||||
public string id { get; set; }
|
public string id { get; set; }
|
||||||
|
public Framerate Framerate { get; set; }
|
||||||
public Backlight Backlight { get; set; }
|
public Backlight Backlight { get; set; }
|
||||||
public Brightness Brightness { get; set; }
|
public Brightness Brightness { get; set; }
|
||||||
public Focus Focus { get; set; }
|
public Focus Focus { get; set; }
|
||||||
@@ -243,9 +253,68 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
|||||||
|
|
||||||
public class Cameras
|
public class Cameras
|
||||||
{
|
{
|
||||||
//[JsonConverter(typeof(CameraConverter))]
|
//[JsonConverter(typeof(CameraConverter)), JsonProperty("Camera")]
|
||||||
//public List<Camera> Camera { get; set; }
|
//public List<Camera> Camera { get; set; }
|
||||||
|
//[JsonProperty("SpeakerTrack")]
|
||||||
public SpeakerTrack SpeakerTrack { get; set; }
|
public SpeakerTrack SpeakerTrack { get; set; }
|
||||||
|
|
||||||
|
public Cameras()
|
||||||
|
{
|
||||||
|
//Camera = new List<Camera>();
|
||||||
|
SpeakerTrack = new SpeakerTrack();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CameraConverter : JsonConverter
|
||||||
|
{
|
||||||
|
// this is currently not working
|
||||||
|
public override bool CanConvert(System.Type objectType)
|
||||||
|
{
|
||||||
|
return objectType == typeof(Camera) || objectType == typeof(List<Camera>); // This should not be called but is required for implmentation
|
||||||
|
}
|
||||||
|
|
||||||
|
public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
Debug.Console(1, "[xConfiguration]: Cameras converted as list");
|
||||||
|
return l;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Console(1, "[xConfiguration]: Camera converted as single object and added to list");
|
||||||
|
return new List<Camera> { reader.Value as Camera };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Debug.Console(1, "[xConfiguration]: Unable to convert JSON for camera objects: {0}", e);
|
||||||
|
|
||||||
|
return new List<Camera>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanWrite
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException("Write not implemented");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Delay
|
public class Delay
|
||||||
|
|||||||
@@ -315,17 +315,70 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
|||||||
|
|
||||||
public class Cameras
|
public class Cameras
|
||||||
{
|
{
|
||||||
//[JsonConverter(typeof(CameraConverter))]
|
// [JsonConverter(typeof(CameraConverter))]
|
||||||
//public List<Camera> Camera { get; set; }
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//public class CameraConverter : JsonConverter
|
||||||
|
//{
|
||||||
|
|
||||||
|
// public override bool CanConvert(System.Type objectType)
|
||||||
|
// {
|
||||||
|
// return true; // objectType == typeof(Camera) || objectType == typeof(List<Camera>); // This should not be called but is required for implmentation
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer)
|
||||||
|
// {
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// 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();
|
||||||
|
// }
|
||||||
|
// Debug.Console(1, "[xStatus]: Cameras converted as list");
|
||||||
|
// return l;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Debug.Console(1, "[xStatus]: Camera converted as single object and added to list");
|
||||||
|
// return new List<Camera> { reader.Value as Camera };
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// catch (Exception e)
|
||||||
|
// {
|
||||||
|
// Debug.Console(1, "[xStatus]: Unable to convert JSON for camera objects: {0}", e);
|
||||||
|
|
||||||
|
// return new List<Camera>();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public override bool CanWrite
|
||||||
|
// {
|
||||||
|
// get
|
||||||
|
// {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||||
|
// {
|
||||||
|
// throw new NotImplementedException("Write not implemented");
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
public class MaxActiveCalls
|
public class MaxActiveCalls
|
||||||
{
|
{
|
||||||
public string Value { get; set; }
|
public string Value { get; set; }
|
||||||
|
|||||||
@@ -402,12 +402,22 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
get { return true; }
|
get { return true; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string IpAddress
|
public override string E164Alias
|
||||||
{
|
{
|
||||||
get { return "xx.xx.xx.xx"; }
|
get { return "someE164alias"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string PhoneNumber
|
public override string H323Id
|
||||||
|
{
|
||||||
|
get { return "someH323Id"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string IpAddress
|
||||||
|
{
|
||||||
|
get { return "xxx.xxx.xxx.xxx"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string SipPhoneNumber
|
||||||
{
|
{
|
||||||
get { return "333-444-5555"; }
|
get { return "333-444-5555"; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,8 +43,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
|
|
||||||
public RoutingPortCollection<RoutingOutputPort> OutputPorts { get; private set; }
|
public RoutingPortCollection<RoutingOutputPort> OutputPorts { get; private set; }
|
||||||
|
|
||||||
bool wasIsInCall;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns true when any call is not in state Unknown, Disconnecting, Disconnected
|
/// Returns true when any call is not in state Unknown, Disconnecting, Disconnected
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -169,7 +169,7 @@
|
|||||||
<Compile Include="FOR REFERENCE UI\Panels\SmartGraphicsTouchpanelControllerBase.cs" />
|
<Compile Include="FOR REFERENCE UI\Panels\SmartGraphicsTouchpanelControllerBase.cs" />
|
||||||
<Compile Include="UIDrivers\SigInterlock.cs" />
|
<Compile Include="UIDrivers\SigInterlock.cs" />
|
||||||
<Compile Include="UIDrivers\EssentialsHuddleVTC\EssentialsHuddlePresentationUiDriver.cs" />
|
<Compile Include="UIDrivers\EssentialsHuddleVTC\EssentialsHuddlePresentationUiDriver.cs" />
|
||||||
<Compile Include="UIDrivers\EssentialsHuddleVTC\EssentialsHuddleTechPageDriver.cs" />
|
<Compile Include="UIDrivers\EssentialsHuddle\EssentialsHuddleTechPageDriver.cs" />
|
||||||
<Compile Include="UI\HttpLogoServer.cs" />
|
<Compile Include="UI\HttpLogoServer.cs" />
|
||||||
<Compile Include="UI\SmartObjectHeaderButtonList.cs" />
|
<Compile Include="UI\SmartObjectHeaderButtonList.cs" />
|
||||||
<Compile Include="UI\SubpageReferenceListCallStagingItem.cs" />
|
<Compile Include="UI\SubpageReferenceListCallStagingItem.cs" />
|
||||||
@@ -185,7 +185,7 @@
|
|||||||
<Compile Include="UIDrivers\Page Drivers\SingleSubpageModalDriver.cs" />
|
<Compile Include="UIDrivers\Page Drivers\SingleSubpageModalDriver.cs" />
|
||||||
<Compile Include="UIDrivers\Essentials\EssentialsPanelMainInterfaceDriver.cs" />
|
<Compile Include="UIDrivers\Essentials\EssentialsPanelMainInterfaceDriver.cs" />
|
||||||
<Compile Include="UIDrivers\enums and base.cs" />
|
<Compile Include="UIDrivers\enums and base.cs" />
|
||||||
<Compile Include="UIDrivers\Essentials\EssentialsHuddlePanelAvFunctionsDriver.cs" />
|
<Compile Include="UIDrivers\EssentialsHuddle\EssentialsHuddlePanelAvFunctionsDriver.cs" />
|
||||||
<Compile Include="UIDrivers\Page Drivers\SingleSubpageModalAndBackDriver.cs" />
|
<Compile Include="UIDrivers\Page Drivers\SingleSubpageModalAndBackDriver.cs" />
|
||||||
<Compile Include="UIDrivers\SmartObjectRoomsList.cs" />
|
<Compile Include="UIDrivers\SmartObjectRoomsList.cs" />
|
||||||
<Compile Include="UI\JoinConstants\UIBoolJoin.cs" />
|
<Compile Include="UI\JoinConstants\UIBoolJoin.cs" />
|
||||||
|
|||||||
@@ -24,8 +24,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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,10 +118,6 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint RoomPhoneText = 3904;
|
public const uint RoomPhoneText = 3904;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 3905 - SIP address for room header
|
|
||||||
/// </summary>
|
|
||||||
public const uint RoomSipText = 3905;
|
|
||||||
/// <summary>
|
|
||||||
/// 3906 - The separator for verbose-header text on addresses
|
/// 3906 - The separator for verbose-header text on addresses
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint RoomAddressPipeText = 3906;
|
public const uint RoomAddressPipeText = 3906;
|
||||||
|
|||||||
@@ -66,6 +66,11 @@ namespace PepperDash.Essentials
|
|||||||
}
|
}
|
||||||
string _DefaultRoomKey;
|
string _DefaultRoomKey;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates that the SetHeaderButtons method has completed successfully
|
||||||
|
/// </summary>
|
||||||
|
public bool HeaderButtonsAreSetUp { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -148,10 +153,28 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
ModalDialog PowerDownModal;
|
ModalDialog PowerDownModal;
|
||||||
|
|
||||||
ModalDialog WarmingCoolingModal;
|
|
||||||
|
|
||||||
JoinedSigInterlock PopupInterlock;
|
JoinedSigInterlock PopupInterlock;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The driver for the tech page. Lazy getter for memory usage
|
||||||
|
/// </summary>
|
||||||
|
PepperDash.Essentials.UIDrivers.EssentialsHuddleTechPageDriver TechDriver
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_TechDriver == null)
|
||||||
|
_TechDriver = new PepperDash.Essentials.UIDrivers.EssentialsHuddleTechPageDriver(TriList, CurrentRoom.Config.Tech);
|
||||||
|
return _TechDriver;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PepperDash.Essentials.UIDrivers.EssentialsHuddleTechPageDriver _TechDriver;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Controls timeout of notification ribbon timer
|
||||||
|
/// </summary>
|
||||||
|
CTimer RibbonTimer;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor
|
/// Constructor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -190,53 +213,80 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public override void Show()
|
public override void Show()
|
||||||
{
|
{
|
||||||
TriList.BooleanInput[UIBoolJoin.TopBarHabaneroVisible].BoolValue = true;
|
if (CurrentRoom == null)
|
||||||
|
{
|
||||||
|
Debug.Console(1, "ERROR: AVUIFunctionsDriver, Cannot show. No room assigned");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var roomConf = CurrentRoom.Config;
|
||||||
|
|
||||||
|
TriList.SetString(UIStringJoin.CurrentRoomName, CurrentRoom.Name);
|
||||||
|
|
||||||
|
if (Config.HeaderStyle.ToLower() == CrestronTouchpanelPropertiesConfig.Habanero)
|
||||||
|
{
|
||||||
|
TriList.SetSigFalseAction(UIBoolJoin.HeaderRoomButtonPress, () =>
|
||||||
|
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.RoomHeaderPageVisible));
|
||||||
|
}
|
||||||
|
else if (Config.HeaderStyle.ToLower() == CrestronTouchpanelPropertiesConfig.Verbose)
|
||||||
|
{
|
||||||
|
// room name on join 1, concat phone and sip on join 2, no button method
|
||||||
|
//var addr = roomConf.Addresses;
|
||||||
|
//if (addr == null) // protect from missing values by using default empties
|
||||||
|
// addr = new EssentialsRoomAddressPropertiesConfig();
|
||||||
|
//// empty string when either missing, pipe when both showing
|
||||||
|
//TriList.SetString(UIStringJoin.RoomAddressPipeText,
|
||||||
|
// (string.IsNullOrEmpty(addr.PhoneNumber.Trim())
|
||||||
|
// || string.IsNullOrEmpty(addr.SipAddress.Trim())) ? "" : " | ");
|
||||||
|
//TriList.SetString(UIStringJoin.RoomPhoneText, addr.PhoneNumber);
|
||||||
|
//TriList.SetString(UIStringJoin.RoomSipText, addr.SipAddress);
|
||||||
|
}
|
||||||
|
|
||||||
|
TriList.SetBool(UIBoolJoin.DateAndTimeVisible, Config.ShowDate && Config.ShowTime);
|
||||||
|
TriList.SetBool(UIBoolJoin.DateOnlyVisible, Config.ShowDate && !Config.ShowTime);
|
||||||
|
TriList.SetBool(UIBoolJoin.TimeOnlyVisible, !Config.ShowDate && Config.ShowTime);
|
||||||
|
|
||||||
|
TriList.SetBool(UIBoolJoin.TopBarHabaneroDynamicVisible, true);
|
||||||
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = true;
|
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = true;
|
||||||
|
|
||||||
// Default to showing rooms/sources now.
|
// Default to showing rooms/sources now.
|
||||||
ShowMode(UiDisplayMode.PresentationMode);
|
if (CurrentRoom.OnFeedback.BoolValue)
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.TapToBeginVisible, false);
|
||||||
|
SetupActivityFooterWhenRoomOn();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.StartPageVisible, true);
|
||||||
|
TriList.SetBool(UIBoolJoin.TapToBeginVisible, true);
|
||||||
|
SetupActivityFooterWhenRoomOff();
|
||||||
|
}
|
||||||
|
ShowCurrentDisplayModeSigsInUse();
|
||||||
|
|
||||||
// Attach actions
|
// Attach actions
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.VolumeButtonPopupPress, VolumeButtonsTogglePress);
|
TriList.SetSigFalseAction(UIBoolJoin.VolumeButtonPopupPress, VolumeButtonsTogglePress);
|
||||||
|
|
||||||
//Interlocked modals
|
// Generic "close" button for popup modals
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.InterlockedModalClosePress, PopupInterlock.HideAndClear);// HideCurrentInterlockedModal);
|
TriList.SetSigFalseAction(UIBoolJoin.InterlockedModalClosePress, PopupInterlock.HideAndClear);
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.HelpPress, () =>
|
|
||||||
{
|
// Volume related things
|
||||||
string message = null;
|
TriList.SetSigFalseAction(UIBoolJoin.VolumeDefaultPress, () => CurrentRoom.SetDefaultLevels());
|
||||||
var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
|
TriList.SetString(UIStringJoin.AdvancedVolumeSlider1Text, "Room");
|
||||||
as EssentialsHuddleSpaceRoom;
|
|
||||||
if (room != null)
|
|
||||||
message = room.Config.HelpMessage;
|
|
||||||
else
|
|
||||||
message = "Sorry, no help message available. No room connected.";
|
|
||||||
TriList.StringInput[UIStringJoin.HelpMessage].StringValue = message;
|
|
||||||
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.HelpPageVisible); // ShowInterlockedModal(UIBoolJoin.HelpPageVisible);
|
|
||||||
});
|
|
||||||
|
|
||||||
//TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () =>
|
//TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () =>
|
||||||
// ShowInterlockedModal(UIBoolJoin.RoomHeaderPageVisible));
|
// ShowInterlockedModal(UIBoolJoin.RoomHeaderPageVisible));
|
||||||
|
|
||||||
// Setup button
|
|
||||||
TriList.SetSigHeldAction(UIBoolJoin.FIXFIX_HeaderGearButtonPress_FIXFIX, 2000,
|
//if(TriList is CrestronApp)
|
||||||
() => PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.TechPanelSetupVisible));// ShowInterlockedModal(UIBoolJoin.TechPanelSetupVisible));
|
// TriList.BooleanInput[UIBoolJoin.GearButtonVisible].BoolValue = false;
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.TechExitButton, () =>
|
//else
|
||||||
PopupInterlock.HideAndClear()); // HideCurrentInterlockedModal());
|
// TriList.BooleanInput[UIBoolJoin.GearButtonVisible].BoolValue = true;
|
||||||
if(TriList is CrestronApp)
|
|
||||||
TriList.BooleanInput[UIBoolJoin.GearButtonVisible].BoolValue = false;
|
|
||||||
else
|
|
||||||
TriList.BooleanInput[UIBoolJoin.GearButtonVisible].BoolValue = true;
|
|
||||||
|
|
||||||
// power-related functions
|
// power-related functions
|
||||||
// Note: some of these are not directly-related to the huddle space UI, but are held over
|
// Note: some of these are not directly-related to the huddle space UI, but are held over
|
||||||
// in case
|
// in case
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.ShowPowerOffPress, PowerButtonPressed);
|
TriList.SetSigFalseAction(UIBoolJoin.ShowPowerOffPress, EndMeetingPress);
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.PowerOffMorePress, () =>
|
|
||||||
{
|
|
||||||
CancelPowerOffTimer();
|
|
||||||
TriList.BooleanInput[UIBoolJoin.PowerOffStep1Visible].BoolValue = false;
|
|
||||||
TriList.BooleanInput[UIBoolJoin.PowerOffStep2Visible].BoolValue = true;
|
|
||||||
});
|
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.DisplayPowerTogglePress, () =>
|
TriList.SetSigFalseAction(UIBoolJoin.DisplayPowerTogglePress, () =>
|
||||||
{
|
{
|
||||||
if (CurrentRoom != null && CurrentRoom.DefaultDisplay is IPower)
|
if (CurrentRoom != null && CurrentRoom.DefaultDisplay is IPower)
|
||||||
@@ -246,13 +296,61 @@ namespace PepperDash.Essentials
|
|||||||
base.Show();
|
base.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public void EndMeetingPress()
|
||||||
|
{
|
||||||
|
if (!CurrentRoom.OnFeedback.BoolValue
|
||||||
|
|| CurrentRoom.ShutdownPromptTimer.IsRunningFeedback.BoolValue)
|
||||||
|
return;
|
||||||
|
|
||||||
|
CurrentRoom.StartShutdown(eShutdownType.Manual);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reveals the tech page and puts away anything that's in the way.
|
||||||
|
/// </summary>
|
||||||
|
void ShowTech()
|
||||||
|
{
|
||||||
|
PopupInterlock.HideAndClear();
|
||||||
|
TechDriver.Show();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
void ShowLogo()
|
||||||
|
{
|
||||||
|
if (CurrentRoom.LogoUrl == null)
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.LogoDefaultVisible, true);
|
||||||
|
TriList.SetBool(UIBoolJoin.LogoUrlVisible, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.LogoDefaultVisible, false);
|
||||||
|
TriList.SetBool(UIBoolJoin.LogoUrlVisible, true);
|
||||||
|
TriList.SetString(UIStringJoin.LogoUrl, _CurrentRoom.LogoUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
void HideLogo()
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.LogoDefaultVisible, false);
|
||||||
|
TriList.SetBool(UIBoolJoin.LogoUrlVisible, false);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override void Hide()
|
public override void Hide()
|
||||||
{
|
{
|
||||||
HideAndClearCurrentDisplayModeSigsInUse();
|
HideAndClearCurrentDisplayModeSigsInUse();
|
||||||
TriList.BooleanInput[UIBoolJoin.TopBarHabaneroVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.TopBarHabaneroDynamicVisible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.TapToBeginVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.TapToBeginVisible].BoolValue = false;
|
||||||
@@ -264,6 +362,40 @@ namespace PepperDash.Essentials
|
|||||||
base.Hide();
|
base.Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reveals a message on the notification ribbon until cleared
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Text to display</param>
|
||||||
|
/// <param name="timeout">Time in ms to display. 0 to keep on screen</param>
|
||||||
|
public void ShowNotificationRibbon(string message, int timeout)
|
||||||
|
{
|
||||||
|
TriList.SetString(UIStringJoin.NotificationRibbonText, message);
|
||||||
|
TriList.SetBool(UIBoolJoin.NotificationRibbonVisible, true);
|
||||||
|
if (timeout > 0)
|
||||||
|
{
|
||||||
|
if (RibbonTimer != null)
|
||||||
|
RibbonTimer.Stop();
|
||||||
|
RibbonTimer = new CTimer(o =>
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.NotificationRibbonVisible, false);
|
||||||
|
RibbonTimer = null;
|
||||||
|
}, timeout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Hides the notification ribbon
|
||||||
|
/// </summary>
|
||||||
|
public void HideNotificationRibbon()
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.NotificationRibbonVisible, false);
|
||||||
|
if (RibbonTimer != null)
|
||||||
|
{
|
||||||
|
RibbonTimer.Stop();
|
||||||
|
RibbonTimer = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the various "modes" that this driver controls. Presentation, Setup page
|
/// Shows the various "modes" that this driver controls. Presentation, Setup page
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -330,7 +462,7 @@ namespace PepperDash.Essentials
|
|||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl,
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl,
|
||||||
0, null));
|
0, null));
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl,
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl,
|
||||||
3, b => { if (!b) PowerButtonPressed(); }));
|
4, b => { if (!b) PowerButtonPressed(); }));
|
||||||
ActivityFooterSrl.Count = 2;
|
ActivityFooterSrl.Count = 2;
|
||||||
TriList.UShortInput[UIUshortJoin.PresentationStagingCaretMode].UShortValue = 1;
|
TriList.UShortInput[UIUshortJoin.PresentationStagingCaretMode].UShortValue = 1;
|
||||||
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
||||||
@@ -351,34 +483,6 @@ namespace PepperDash.Essentials
|
|||||||
CurrentRoom.RunDefaultRoute();
|
CurrentRoom.RunDefaultRoute();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Hides a current modal if showing and then shows a new.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="join"></param>
|
|
||||||
//void ShowInterlockedModal(uint join)
|
|
||||||
//{
|
|
||||||
// if (CurrentInterlockedModalJoin == join)
|
|
||||||
// HideCurrentInterlockedModal();
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// // sets the sig true if the join is right
|
|
||||||
// TriList.BooleanInput[UIBoolJoin.HelpPageVisible].BoolValue = join == UIBoolJoin.HelpPageVisible;
|
|
||||||
// TriList.BooleanInput[UIBoolJoin.RoomHeaderPageVisible].BoolValue = join == UIBoolJoin.RoomHeaderPageVisible;
|
|
||||||
// TriList.BooleanInput[UIBoolJoin.VolumesPageVisible].BoolValue = join == UIBoolJoin.VolumesPageVisible;
|
|
||||||
// TriList.BooleanInput[UIBoolJoin.TechPanelSetupVisible].BoolValue = join == UIBoolJoin.TechPanelSetupVisible;
|
|
||||||
// CurrentInterlockedModalJoin = join;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
///// <summary>
|
|
||||||
///// Helper to hide the current interlocked modal
|
|
||||||
///// </summary>
|
|
||||||
//void HideCurrentInterlockedModal()
|
|
||||||
//{
|
|
||||||
// TriList.BooleanInput[CurrentInterlockedModalJoin].BoolValue = false;
|
|
||||||
// CurrentInterlockedModalJoin = 0;
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows all sigs that are in CurrentDisplayModeSigsInUse
|
/// Shows all sigs that are in CurrentDisplayModeSigsInUse
|
||||||
@@ -493,13 +597,6 @@ namespace PepperDash.Essentials
|
|||||||
PowerDownModal = new ModalDialog(TriList);
|
PowerDownModal = new ModalDialog(TriList);
|
||||||
var message = string.Format("Meeting will end in {0} seconds", CurrentRoom.ShutdownPromptSeconds);
|
var message = string.Format("Meeting will end in {0} seconds", CurrentRoom.ShutdownPromptSeconds);
|
||||||
|
|
||||||
//// figure out a cleaner way to update gauge
|
|
||||||
//var gauge = CurrentRoom.ShutdownPromptTimer.PercentFeedback;
|
|
||||||
//EventHandler<EventArgs> gaugeHandler = null;
|
|
||||||
//gaugeHandler = (o, a) => TriList.UShortInput[ModalDialog.TimerGaugeJoin].UShortValue =
|
|
||||||
// (ushort)(gauge.UShortValue * 65535 / 100);
|
|
||||||
//gauge.OutputChange += gaugeHandler;
|
|
||||||
|
|
||||||
// Attach timer things to modal
|
// Attach timer things to modal
|
||||||
CurrentRoom.ShutdownPromptTimer.TimeRemainingFeedback.OutputChange += ShutdownPromptTimer_TimeRemainingFeedback_OutputChange;
|
CurrentRoom.ShutdownPromptTimer.TimeRemainingFeedback.OutputChange += ShutdownPromptTimer_TimeRemainingFeedback_OutputChange;
|
||||||
CurrentRoom.ShutdownPromptTimer.PercentFeedback.OutputChange += ShutdownPromptTimer_PercentFeedback_OutputChange;
|
CurrentRoom.ShutdownPromptTimer.PercentFeedback.OutputChange += ShutdownPromptTimer_PercentFeedback_OutputChange;
|
||||||
@@ -710,6 +807,8 @@ namespace PepperDash.Essentials
|
|||||||
RefreshAudioDeviceConnections();
|
RefreshAudioDeviceConnections();
|
||||||
_CurrentRoom.CurrentSingleSourceChange += CurrentRoom_SourceInfoChange;
|
_CurrentRoom.CurrentSingleSourceChange += CurrentRoom_SourceInfoChange;
|
||||||
RefreshSourceInfo();
|
RefreshSourceInfo();
|
||||||
|
|
||||||
|
SetupHeaderButtons();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -718,6 +817,84 @@ namespace PepperDash.Essentials
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetupHeaderButtons()
|
||||||
|
{
|
||||||
|
HeaderButtonsAreSetUp = false;
|
||||||
|
|
||||||
|
TriList.SetBool(UIBoolJoin.TopBarHabaneroDynamicVisible, true);
|
||||||
|
|
||||||
|
var roomConf = CurrentRoom.Config;
|
||||||
|
|
||||||
|
// Gear
|
||||||
|
TriList.SetString(UIStringJoin.HeaderButtonIcon5, "Gear");
|
||||||
|
TriList.SetSigHeldAction(UIBoolJoin.HeaderIcon5Press, 2000,
|
||||||
|
ShowTech,
|
||||||
|
null,
|
||||||
|
() =>
|
||||||
|
{
|
||||||
|
if (CurrentRoom.OnFeedback.BoolValue)
|
||||||
|
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.VolumesPageVisible);
|
||||||
|
else
|
||||||
|
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.VolumesPagePowerOffVisible);
|
||||||
|
});
|
||||||
|
TriList.SetSigFalseAction(UIBoolJoin.TechExitButton, () =>
|
||||||
|
PopupInterlock.HideAndClear());
|
||||||
|
|
||||||
|
// Help button and popup
|
||||||
|
if (CurrentRoom.Config.Help != null)
|
||||||
|
{
|
||||||
|
TriList.SetString(UIStringJoin.HelpMessage, roomConf.Help.Message);
|
||||||
|
TriList.SetBool(UIBoolJoin.HelpPageShowCallButtonVisible, roomConf.Help.ShowCallButton);
|
||||||
|
TriList.SetString(UIStringJoin.HelpPageCallButtonText, roomConf.Help.CallButtonText);
|
||||||
|
if (roomConf.Help.ShowCallButton)
|
||||||
|
TriList.SetSigFalseAction(UIBoolJoin.HelpPageShowCallButtonPress, () => { }); // ************ FILL IN
|
||||||
|
else
|
||||||
|
TriList.ClearBoolSigAction(UIBoolJoin.HelpPageShowCallButtonPress);
|
||||||
|
}
|
||||||
|
else // older config
|
||||||
|
{
|
||||||
|
TriList.SetString(UIStringJoin.HelpMessage, CurrentRoom.Config.HelpMessage);
|
||||||
|
TriList.SetBool(UIBoolJoin.HelpPageShowCallButtonVisible, false);
|
||||||
|
TriList.SetString(UIStringJoin.HelpPageCallButtonText, null);
|
||||||
|
TriList.ClearBoolSigAction(UIBoolJoin.HelpPageShowCallButtonPress);
|
||||||
|
}
|
||||||
|
TriList.SetString(UIStringJoin.HeaderButtonIcon4, "Help");
|
||||||
|
TriList.SetSigFalseAction(UIBoolJoin.HeaderIcon4Press, () =>
|
||||||
|
{
|
||||||
|
string message = null;
|
||||||
|
var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
|
||||||
|
as EssentialsHuddleSpaceRoom;
|
||||||
|
if (room != null)
|
||||||
|
message = room.Config.HelpMessage;
|
||||||
|
else
|
||||||
|
message = "Sorry, no help message available. No room connected.";
|
||||||
|
//TriList.StringInput[UIStringJoin.HelpMessage].StringValue = message;
|
||||||
|
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.HelpPageVisible);
|
||||||
|
});
|
||||||
|
uint nextJoin = 3953;
|
||||||
|
|
||||||
|
//// Calendar button
|
||||||
|
//if (_CurrentRoom.ScheduleSource != null)
|
||||||
|
//{
|
||||||
|
// TriList.SetString(nextJoin, "Calendar");
|
||||||
|
// TriList.SetSigFalseAction(nextJoin, CalendarPress);
|
||||||
|
|
||||||
|
// nextJoin--;
|
||||||
|
//}
|
||||||
|
|
||||||
|
//nextJoin--;
|
||||||
|
|
||||||
|
// blank any that remain
|
||||||
|
for (var i = nextJoin; i > 3950; i--)
|
||||||
|
{
|
||||||
|
TriList.SetString(i, "Blank");
|
||||||
|
TriList.SetSigFalseAction(i, () => { });
|
||||||
|
}
|
||||||
|
|
||||||
|
HeaderButtonsAreSetUp = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// For room on/off changes
|
/// For room on/off changes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -744,6 +921,7 @@ namespace PepperDash.Essentials
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetupActivityFooterWhenRoomOff();
|
SetupActivityFooterWhenRoomOff();
|
||||||
|
ShowLogo();
|
||||||
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
|
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
|
||||||
TriList.BooleanInput[UIBoolJoin.VolumeSingleMute1Visible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.VolumeSingleMute1Visible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue = false;
|
||||||
@@ -755,38 +933,26 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void CurrentRoom_IsWarmingFeedback_OutputChange(object sender, EventArgs e)
|
void CurrentRoom_IsWarmingFeedback_OutputChange(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var value = CurrentRoom.IsWarmingUpFeedback.BoolValue;
|
if (CurrentRoom.IsWarmingUpFeedback.BoolValue)
|
||||||
//Debug.Console(2, CurrentRoom, "UI: WARMING event={0}", value);
|
|
||||||
|
|
||||||
if (value)
|
|
||||||
{
|
{
|
||||||
WarmingCoolingModal = new ModalDialog(TriList);
|
ShowNotificationRibbon("Room is powering on. Please wait...", 0);
|
||||||
WarmingCoolingModal.PresentModalDialog(0, "Powering Up", "Power", "<p>Room is powering up</p><p>Please wait</p>",
|
|
||||||
"", "", false, false, null);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (WarmingCoolingModal != null)
|
ShowNotificationRibbon("Room is powered on. Welcome.", 2000);
|
||||||
WarmingCoolingModal.CancelDialog();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void IsCoolingDownFeedback_OutputChange(object sender, EventArgs e)
|
void IsCoolingDownFeedback_OutputChange(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var value = CurrentRoom.IsCoolingDownFeedback.BoolValue;
|
if (CurrentRoom.IsCoolingDownFeedback.BoolValue)
|
||||||
//Debug.Console(2, CurrentRoom, "UI: Cooldown event={0}", value);
|
|
||||||
|
|
||||||
if (value)
|
|
||||||
{
|
{
|
||||||
WarmingCoolingModal = new ModalDialog(TriList);
|
ShowNotificationRibbon("Room is powering off. Please wait.", 0);
|
||||||
WarmingCoolingModal.PresentModalDialog(0, "Shut Down", "Power", "<p>Room is shutting down</p><p>Please wait</p>",
|
|
||||||
"", "", false, false, null);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (WarmingCoolingModal != null)
|
HideNotificationRibbon();
|
||||||
WarmingCoolingModal.CancelDialog();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,10 +37,6 @@ namespace PepperDash.Essentials.UIDrivers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
IAVDriver Parent;
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
JoinedSigInterlock PagesInterlock;
|
JoinedSigInterlock PagesInterlock;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -63,10 +59,9 @@ namespace PepperDash.Essentials.UIDrivers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="trilist"></param>
|
/// <param name="trilist"></param>
|
||||||
/// <param name="parent"></param>
|
/// <param name="parent"></param>
|
||||||
public EssentialsHuddleTechPageDriver(BasicTriListWithSmartObject trilist, IAVDriver parent, EssentialsRoomTechConfig config)
|
public EssentialsHuddleTechPageDriver(BasicTriListWithSmartObject trilist, EssentialsRoomTechConfig config)
|
||||||
: base(trilist)
|
: base(trilist)
|
||||||
{
|
{
|
||||||
Parent = parent;
|
|
||||||
Config = config;
|
Config = config;
|
||||||
|
|
||||||
PagesInterlock = new JoinedSigInterlock(trilist);
|
PagesInterlock = new JoinedSigInterlock(trilist);
|
||||||
@@ -164,7 +164,7 @@ namespace PepperDash.Essentials
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_TechDriver == null)
|
if (_TechDriver == null)
|
||||||
_TechDriver = new PepperDash.Essentials.UIDrivers.EssentialsHuddleTechPageDriver(TriList, this, CurrentRoom.Config.Tech);
|
_TechDriver = new PepperDash.Essentials.UIDrivers.EssentialsHuddleTechPageDriver(TriList, CurrentRoom.Config.Tech);
|
||||||
return _TechDriver;
|
return _TechDriver;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1244,15 +1244,10 @@ namespace PepperDash.Essentials
|
|||||||
if (CurrentRoom.IsWarmingUpFeedback.BoolValue)
|
if (CurrentRoom.IsWarmingUpFeedback.BoolValue)
|
||||||
{
|
{
|
||||||
ShowNotificationRibbon("Room is powering on. Please wait...", 0);
|
ShowNotificationRibbon("Room is powering on. Please wait...", 0);
|
||||||
//WarmingCoolingModal = new ModalDialog(TriList);
|
|
||||||
//WarmingCoolingModal.PresentModalDialog(0, "Powering Up", "Power", "<p>Room is powering up</p><p>Please wait</p>",
|
|
||||||
// "", "", false, false, null);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ShowNotificationRibbon("Room is powered on. Welcome.", 2000);
|
ShowNotificationRibbon("Room is powered on. Welcome.", 2000);
|
||||||
//if (WarmingCoolingModal != null)
|
|
||||||
// WarmingCoolingModal.CancelDialog();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1266,16 +1261,10 @@ namespace PepperDash.Essentials
|
|||||||
if (CurrentRoom.IsCoolingDownFeedback.BoolValue)
|
if (CurrentRoom.IsCoolingDownFeedback.BoolValue)
|
||||||
{
|
{
|
||||||
ShowNotificationRibbon("Room is powering off. Please wait.", 0);
|
ShowNotificationRibbon("Room is powering off. Please wait.", 0);
|
||||||
|
|
||||||
//WarmingCoolingModal = new ModalDialog(TriList);
|
|
||||||
//WarmingCoolingModal.PresentModalDialog(0, "Power Off", "Power", "<p>Room is powering off</p><p>Please wait</p>",
|
|
||||||
// "", "", false, false, null);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HideNotificationRibbon();
|
HideNotificationRibbon();
|
||||||
//if (WarmingCoolingModal != null)
|
|
||||||
// WarmingCoolingModal.CancelDialog();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -175,7 +175,6 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
|
|
||||||
triList.SetSigFalseAction(UIBoolJoin.VCDirectorySearchTextPress, RevealKeyboard);
|
triList.SetSigFalseAction(UIBoolJoin.VCDirectorySearchTextPress, RevealKeyboard);
|
||||||
|
|
||||||
//TriList.SetSigFalseAction(UIBoolJoin.VCDirectoryBackspacePress, SearchKeypadBackspacePress);
|
|
||||||
triList.SetSigHeldAction(UIBoolJoin.VCDirectoryBackspacePress, 500,
|
triList.SetSigHeldAction(UIBoolJoin.VCDirectoryBackspacePress, 500,
|
||||||
StartSearchBackspaceRepeat, StopSearchBackspaceRepeat, SearchKeypadBackspacePress);
|
StartSearchBackspaceRepeat, StopSearchBackspaceRepeat, SearchKeypadBackspacePress);
|
||||||
|
|
||||||
@@ -194,8 +193,13 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
void Codec_IsReady()
|
void Codec_IsReady()
|
||||||
{
|
{
|
||||||
TriList.SetString(UIStringJoin.RoomPhoneText, GetFormattedPhoneNumber(Codec.CodecInfo.PhoneNumber));
|
string roomNumberSipUri = "";
|
||||||
TriList.SetString(UIStringJoin.RoomSipText, Codec.CodecInfo.SipUri);
|
if (!string.IsNullOrEmpty(Codec.CodecInfo.SipUri)) // If both values are present, format the string with a pipe divider
|
||||||
|
roomNumberSipUri = string.Format("{0} | {2}", GetFormattedPhoneNumber(Codec.CodecInfo.PhoneNumber), Codec.CodecInfo.SipUri);
|
||||||
|
else // If only one value present, just show the phone number
|
||||||
|
roomNumberSipUri = Codec.CodecInfo.PhoneNumber;
|
||||||
|
|
||||||
|
TriList.SetString(UIStringJoin.RoomPhoneText, roomNumberSipUri);
|
||||||
|
|
||||||
if(Parent.HeaderButtonsAreSetUp)
|
if(Parent.HeaderButtonsAreSetUp)
|
||||||
Parent.ComputeHeaderCallStatus(Codec);
|
Parent.ComputeHeaderCallStatus(Codec);
|
||||||
|
|||||||
Reference in New Issue
Block a user