mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 05:05:00 +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>
|
||||
void SyncState_InitialSyncCompleted(object sender, EventArgs e)
|
||||
{
|
||||
// Fire the ready event
|
||||
SetIsReady();
|
||||
//CommDebuggingIsOn = false;
|
||||
|
||||
GetCallHistory();
|
||||
|
||||
@@ -24,6 +24,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
||||
public MockVC(string key, string name)
|
||||
: base(key, name)
|
||||
{
|
||||
CodecInfo = new MockCodecInfo();
|
||||
|
||||
// Debug helpers
|
||||
IncomingCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "IncomingCall={0}", _IncomingCall);
|
||||
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(HdmiIn2);
|
||||
OutputPorts.Add(HdmiOut);
|
||||
|
||||
SetIsReady();
|
||||
}
|
||||
|
||||
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>
|
||||
public event EventHandler<CodecCallStatusItemChangeEventArgs> CallStatusChange;
|
||||
|
||||
public event EventHandler<EventArgs> IsReadyChange;
|
||||
|
||||
#region IUsageTracking Members
|
||||
|
||||
/// <summary>
|
||||
@@ -49,6 +51,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
||||
|
||||
public VideoCodecInfo CodecInfo { get; protected set; }
|
||||
|
||||
public bool IsReady { get; protected set; }
|
||||
|
||||
public VideoCodecBase(string key, string name)
|
||||
: base(key, name)
|
||||
{
|
||||
@@ -113,6 +117,17 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
||||
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
|
||||
|
||||
public abstract void PrivacyModeOn();
|
||||
|
||||
@@ -40,47 +40,46 @@ namespace PepperDash.Essentials
|
||||
|
||||
|
||||
// Audio Conference
|
||||
#warning Move these to 1100's
|
||||
/// <summary>
|
||||
/// 1001
|
||||
/// 1101
|
||||
/// </summary>
|
||||
public const uint ACKeypadVisible = 1001;
|
||||
public const uint ACKeypadVisible = 1101;
|
||||
/// <summary>
|
||||
/// 1002
|
||||
/// 1102
|
||||
/// </summary>
|
||||
public const uint ACStagingPopoverVisible = 1002;
|
||||
public const uint ACStagingPopoverVisible = 1102;
|
||||
/// <summary>
|
||||
/// 1011
|
||||
/// 1111
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial1Press = 1011;
|
||||
public const uint ACSpeedDial1Press = 1111;
|
||||
/// <summary>
|
||||
/// 1012
|
||||
/// 1112
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial2Press = 1012;
|
||||
public const uint ACSpeedDial2Press = 1112;
|
||||
/// <summary>
|
||||
/// 1013
|
||||
/// 1113
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial3Press = 1013;
|
||||
public const uint ACSpeedDial3Press = 1113;
|
||||
/// <summary>
|
||||
/// 1014
|
||||
/// 1114
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial4Press = 1014;
|
||||
public const uint ACSpeedDial4Press = 1114;
|
||||
/// <summary>
|
||||
/// 1021
|
||||
/// 1121
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial1Visible = 1021;
|
||||
public const uint ACSpeedDial1Visible = 1121;
|
||||
/// <summary>
|
||||
/// 1022
|
||||
/// 1122
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial2Visible = 1022;
|
||||
public const uint ACSpeedDial2Visible = 1122;
|
||||
/// <summary>
|
||||
/// 1023
|
||||
/// 1123
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial3Visible = 1023;
|
||||
public const uint ACSpeedDial3Visible = 1123;
|
||||
/// <summary>
|
||||
/// 1024
|
||||
/// 1124
|
||||
/// </summary>
|
||||
public const uint ACSpeedDial4Visible = 1024;
|
||||
public const uint ACSpeedDial4Visible = 1124;
|
||||
|
||||
//******************************************************
|
||||
// Video Conference
|
||||
|
||||
@@ -232,7 +232,6 @@ namespace PepperDash.Essentials
|
||||
TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () =>
|
||||
ShowInterlockedModal(UIBoolJoin.RoomHeaderPageVisible));
|
||||
|
||||
#warning Add press and hold to gear button here
|
||||
TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () =>
|
||||
ShowInterlockedModal(UIBoolJoin.VolumesPageVisible));
|
||||
|
||||
|
||||
@@ -178,8 +178,8 @@ namespace PepperDash.Essentials
|
||||
SourceStagingSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.SourceStagingSRL, 3, 3, 3);
|
||||
|
||||
ActivityFooterSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.ActivityFooterSRL, 3, 3, 3);
|
||||
CallButtonSig = ActivityFooterSrl.BoolInputSig(1, 1);
|
||||
ShareButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
||||
CallButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
||||
ShareButtonSig = ActivityFooterSrl.BoolInputSig(1, 1);
|
||||
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(3, 1);
|
||||
|
||||
SetupActivityFooterWhenRoomOff();
|
||||
@@ -425,13 +425,13 @@ namespace PepperDash.Essentials
|
||||
void SetupActivityFooterWhenRoomOff()
|
||||
{
|
||||
ActivityFooterSrl.Clear();
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 1,
|
||||
b => { if (!b) ActivityCallButtonPressed(); }));
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 0,
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0,
|
||||
b => { if (!b) ActivityShareButtonPressed(); }));
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 3,
|
||||
b => { if (!b) ActivityCallButtonPressed(); }));
|
||||
ActivityFooterSrl.Count = 2;
|
||||
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 5); // right one slot
|
||||
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 1); // left one slot
|
||||
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 1); // right one slot
|
||||
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 5); // left one slot
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -440,15 +440,15 @@ namespace PepperDash.Essentials
|
||||
void SetupActivityFooterWhenRoomOn()
|
||||
{
|
||||
ActivityFooterSrl.Clear();
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 1,
|
||||
b => { if (!b) ActivityCallButtonPressed(); }));
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 0,
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0,
|
||||
b => { if (!b) ActivityShareButtonPressed(); }));
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl,
|
||||
3, b => { if (!b) PowerButtonPressed(); }));
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 3,
|
||||
b => { if (!b) ActivityCallButtonPressed(); }));
|
||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl, 4,
|
||||
b => { if (!b) PowerButtonPressed(); }));
|
||||
ActivityFooterSrl.Count = 3;
|
||||
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 0); // center
|
||||
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 2); // left -2
|
||||
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 2); // center
|
||||
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 0); // left -2
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -85,6 +85,12 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
||||
|
||||
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);
|
||||
LocalPrivacyIsMuted = new BoolFeedback(() => false);
|
||||
|
||||
@@ -113,6 +119,19 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
||||
.LinkInputSig(TriList.BooleanInput[UIBoolJoin.VCKeypadBackspaceVisible]);
|
||||
|
||||
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>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user