mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 13:15:03 +00:00
ecs-600; ecs-601; ecs-573
This commit is contained in:
@@ -261,8 +261,8 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
protected override void EndShutdown()
|
protected override void EndShutdown()
|
||||||
{
|
{
|
||||||
RunRouteAction("roomOff");
|
|
||||||
VideoCodec.EndAllCalls();
|
VideoCodec.EndAllCalls();
|
||||||
|
RunRouteAction("roomOff");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
var tsw = Panel as TswFt5ButtonSystem;
|
var tsw = Panel as TswFt5ButtonSystem;
|
||||||
// Wire up hard keys
|
// Wire up hard keys
|
||||||
tsw.Power.UserObject = new Action<bool>(b => { if (!b) avDriver.PowerButtonPressed(); });
|
tsw.Power.UserObject = new Action<bool>(b => { if (!b) avDriver.EndMeetingPress(); });
|
||||||
//tsw.Home.UserObject = new Action<bool>(b => { if (!b) HomePressed(); });
|
//tsw.Home.UserObject = new Action<bool>(b => { if (!b) HomePressed(); });
|
||||||
tsw.Up.UserObject = new Action<bool>(avDriver.VolumeUpPress);
|
tsw.Up.UserObject = new Action<bool>(avDriver.VolumeUpPress);
|
||||||
tsw.Down.UserObject = new Action<bool>(avDriver.VolumeDownPress);
|
tsw.Down.UserObject = new Action<bool>(avDriver.VolumeDownPress);
|
||||||
|
|||||||
@@ -557,11 +557,11 @@ namespace PepperDash.Essentials
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 15048 Dismisses the ribbon
|
/// 15048 Dismisses the ribbon
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint NextMeetingRibbonClosePress = 15048;
|
public const uint NextMeetingModalClosePress = 15048;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 15049
|
/// 15049
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint NextMeetingRibbonVisible = 15049;
|
public const uint NextMeetingModalVisible = 15049;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 15051
|
/// 15051
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -296,7 +296,7 @@ namespace PepperDash.Essentials
|
|||||||
// 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.DisplayPowerTogglePress, () =>
|
TriList.SetSigFalseAction(UIBoolJoin.DisplayPowerTogglePress, () =>
|
||||||
{
|
{
|
||||||
@@ -453,8 +453,8 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void ShowNextMeetingPopup()
|
void ShowNextMeetingPopup()
|
||||||
{
|
{
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.NextMeetingRibbonClosePress, HideNextMeetingPopup);
|
TriList.SetSigFalseAction(UIBoolJoin.NextMeetingModalClosePress, HideNextMeetingPopup);
|
||||||
TriList.SetBool(UIBoolJoin.NextMeetingRibbonVisible, true);
|
TriList.SetBool(UIBoolJoin.NextMeetingModalVisible, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -462,7 +462,7 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void HideNextMeetingPopup()
|
void HideNextMeetingPopup()
|
||||||
{
|
{
|
||||||
TriList.SetBool(UIBoolJoin.NextMeetingRibbonVisible, false);
|
TriList.SetBool(UIBoolJoin.NextMeetingModalVisible, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -541,7 +541,7 @@ namespace PepperDash.Essentials
|
|||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 3,
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 3,
|
||||||
b => { if (!b) ActivityCallButtonPressed(); }));
|
b => { if (!b) ActivityCallButtonPressed(); }));
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl, 4,
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl, 4,
|
||||||
b => { if (!b) PowerButtonPressed(); }));
|
b => { if (!b) EndMeetingPress(); }));
|
||||||
ActivityFooterSrl.Count = 3;
|
ActivityFooterSrl.Count = 3;
|
||||||
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 2); // center
|
TriList.SetUshort(UIUshortJoin.PresentationStagingCaretMode, 2); // center
|
||||||
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 0); // left -2
|
TriList.SetUshort(UIUshortJoin.CallStagingCaretMode, 0); // left -2
|
||||||
@@ -562,20 +562,18 @@ namespace PepperDash.Essentials
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
void ActivityCallButtonPressed()
|
public void ActivityCallButtonPressed()
|
||||||
{
|
{
|
||||||
if (VCDriver.IsVisible)
|
if (VCDriver.IsVisible)
|
||||||
return;
|
return;
|
||||||
HideLogo();
|
HideLogo();
|
||||||
|
HideNextMeetingPopup();
|
||||||
TriList.SetBool(UIBoolJoin.StartPageVisible, false);
|
TriList.SetBool(UIBoolJoin.StartPageVisible, false);
|
||||||
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, false);
|
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, false);
|
||||||
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
|
||||||
if (CurrentSourcePageManager != null)
|
if (CurrentSourcePageManager != null)
|
||||||
CurrentSourcePageManager.Hide();
|
CurrentSourcePageManager.Hide();
|
||||||
if (!CurrentRoom.OnFeedback.BoolValue)
|
PowerOnFromCall();
|
||||||
{
|
|
||||||
CurrentRoom.RunDefaultCallRoute();
|
|
||||||
}
|
|
||||||
CurrentMode = UiDisplayMode.Call;
|
CurrentMode = UiDisplayMode.Call;
|
||||||
SetActivityFooterFeedbacks();
|
SetActivityFooterFeedbacks();
|
||||||
VCDriver.Show();
|
VCDriver.Show();
|
||||||
@@ -588,6 +586,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
if (VCDriver.IsVisible)
|
if (VCDriver.IsVisible)
|
||||||
VCDriver.Hide();
|
VCDriver.Hide();
|
||||||
|
HideNextMeetingPopup();
|
||||||
TriList.SetBool(UIBoolJoin.StartPageVisible, false);
|
TriList.SetBool(UIBoolJoin.StartPageVisible, false);
|
||||||
TriList.SetBool(UIBoolJoin.CallStagingBarVisible, false);
|
TriList.SetBool(UIBoolJoin.CallStagingBarVisible, false);
|
||||||
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, true);
|
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, true);
|
||||||
@@ -609,6 +608,17 @@ namespace PepperDash.Essentials
|
|||||||
SetActivityFooterFeedbacks();
|
SetActivityFooterFeedbacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Powers up the system to the codec route, if not already on.
|
||||||
|
/// </summary>
|
||||||
|
void PowerOnFromCall()
|
||||||
|
{
|
||||||
|
if (!CurrentRoom.OnFeedback.BoolValue)
|
||||||
|
{
|
||||||
|
CurrentRoom.RunDefaultCallRoute();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows all sigs that are in CurrentDisplayModeSigsInUse
|
/// Shows all sigs that are in CurrentDisplayModeSigsInUse
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -679,7 +689,7 @@ namespace PepperDash.Essentials
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void PowerButtonPressed()
|
public void EndMeetingPress()
|
||||||
{
|
{
|
||||||
if (!CurrentRoom.OnFeedback.BoolValue
|
if (!CurrentRoom.OnFeedback.BoolValue
|
||||||
|| CurrentRoom.ShutdownPromptTimer.IsRunningFeedback.BoolValue)
|
|| CurrentRoom.ShutdownPromptTimer.IsRunningFeedback.BoolValue)
|
||||||
@@ -688,6 +698,16 @@ namespace PepperDash.Essentials
|
|||||||
CurrentRoom.StartShutdown(eShutdownType.Manual);
|
CurrentRoom.StartShutdown(eShutdownType.Manual);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Puts away modals and things that might be up when call comes in
|
||||||
|
/// </summary>
|
||||||
|
public void PrepareForCodecIncomingCall()
|
||||||
|
{
|
||||||
|
if (PowerDownModal != null && PowerDownModal.ModalIsVisible)
|
||||||
|
PowerDownModal.CancelDialog();
|
||||||
|
PopupInterlock.Hide();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -842,7 +862,8 @@ namespace PepperDash.Essentials
|
|||||||
var config = ConfigReader.ConfigObject.SourceLists;
|
var config = ConfigReader.ConfigObject.SourceLists;
|
||||||
if (config.ContainsKey(_CurrentRoom.SourceListKey))
|
if (config.ContainsKey(_CurrentRoom.SourceListKey))
|
||||||
{
|
{
|
||||||
var srcList = config[_CurrentRoom.SourceListKey];
|
var srcList = config[_CurrentRoom.SourceListKey].OrderBy(kv => kv.Value.Order);
|
||||||
|
|
||||||
// Setup sources list
|
// Setup sources list
|
||||||
uint i = 1; // counter for UI list
|
uint i = 1; // counter for UI list
|
||||||
foreach (var kvp in srcList)
|
foreach (var kvp in srcList)
|
||||||
@@ -851,13 +872,6 @@ namespace PepperDash.Essentials
|
|||||||
if (!srcConfig.IncludeInSourceList) // Skip sources marked this way
|
if (!srcConfig.IncludeInSourceList) // Skip sources marked this way
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//var actualSource = DeviceManager.GetDeviceForKey(srcConfig.SourceKey) as Device;
|
|
||||||
//if (actualSource == null)
|
|
||||||
//{
|
|
||||||
// Debug.Console(1, "Cannot assign missing source '{0}' to source UI list",
|
|
||||||
// srcConfig.SourceKey);
|
|
||||||
// continue;
|
|
||||||
//}
|
|
||||||
var routeKey = kvp.Key;
|
var routeKey = kvp.Key;
|
||||||
var item = new SubpageReferenceListSourceItem(i++, SourceStagingSrl, srcConfig,
|
var item = new SubpageReferenceListSourceItem(i++, SourceStagingSrl, srcConfig,
|
||||||
b => { if (!b) UiSelectSource(routeKey); });
|
b => { if (!b) UiSelectSource(routeKey); });
|
||||||
@@ -1091,12 +1105,12 @@ namespace PepperDash.Essentials
|
|||||||
var value = _CurrentRoom.OnFeedback.BoolValue;
|
var value = _CurrentRoom.OnFeedback.BoolValue;
|
||||||
TriList.BooleanInput[UIBoolJoin.RoomIsOn].BoolValue = value;
|
TriList.BooleanInput[UIBoolJoin.RoomIsOn].BoolValue = value;
|
||||||
|
|
||||||
|
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = !value;
|
||||||
|
|
||||||
if (value) //ON
|
if (value) //ON
|
||||||
{
|
{
|
||||||
SetupActivityFooterWhenRoomOn();
|
SetupActivityFooterWhenRoomOn();
|
||||||
TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
|
||||||
//TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue = true;
|
|
||||||
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
|
|
||||||
TriList.BooleanInput[UIBoolJoin.VolumeDualMute1Visible].BoolValue = true;
|
TriList.BooleanInput[UIBoolJoin.VolumeDualMute1Visible].BoolValue = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1108,7 +1122,6 @@ namespace PepperDash.Essentials
|
|||||||
SetupActivityFooterWhenRoomOff();
|
SetupActivityFooterWhenRoomOff();
|
||||||
ShowLogo();
|
ShowLogo();
|
||||||
SetActivityFooterFeedbacks();
|
SetActivityFooterFeedbacks();
|
||||||
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
|
|
||||||
TriList.BooleanInput[UIBoolJoin.VolumeDualMute1Visible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.VolumeDualMute1Visible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue = false;
|
||||||
}
|
}
|
||||||
@@ -1338,5 +1351,13 @@ namespace PepperDash.Essentials
|
|||||||
void HideNotificationRibbon();
|
void HideNotificationRibbon();
|
||||||
void ComputeHeaderCallStatus(VideoCodecBase codec);
|
void ComputeHeaderCallStatus(VideoCodecBase codec);
|
||||||
SubpageReferenceList MeetingOrContactMethodModalSrl { get; }
|
SubpageReferenceList MeetingOrContactMethodModalSrl { get; }
|
||||||
|
/// <summary>
|
||||||
|
/// Exposes the ability to switch into call mode
|
||||||
|
/// </summary>
|
||||||
|
void ActivityCallButtonPressed();
|
||||||
|
/// <summary>
|
||||||
|
/// Allows the codec to trigger the main UI to clear up if call is coming in.
|
||||||
|
/// </summary>
|
||||||
|
void PrepareForCodecIncomingCall();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,10 +189,6 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
CallSharingInfoTextFeedback.LinkInputSig(triList.StringInput[UIStringJoin.CallSharedSourceNameText]);
|
CallSharingInfoTextFeedback.LinkInputSig(triList.StringInput[UIStringJoin.CallSharedSourceNameText]);
|
||||||
|
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.CallStopSharingPress, Codec.StopSharing);
|
TriList.SetSigFalseAction(UIBoolJoin.CallStopSharingPress, Codec.StopSharing);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Address and number
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -260,7 +256,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
DialStringTextCheckEnables();
|
DialStringTextCheckEnables();
|
||||||
Parent.ShowNotificationRibbon("Connected", 2000);
|
Parent.ShowNotificationRibbon("Connected", 2000);
|
||||||
StagingButtonsFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingKeypadPress);
|
StagingButtonsFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingKeypadPress);
|
||||||
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadVisible);
|
ShowKeypad();
|
||||||
|
//VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadVisible);
|
||||||
break;
|
break;
|
||||||
case eCodecCallStatus.Connecting:
|
case eCodecCallStatus.Connecting:
|
||||||
// fire at SRL item
|
// fire at SRL item
|
||||||
@@ -273,6 +270,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
if (!Codec.IsInCall)
|
if (!Codec.IsInCall)
|
||||||
{
|
{
|
||||||
KeypadMode = eKeypadMode.Dial;
|
KeypadMode = eKeypadMode.Dial;
|
||||||
|
// show keypad if we're in call UI mode
|
||||||
ShowKeypad();
|
ShowKeypad();
|
||||||
DialStringBuilder.Remove(0, DialStringBuilder.Length);
|
DialStringBuilder.Remove(0, DialStringBuilder.Length);
|
||||||
DialStringFeedback.FireUpdate();
|
DialStringFeedback.FireUpdate();
|
||||||
@@ -302,15 +300,21 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
TriList.UShortInput[UIUshortJoin.VCStagingConnectButtonMode].UShortValue = (ushort)(Codec.IsInCall ? 1 : 0);
|
TriList.UShortInput[UIUshortJoin.VCStagingConnectButtonMode].UShortValue = (ushort)(Codec.IsInCall ? 1 : 0);
|
||||||
StagingBarsInterlock.ShowInterlocked(Codec.IsInCall ?
|
|
||||||
UIBoolJoin.VCStagingActivePopoverVisible : UIBoolJoin.VCStagingInactivePopoverVisible);
|
|
||||||
|
|
||||||
|
uint stageJoin;
|
||||||
|
if (Codec.IsInCall)
|
||||||
|
stageJoin = UIBoolJoin.VCStagingActivePopoverVisible;
|
||||||
|
else
|
||||||
|
stageJoin = UIBoolJoin.VCStagingInactivePopoverVisible;
|
||||||
|
if (IsVisible)
|
||||||
|
StagingBarsInterlock.ShowInterlocked(stageJoin);
|
||||||
|
else
|
||||||
|
StagingBarsInterlock.SetButDontShow(stageJoin);
|
||||||
|
|
||||||
Parent.ComputeHeaderCallStatus(Codec);
|
Parent.ComputeHeaderCallStatus(Codec);
|
||||||
|
|
||||||
// Update active call list
|
// Update active call list
|
||||||
UpdateHeaderActiveCallList();
|
UpdateHeaderActiveCallList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -344,6 +348,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void ShowIncomingModal(CodecActiveCallItem call)
|
void ShowIncomingModal(CodecActiveCallItem call)
|
||||||
{
|
{
|
||||||
|
Parent.PrepareForCodecIncomingCall();
|
||||||
IncomingCallModal = new ModalDialog(TriList);
|
IncomingCallModal = new ModalDialog(TriList);
|
||||||
string msg;
|
string msg;
|
||||||
string icon;
|
string icon;
|
||||||
@@ -363,11 +368,20 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
if (b == 1)
|
if (b == 1)
|
||||||
Codec.RejectCall(call);
|
Codec.RejectCall(call);
|
||||||
else //2
|
else //2
|
||||||
Codec.AcceptCall(call);
|
AcceptIncomingCall(call);
|
||||||
IncomingCallModal = null;
|
IncomingCallModal = null;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
void AcceptIncomingCall(CodecActiveCallItem call)
|
||||||
|
{
|
||||||
|
Parent.ActivityCallButtonPressed();
|
||||||
|
Codec.AcceptCall(call);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -884,14 +898,15 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// shows the appropriate keypad depending on mode
|
/// shows the appropriate keypad depending on mode and whether visible
|
||||||
/// </summary>
|
/// </summary>
|
||||||
void ShowKeypad()
|
void ShowKeypad()
|
||||||
{
|
{
|
||||||
if(CodecHasFavorites)
|
uint join = CodecHasFavorites ? UIBoolJoin.VCKeypadWithFavoritesVisible : UIBoolJoin.VCKeypadVisible;
|
||||||
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadWithFavoritesVisible);
|
if (IsVisible)
|
||||||
|
VCControlsInterlock.ShowInterlocked(join);
|
||||||
else
|
else
|
||||||
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadVisible);
|
VCControlsInterlock.SetButDontShow(join);
|
||||||
StagingButtonsFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingKeypadPress);
|
StagingButtonsFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingKeypadPress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user