diff --git a/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs b/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
index 1a127000..d5a5985c 100644
--- a/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
+++ b/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
@@ -57,7 +57,10 @@ namespace PepperDash.Essentials
/// 1008
///
public const uint MeetingLeavePress = 1008;
-
+ ///
+ /// 1009
+ ///
+ public const uint RecordingConsentVisible = 1009;
@@ -987,5 +990,16 @@ namespace PepperDash.Essentials
/// 15307
///
public const uint PasswordPromptErrorVisible = 15307;
+
+ // Meeting Recording Consent Dialog
+
+ ///
+ /// 15311
+ ///
+ public const uint MeetingRecodingConsentAgree = 15311;
+ ///
+ /// 15312
+ ///
+ public const uint MeetingRecodingConsentDisgree = 15312;
}
}
\ No newline at end of file
diff --git a/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
index 40671238..092e1cb6 100644
--- a/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
+++ b/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
@@ -215,10 +215,11 @@ namespace PepperDash.Essentials.UIDrivers.VC
StartSearchBackspaceRepeat, StopSearchBackspaceRepeat, SearchKeypadBackspacePress);
- if (Codec is IPasswordPrompt)
- {
- SetupPasswordPrompt();
- }
+
+ SetupPasswordPrompt();
+
+
+ SetupMeetingRecordingConsentPrompt();
// If the codec is ready, then get the values we want, otherwise wait
@@ -1944,12 +1945,31 @@ namespace PepperDash.Essentials.UIDrivers.VC
{
var passwordPromptCodec = Codec as IPasswordPrompt;
+ if (passwordPromptCodec == null) return;
+
passwordPromptCodec.PasswordRequired += new EventHandler(passwordPromptCodec_PasswordRequired);
TriList.SetSigFalseAction(UIBoolJoin.PasswordPromptCancelPress, HidePasswordPrompt);
TriList.SetSigFalseAction(UIBoolJoin.PasswordPromptTextPress, RevealKeyboard);
}
+ void SetupMeetingRecordingConsentPrompt()
+ {
+ var recordingCodec = Codec as IHasMeetingRecordingWithPrompt;
+
+ if (recordingCodec == null) return;
+
+ recordingCodec.RecordConsentPromptIsVisible.OutputChange += new EventHandler(RecordConsentPromptIsVisible_OutputChange);
+
+ TriList.SetSigFalseAction(UIBoolJoin.MeetingRecodingConsentAgree, () => recordingCodec.RecordingPromptAcknowledgement(true));
+ TriList.SetSigFalseAction(UIBoolJoin.MeetingRecodingConsentDisgree, () => recordingCodec.RecordingPromptAcknowledgement(false));
+ }
+
+ void RecordConsentPromptIsVisible_OutputChange(object sender, FeedbackEventArgs e)
+ {
+ TriList.SetBool(UIBoolJoin.RecordingConsentVisible, e.BoolValue);
+ }
+
void passwordPromptCodec_PasswordRequired(object sender, PasswordPromptEventArgs e)
{
if (e.LoginAttemptCancelled)