mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
ecs-481 swapped call/share; ecs-483 phone number and address text code (with backing codec modifications)
This commit is contained in:
@@ -275,6 +275,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
void SyncState_InitialSyncCompleted(object sender, EventArgs e)
|
void SyncState_InitialSyncCompleted(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
// Fire the ready event
|
||||||
|
SetIsReady();
|
||||||
//CommDebuggingIsOn = false;
|
//CommDebuggingIsOn = false;
|
||||||
|
|
||||||
GetCallHistory();
|
GetCallHistory();
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
public MockVC(string key, string name)
|
public MockVC(string key, string name)
|
||||||
: base(key, name)
|
: base(key, name)
|
||||||
{
|
{
|
||||||
|
CodecInfo = new MockCodecInfo();
|
||||||
|
|
||||||
// Debug helpers
|
// Debug helpers
|
||||||
IncomingCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "IncomingCall={0}", _IncomingCall);
|
IncomingCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "IncomingCall={0}", _IncomingCall);
|
||||||
MuteFeedback.OutputChange += (o, a) => Debug.Console(1, this, "Mute={0}", _IsMuted);
|
MuteFeedback.OutputChange += (o, a) => Debug.Console(1, this, "Mute={0}", _IsMuted);
|
||||||
@@ -40,6 +42,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
InputPorts.Add(HdmiIn1);
|
InputPorts.Add(HdmiIn1);
|
||||||
InputPorts.Add(HdmiIn2);
|
InputPorts.Add(HdmiIn2);
|
||||||
OutputPorts.Add(HdmiOut);
|
OutputPorts.Add(HdmiOut);
|
||||||
|
|
||||||
|
SetIsReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Func<bool> IncomingCallFeedbackFunc
|
protected override Func<bool> IncomingCallFeedbackFunc
|
||||||
@@ -299,4 +303,42 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Implementation for the mock VC
|
||||||
|
/// </summary>
|
||||||
|
public class MockCodecInfo : VideoCodecInfo
|
||||||
|
{
|
||||||
|
|
||||||
|
public override bool MultiSiteOptionIsEnabled
|
||||||
|
{
|
||||||
|
get { return true; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string IpAddress
|
||||||
|
{
|
||||||
|
get { return "xx.xx.xx.xx"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string PhoneNumber
|
||||||
|
{
|
||||||
|
get { return "333-444-5555"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string SipUri
|
||||||
|
{
|
||||||
|
get { return "mock@someurl.com"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool AutoAnswerEnabled
|
||||||
|
{
|
||||||
|
get { return _AutoAnswerEnabled; }
|
||||||
|
}
|
||||||
|
bool _AutoAnswerEnabled;
|
||||||
|
|
||||||
|
public void SetAutoAnswer(bool value)
|
||||||
|
{
|
||||||
|
_AutoAnswerEnabled = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -18,6 +18,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public event EventHandler<CodecCallStatusItemChangeEventArgs> CallStatusChange;
|
public event EventHandler<CodecCallStatusItemChangeEventArgs> CallStatusChange;
|
||||||
|
|
||||||
|
public event EventHandler<EventArgs> IsReadyChange;
|
||||||
|
|
||||||
#region IUsageTracking Members
|
#region IUsageTracking Members
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -49,6 +51,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
|
|
||||||
public VideoCodecInfo CodecInfo { get; protected set; }
|
public VideoCodecInfo CodecInfo { get; protected set; }
|
||||||
|
|
||||||
|
public bool IsReady { get; protected set; }
|
||||||
|
|
||||||
public VideoCodecBase(string key, string name)
|
public VideoCodecBase(string key, string name)
|
||||||
: base(key, name)
|
: base(key, name)
|
||||||
{
|
{
|
||||||
@@ -113,6 +117,17 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
handler(this, new CodecCallStatusItemChangeEventArgs(previousStatus, newStatus, item));
|
handler(this, new CodecCallStatusItemChangeEventArgs(previousStatus, newStatus, item));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets IsReady property and fires the event. Used for dependent classes to sync up their data.
|
||||||
|
/// </summary>
|
||||||
|
protected void SetIsReady()
|
||||||
|
{
|
||||||
|
IsReady = true;
|
||||||
|
var h = IsReadyChange;
|
||||||
|
if(h != null)
|
||||||
|
h(this, new EventArgs());
|
||||||
|
}
|
||||||
|
|
||||||
#region ICodecAudio Members
|
#region ICodecAudio Members
|
||||||
|
|
||||||
public abstract void PrivacyModeOn();
|
public abstract void PrivacyModeOn();
|
||||||
|
|||||||
@@ -40,47 +40,46 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
|
|
||||||
// Audio Conference
|
// Audio Conference
|
||||||
#warning Move these to 1100's
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1001
|
/// 1101
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACKeypadVisible = 1001;
|
public const uint ACKeypadVisible = 1101;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1002
|
/// 1102
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACStagingPopoverVisible = 1002;
|
public const uint ACStagingPopoverVisible = 1102;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1011
|
/// 1111
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial1Press = 1011;
|
public const uint ACSpeedDial1Press = 1111;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1012
|
/// 1112
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial2Press = 1012;
|
public const uint ACSpeedDial2Press = 1112;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1013
|
/// 1113
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial3Press = 1013;
|
public const uint ACSpeedDial3Press = 1113;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1014
|
/// 1114
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial4Press = 1014;
|
public const uint ACSpeedDial4Press = 1114;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1021
|
/// 1121
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial1Visible = 1021;
|
public const uint ACSpeedDial1Visible = 1121;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1022
|
/// 1122
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial2Visible = 1022;
|
public const uint ACSpeedDial2Visible = 1122;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1023
|
/// 1123
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial3Visible = 1023;
|
public const uint ACSpeedDial3Visible = 1123;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1024
|
/// 1124
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint ACSpeedDial4Visible = 1024;
|
public const uint ACSpeedDial4Visible = 1124;
|
||||||
|
|
||||||
//******************************************************
|
//******************************************************
|
||||||
// Video Conference
|
// Video Conference
|
||||||
|
|||||||
@@ -232,7 +232,6 @@ namespace PepperDash.Essentials
|
|||||||
TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () =>
|
TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () =>
|
||||||
ShowInterlockedModal(UIBoolJoin.RoomHeaderPageVisible));
|
ShowInterlockedModal(UIBoolJoin.RoomHeaderPageVisible));
|
||||||
|
|
||||||
#warning Add press and hold to gear button here
|
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () =>
|
TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () =>
|
||||||
ShowInterlockedModal(UIBoolJoin.VolumesPageVisible));
|
ShowInterlockedModal(UIBoolJoin.VolumesPageVisible));
|
||||||
|
|
||||||
|
|||||||
@@ -178,8 +178,8 @@ namespace PepperDash.Essentials
|
|||||||
SourceStagingSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.SourceStagingSRL, 3, 3, 3);
|
SourceStagingSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.SourceStagingSRL, 3, 3, 3);
|
||||||
|
|
||||||
ActivityFooterSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.ActivityFooterSRL, 3, 3, 3);
|
ActivityFooterSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.ActivityFooterSRL, 3, 3, 3);
|
||||||
CallButtonSig = ActivityFooterSrl.BoolInputSig(1, 1);
|
CallButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
||||||
ShareButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
ShareButtonSig = ActivityFooterSrl.BoolInputSig(1, 1);
|
||||||
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(3, 1);
|
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(3, 1);
|
||||||
|
|
||||||
SetupActivityFooterWhenRoomOff();
|
SetupActivityFooterWhenRoomOff();
|
||||||
@@ -425,13 +425,13 @@ namespace PepperDash.Essentials
|
|||||||
void SetupActivityFooterWhenRoomOff()
|
void SetupActivityFooterWhenRoomOff()
|
||||||
{
|
{
|
||||||
ActivityFooterSrl.Clear();
|
ActivityFooterSrl.Clear();
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 1,
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0,
|
||||||
b => { if (!b) ActivityCallButtonPressed(); }));
|
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 0,
|
|
||||||
b => { if (!b) ActivityShareButtonPressed(); }));
|
b => { if (!b) ActivityShareButtonPressed(); }));
|
||||||
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 3,
|
||||||
|
b => { if (!b) ActivityCallButtonPressed(); }));
|
||||||
ActivityFooterSrl.Count = 2;
|
ActivityFooterSrl.Count = 2;
|
||||||
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 5); // right one slot
|
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 1); // right one slot
|
||||||
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 1); // left one slot
|
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 5); // left one slot
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -440,15 +440,15 @@ namespace PepperDash.Essentials
|
|||||||
void SetupActivityFooterWhenRoomOn()
|
void SetupActivityFooterWhenRoomOn()
|
||||||
{
|
{
|
||||||
ActivityFooterSrl.Clear();
|
ActivityFooterSrl.Clear();
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 1,
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0,
|
||||||
b => { if (!b) ActivityCallButtonPressed(); }));
|
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 0,
|
|
||||||
b => { if (!b) ActivityShareButtonPressed(); }));
|
b => { if (!b) ActivityShareButtonPressed(); }));
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl,
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 3,
|
||||||
3, b => { if (!b) PowerButtonPressed(); }));
|
b => { if (!b) ActivityCallButtonPressed(); }));
|
||||||
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl, 4,
|
||||||
|
b => { if (!b) PowerButtonPressed(); }));
|
||||||
ActivityFooterSrl.Count = 3;
|
ActivityFooterSrl.Count = 3;
|
||||||
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 0); // center
|
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 2); // center
|
||||||
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 2); // left -2
|
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 0); // left -2
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -85,6 +85,12 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
|
|
||||||
codec.CallStatusChange += new EventHandler<CodecCallStatusItemChangeEventArgs>(Codec_CallStatusChange);
|
codec.CallStatusChange += new EventHandler<CodecCallStatusItemChangeEventArgs>(Codec_CallStatusChange);
|
||||||
|
|
||||||
|
// If the codec is ready, then get the values we want, otherwise wait
|
||||||
|
if (Codec.IsReady)
|
||||||
|
Codec_IsReady();
|
||||||
|
else
|
||||||
|
codec.IsReadyChange += (o, a) => Codec_IsReady();
|
||||||
|
|
||||||
InCall = new BoolFeedback(() => false);
|
InCall = new BoolFeedback(() => false);
|
||||||
LocalPrivacyIsMuted = new BoolFeedback(() => false);
|
LocalPrivacyIsMuted = new BoolFeedback(() => false);
|
||||||
|
|
||||||
@@ -113,6 +119,19 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
.LinkInputSig(TriList.BooleanInput[UIBoolJoin.VCKeypadBackspaceVisible]);
|
.LinkInputSig(TriList.BooleanInput[UIBoolJoin.VCKeypadBackspaceVisible]);
|
||||||
|
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.VCKeypadTextPress, RevealKeyboard);
|
TriList.SetSigFalseAction(UIBoolJoin.VCKeypadTextPress, RevealKeyboard);
|
||||||
|
|
||||||
|
// Address and number
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
void Codec_IsReady()
|
||||||
|
{
|
||||||
|
TriList.SetString(UIStringJoin.RoomPhoneText, Codec.CodecInfo.PhoneNumber);
|
||||||
|
TriList.SetString(UIStringJoin.RoomSipText, Codec.CodecInfo.SipUri);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user