feat(essentials): Updates to UI to deal with sharing feedback with no external sources. Adds End/Leave meeting button logic on meeting info subpage

This commit is contained in:
Neil Dorin
2021-08-31 16:40:04 -06:00
parent a54cd9e1df
commit adec25104c
5 changed files with 56 additions and 8 deletions

View File

@@ -61,6 +61,7 @@ namespace PepperDash.Essentials
// Audio Conference
/// <summary>
/// 1101
@@ -766,10 +767,10 @@ namespace PepperDash.Essentials
/// 15044 Close button for source modal overlay
/// </summary>
public const uint SourceBackgroundOverlayClosePress = 15044;
///// <summary>
///// 15045 - Visibility for the bar containing call navigation button list
///// </summary>
//public const uint CallStagingBarVisible = 15045;
/// <summary>
/// 15045
/// </summary>
public const uint ZoomRoomContentSharingVisible = 15045;
/// <summary>
/// 15046
/// </summary>

View File

@@ -42,7 +42,12 @@ namespace PepperDash.Essentials
/// <summary>
/// 1008
/// </summary>
public const uint MeetingNameText = 1008;
public const uint MeetingLeaveText = 1008;
/// <summary>
/// 1009
/// </summary>
public const uint MeetingNameText = 1009;

View File

@@ -181,6 +181,8 @@ namespace PepperDash.Essentials
private UiDisplayMode _currentMode;
private uint _sourceListCount;
/// <summary>
/// The mode showing. Presentation or call.
/// </summary>
@@ -647,9 +649,24 @@ namespace PepperDash.Essentials
TriList.SetBool(StartPageVisibleJoin, startMode ? true : false);
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, presentationMode ? true : false);
if (presentationMode && CurrentRoom.VideoCodec is IHasMeetingInfo && _sourceListCount < 2)
{
// For now, if this is a Zoom Room and there are no shareable sources just display the informational subpage
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, false);
TriList.SetBool(UIBoolJoin.ZoomRoomContentSharingVisible, true);
}
else
{
// Otherwise, show the staging bar
TriList.SetBool(UIBoolJoin.ZoomRoomContentSharingVisible, false);
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, presentationMode ? true : false);
}
if (!presentationMode)
{
TriList.SetBool(UIBoolJoin.ZoomRoomContentSharingVisible, false);
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
}
CallButtonSig.BoolValue = callMode
&& CurrentRoom.ShutdownType == eShutdownType.None;
@@ -1049,6 +1066,8 @@ namespace PepperDash.Essentials
TriList.SetBool(UIBoolJoin.MeetingPasswordVisible, string.IsNullOrEmpty(e.Info.Password) ? false : true);
TriList.SetString(UIStringJoin.CallSharedSourceNameText, e.Info.ShareStatus);
TriList.SetString(UIStringJoin.MeetingLeaveText, e.Info.IsHost ? "End Meeting" : "Leave Meeting");
}
void SetCurrentRoom(IEssentialsHuddleVtc1Room room)
@@ -1164,7 +1183,8 @@ namespace PepperDash.Essentials
Debug.Console(1, "**** KEY {0}", kvp.Key);
}
SourceStagingSrl.Count = (ushort)(i - 1);
_sourceListCount = (i - 1);
SourceStagingSrl.Count = (ushort)_sourceListCount;
}
}

View File

@@ -534,6 +534,28 @@ namespace PepperDash.Essentials.UIDrivers.VC
Parent.PopupInterlock.HideAndClear();
Codec.EndAllCalls();
});
var meetingInfoCodec = Codec as IHasMeetingInfo;
if (meetingInfoCodec != null)
{
TriList.SetSigFalseAction(UIBoolJoin.MeetingLeavePress, () =>
{
Parent.PopupInterlock.HideAndClear();
if (meetingInfoCodec.MeetingInfo.IsHost)
{
Codec.EndAllCalls();
}
else
{
var startMeetingCodec = Codec as IHasStartMeeting;
if (startMeetingCodec != null)
{
startMeetingCodec.LeaveMeeting();
}
}
});
}
}
void SetupCameraControls()

View File

@@ -44,7 +44,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
Host = host;
Password = password;
ShareStatus = shareStatus;
IsHost = IsHost;
IsHost = isHost;
}
}