Skip to content

Commit

Permalink
ChannelTo/FromString now handles null and empty strings to mean all c…
Browse files Browse the repository at this point in the history
…hannels
  • Loading branch information
david-risney committed Mar 15, 2024
1 parent ef3cf8a commit 8e0cd5d
Showing 1 changed file with 47 additions and 37 deletions.
84 changes: 47 additions & 37 deletions wv2util/AppOverride.cs
Original file line number Diff line number Diff line change
Expand Up @@ -297,52 +297,62 @@ public static void UpdateCollectionFromRegistry(ObservableCollection<AppOverride

private static Channels ReleaseChannelsFromString(string channelString)
{
Channels channels = 0;
var channelNumbers = channelString.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var channelNumber in channelNumbers)
{
if (int.TryParse(channelNumber.Trim(), out int number))
{
switch (number)
{
case 0:
channels |= Channels.Stable;
break;
case 1:
channels |= Channels.Beta;
break;
case 2:
channels |= Channels.Dev;
break;
case 3:
channels |= Channels.Canary;
break;
}
Channels channels = allChannels;
if (!String.IsNullOrEmpty(channelString))
{
var channelNumbers = channelString.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var channelNumber in channelNumbers)
{
if (int.TryParse(channelNumber.Trim(), out int number))
{
switch (number)
{
case 0:
channels |= Channels.Stable;
break;
case 1:
channels |= Channels.Beta;
break;
case 2:
channels |= Channels.Dev;
break;
case 3:
channels |= Channels.Canary;
break;
}
}
}
}
return channels;
}

private static string ReleaseChannelsToString(Channels channels)
{
List<string> channelStrings = new List<string>();
if ((channels & Channels.Stable) != 0)
{
channelStrings.Add("0");
}
if ((channels & Channels.Beta) != 0)
{
channelStrings.Add("1");
}
if ((channels & Channels.Dev) != 0)
{
channelStrings.Add("2");
if (channels == allChannels)
{
return "";
}
if ((channels & Channels.Canary) != 0)
{
channelStrings.Add("3");
else
{
List<string> channelStrings = new List<string>();
if ((channels & Channels.Stable) != 0)
{
channelStrings.Add("0");
}
if ((channels & Channels.Beta) != 0)
{
channelStrings.Add("1");
}
if ((channels & Channels.Dev) != 0)
{
channelStrings.Add("2");
}
if ((channels & Channels.Canary) != 0)
{
channelStrings.Add("3");
}
return string.Join(",", channelStrings);
}
return string.Join(",", channelStrings);
}

public static ObservableCollection<AppOverrideEntry> CreateCollectionFromSystem()
Expand Down

0 comments on commit 8e0cd5d

Please sign in to comment.