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

View File

@@ -42,7 +42,12 @@ namespace PepperDash.Essentials
/// <summary> /// <summary>
/// 1008 /// 1008
/// </summary> /// </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 UiDisplayMode _currentMode;
private uint _sourceListCount;
/// <summary> /// <summary>
/// The mode showing. Presentation or call. /// The mode showing. Presentation or call.
/// </summary> /// </summary>
@@ -647,9 +649,24 @@ namespace PepperDash.Essentials
TriList.SetBool(StartPageVisibleJoin, startMode ? true : false); 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) if (!presentationMode)
{
TriList.SetBool(UIBoolJoin.ZoomRoomContentSharingVisible, false);
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false); TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
}
CallButtonSig.BoolValue = callMode CallButtonSig.BoolValue = callMode
&& CurrentRoom.ShutdownType == eShutdownType.None; && CurrentRoom.ShutdownType == eShutdownType.None;
@@ -1049,6 +1066,8 @@ namespace PepperDash.Essentials
TriList.SetBool(UIBoolJoin.MeetingPasswordVisible, string.IsNullOrEmpty(e.Info.Password) ? false : true); TriList.SetBool(UIBoolJoin.MeetingPasswordVisible, string.IsNullOrEmpty(e.Info.Password) ? false : true);
TriList.SetString(UIStringJoin.CallSharedSourceNameText, e.Info.ShareStatus); TriList.SetString(UIStringJoin.CallSharedSourceNameText, e.Info.ShareStatus);
TriList.SetString(UIStringJoin.MeetingLeaveText, e.Info.IsHost ? "End Meeting" : "Leave Meeting");
} }
void SetCurrentRoom(IEssentialsHuddleVtc1Room room) void SetCurrentRoom(IEssentialsHuddleVtc1Room room)
@@ -1164,7 +1183,8 @@ namespace PepperDash.Essentials
Debug.Console(1, "**** KEY {0}", kvp.Key); 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(); Parent.PopupInterlock.HideAndClear();
Codec.EndAllCalls(); 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() void SetupCameraControls()

View File

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