Fixed end all not working - many hours chasing error

This commit is contained in:
Heath Volmer
2017-09-22 13:20:50 -06:00
parent f498d55dd6
commit 1c63e506b8
8 changed files with 124 additions and 51 deletions

View File

@@ -16,7 +16,7 @@ namespace PepperDash.Essentials
/// <summary>
///
/// </summary>
public class EssentialsHuddleVtc1PanelAvFunctionsDriver : PanelDriverBase, IHasPopupInterlock
public class EssentialsHuddleVtc1PanelAvFunctionsDriver : PanelDriverBase, IAVDriver
{
CrestronTouchpanelPropertiesConfig Config;
@@ -130,6 +130,8 @@ namespace PepperDash.Essentials
PepperDash.Essentials.UIDrivers.VC.EssentialsVideoCodecUiDriver VCDriver;
public PepperDash.Essentials.Core.Touchpanels.Keyboards.HabaneroKeyboardController Keyboard { get; private set; }
/// <summary>
/// Constructor
/// </summary>
@@ -152,9 +154,7 @@ namespace PepperDash.Essentials
SetupActivityFooterWhenRoomOff();
ShowVolumeGauge = true;
//PowerOffTimeout = 30000;
//TriList.StringInput[UIStringJoin.StartActivityText].StringValue = "Tap an activity below";
Keyboard = new PepperDash.Essentials.Core.Touchpanels.Keyboards.HabaneroKeyboardController(TriList);
}
/// <summary>
@@ -306,34 +306,6 @@ namespace PepperDash.Essentials
base.Show();
}
///// <summary>
///// Puts the UI into the "start" mode. System is off. Logo shows. Activity SRL is clear
///// </summary>
//void ShowStartMode()
//{
// SetupActivityFooterWhenRoomOff();
// ShareButtonSig.BoolValue = false;
// CallButtonSig.BoolValue = false;
// ShowLogo();
// StagingBarInterlock.ShowInterlocked(UIBoolJoin.StartPageVisible);
// StagingBarInterlock.HideAndClear();
//}
//void ShowShareMode()
//{
// ShareButtonSig.BoolValue = true;
// CallButtonSig.BoolValue = false;
// StagingBarInterlock.ShowInterlocked(UIBoolJoin.SourceStagingBarVisible);
//}
//void ShowVideoCallMode()
//{
// ShareButtonSig.BoolValue = false;
// CallButtonSig.BoolValue = true;
// StagingBarInterlock.ShowInterlocked(UIBoolJoin.CallStagingBarVisible);
//}
/// <summary>
///
/// </summary>
@@ -978,8 +950,12 @@ namespace PepperDash.Essentials
}
}
public interface IHasPopupInterlock
/// <summary>
/// For hanging off various common things that child drivers might need from a parent AV driver
/// </summary>
public interface IAVDriver
{
PepperDash.Essentials.Core.Touchpanels.Keyboards.HabaneroKeyboardController Keyboard { get; }
JoinedSigInterlock PopupInterlock { get; }
}
}

View File

@@ -5,6 +5,9 @@ using System.Text;
using Crestron.SimplSharp;
using Crestron.SimplSharpPro.DeviceSupport;
using PepperDash.Core;
using PepperDash.Essentials.Core;
namespace PepperDash.Essentials
{
public class JoinedSigInterlock
@@ -26,7 +29,7 @@ namespace PepperDash.Essentials
if (CurrentJoin == join)
return;
SetButDontShow(join);
TriList.BooleanInput[CurrentJoin].BoolValue = true;
TriList.SetBool(CurrentJoin, true);
}
/// <summary>
@@ -74,7 +77,7 @@ namespace PepperDash.Essentials
}
/// <summary>
/// Useful for pre-setting the interlock but not enabling it.
/// Useful for pre-setting the interlock but not enabling it. Sets CurrentJoin
/// </summary>
/// <param name="join"></param>
public void SetButDontShow(uint join)

View File

@@ -24,7 +24,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
/// </summary>
public class EssentialsVideoCodecUiDriver : PanelDriverBase
{
IHasPopupInterlock Parent;
IAVDriver Parent;
/// <summary>
///
@@ -76,10 +76,11 @@ namespace PepperDash.Essentials.UIDrivers.VC
/// </summary>
/// <param name="triList"></param>
/// <param name="codec"></param>
public EssentialsVideoCodecUiDriver(BasicTriListWithSmartObject triList, IHasPopupInterlock parent, VideoCodecBase codec)
public EssentialsVideoCodecUiDriver(BasicTriListWithSmartObject triList, IAVDriver parent, VideoCodecBase codec)
: base(triList)
{
Codec = codec;
Parent = parent;
SetupCallStagingPopover();
SetupDialKeypad();
ActiveCallsSRL = new SubpageReferenceList(TriList, UISmartObjectJoin.CodecActiveCallsHeaderList, 3, 3, 3);
@@ -264,7 +265,10 @@ namespace PepperDash.Essentials.UIDrivers.VC
TriList.SetSigFalseAction(UIBoolJoin.CallEndPress, () =>
{
if (Codec.ActiveCalls.Count > 1)
{
Debug.Console(1, "#*#*#*# FUCK ME!!!!");
Parent.PopupInterlock.ShowInterlocked(UIBoolJoin.HeaderActiveCallsListVisible);
}
else
Codec.EndAllCalls();
});
@@ -320,6 +324,25 @@ namespace PepperDash.Essentials.UIDrivers.VC
// populate directory
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCDirectoryVisible);
StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingDirectoryPress);
TriList.SetSigFalseAction(UIBoolJoin.CodecDirectorySearchTextPress, () =>
{
var kb = Parent.Keyboard;
kb.OutputFeedback.OutputChange += new EventHandler<EventArgs>(DirectoryKeyboardChange);
kb.HideAction += () =>
{
kb.OutputFeedback.OutputChange -= DirectoryKeyboardChange;
};
});
}
/// <summary>
///
/// </summary>
void DirectoryKeyboardChange(object sender, EventArgs e)
{
}
void ShowRecents()