Moved Directory browsing logic from VideoCodecUiDriver down to IHasDirectory Interface to sync better with VideoCodecBaseMessenger for MC

This commit is contained in:
Neil Dorin
2019-03-06 16:33:00 -07:00
parent 24fb74701a
commit 84ee743ff5
4 changed files with 19 additions and 27 deletions

View File

@@ -317,10 +317,12 @@ namespace PepperDash.Essentials
CrestronConsole.ConsoleCommandResponse(@"Mobile Control Information: CrestronConsole.ConsoleCommandResponse(@"Mobile Control Information:
Server address: {0} Server address: {0}
System Name: {1} System Name: {1}
System UUID: {2} System URL: {2}
System User code: {3} System UUID: {3}
Connected?: {4} System User code: {4}
Seconds Since Last Ack: {5}", url, name, SystemUuid, Connected?: {5}
Seconds Since Last Ack: {6}"
, url, name, ConfigReader.ConfigObject.SystemUrl, SystemUuid,
code, conn, secSinceLastAck.Seconds); code, conn, secSinceLastAck.Seconds);
} }

View File

@@ -279,7 +279,7 @@ namespace PepperDash.Essentials
inAudioCall = AudioCodec.IsInCall; inAudioCall = AudioCodec.IsInCall;
if(VideoCodec != null) if(VideoCodec != null)
inVideoCall = AudioCodec.IsInCall; inVideoCall = VideoCodec.IsInCall;
if (inAudioCall || inVideoCall) if (inAudioCall || inVideoCall)
return true; return true;

View File

@@ -59,7 +59,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
SmartObjectDynamicList DirectoryList; SmartObjectDynamicList DirectoryList;
CodecDirectory CurrentDirectoryResult; //CodecDirectory CurrentDirectoryResult;
///// <summary> ///// <summary>
///// Tracks the directory browse history when browsing beyond the root directory ///// Tracks the directory browse history when browsing beyond the root directory
@@ -174,7 +174,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
triList.SetSigFalseAction(UIBoolJoin.VCDirectoryBackPress, GetDirectoryParentFolderContents); triList.SetSigFalseAction(UIBoolJoin.VCDirectoryBackPress, GetDirectoryParentFolderContents);
DirectoryBackButtonVisibleFeedback = new BoolFeedback(() => CurrentDirectoryResult != (codec as IHasDirectory).DirectoryRoot); DirectoryBackButtonVisibleFeedback = (codec as IHasDirectory).CurrentDirectoryResultIsNotDirectoryRoot;
DirectoryBackButtonVisibleFeedback DirectoryBackButtonVisibleFeedback
.LinkInputSig(triList.BooleanInput[UIBoolJoin.VCDirectoryBackVisible]); .LinkInputSig(triList.BooleanInput[UIBoolJoin.VCDirectoryBackVisible]);
@@ -546,12 +546,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
codec.PhonebookSyncState.InitialSyncCompleted += new EventHandler<EventArgs>(PhonebookSyncState_InitialSyncCompleted); codec.PhonebookSyncState.InitialSyncCompleted += new EventHandler<EventArgs>(PhonebookSyncState_InitialSyncCompleted);
} }
RefreshDirectory();
// If there is something here now, show it otherwise wait for the event
if (CurrentDirectoryResult != null && codec.DirectoryRoot.DirectoryResults.Count > 0)
{
RefreshDirectory();
}
} }
} }
@@ -560,12 +556,10 @@ namespace PepperDash.Essentials.UIDrivers.VC
/// </summary> /// </summary>
void SetCurrentDirectoryToRoot() void SetCurrentDirectoryToRoot()
{ {
CurrentDirectoryResult = (Codec as IHasDirectory).DirectoryRoot; (Codec as IHasDirectory).SetCurrentDirectoryToRoot();
SearchKeypadClear(); SearchKeypadClear();
DirectoryBackButtonVisibleFeedback.FireUpdate();
RefreshDirectory(); RefreshDirectory();
} }
@@ -580,10 +574,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
SetCurrentDirectoryToRoot(); SetCurrentDirectoryToRoot();
if (CurrentDirectoryResult != null && codec.DirectoryRoot.DirectoryResults.Count > 0) RefreshDirectory();
{
RefreshDirectory();
}
} }
/// <summary> /// <summary>
@@ -597,8 +589,6 @@ namespace PepperDash.Essentials.UIDrivers.VC
{ {
NextDirectoryResultIsFolderContents = false; NextDirectoryResultIsFolderContents = false;
} }
CurrentDirectoryResult = e.Directory;
DirectoryBackButtonVisibleFeedback.FireUpdate();
RefreshDirectory(); RefreshDirectory();
} }
@@ -622,7 +612,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
if (codec != null) if (codec != null)
{ {
CurrentDirectoryResult = codec.GetDirectoryParentFolderContents(); codec.GetDirectoryParentFolderContents();
RefreshDirectory(); RefreshDirectory();
} }
@@ -635,10 +625,10 @@ namespace PepperDash.Essentials.UIDrivers.VC
/// <param name="dir"></param> /// <param name="dir"></param>
void RefreshDirectory() void RefreshDirectory()
{ {
if (CurrentDirectoryResult.DirectoryResults.Count > 0) if ((Codec as IHasDirectory).CurrentDirectoryResult.CurrentDirectoryResults.Count > 0)
{ {
ushort i = 0; ushort i = 0;
foreach (var r in CurrentDirectoryResult.DirectoryResults) foreach (var r in (Codec as IHasDirectory).CurrentDirectoryResult.CurrentDirectoryResults)
{ {
if (i == DirectoryList.MaxCount) if (i == DirectoryList.MaxCount)
{ {
@@ -1092,7 +1082,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
SearchStringFeedback.FireUpdate(); SearchStringFeedback.FireUpdate();
SearchStringKeypadCheckEnables(); SearchStringKeypadCheckEnables();
if(CurrentDirectoryResult != (Codec as IHasDirectory).DirectoryRoot) if((Codec as IHasDirectory).CurrentDirectoryResultIsNotDirectoryRoot.BoolValue)
SetCurrentDirectoryToRoot(); SetCurrentDirectoryToRoot();
} }