Skip to content

Commit 822fab7

Browse files
committed
feat: Allow notifications to query sub-settings (e.g. telemetry)
1 parent 849f102 commit 822fab7

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

Source/Menu/Notifications/NotificationManager.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -599,12 +599,19 @@ private bool ContainsParameter(string field)
599599
/// <returns></returns>
600600
string GetSetting(string settingText)
601601
{
602-
var nameArray = settingText.Split('.'); // 2 elements: "Settings.<property>", e.g. "SimpleControlPhysics"
603-
if (nameArray[0] == "Settings" && nameArray.Length == 2)
602+
// 2 elements: "Settings.<property>", e.g. "SimpleControlPhysics"
603+
// 3 elements: "Settings.<group>.<property>", e.g. "Telemetry.RandomNumber1000"
604+
var nameArray = settingText.Split('.');
605+
if (nameArray.Length < 2 || nameArray[0] != "Settings") return "";
606+
607+
var value = (object)Settings;
608+
for (var i = 1; i < nameArray.Length; i++)
604609
{
605-
return Settings.GetType().GetProperty(nameArray[1])?.GetValue(Settings).ToString() ?? "";
610+
var prop = value.GetType().GetProperty(nameArray[i]);
611+
if (prop == null) return "";
612+
value = prop.GetValue(value);
606613
}
607-
return "";
614+
return value?.ToString() ?? "";
608615
}
609616

610617
private string GetInstalledRoutes()

0 commit comments

Comments
 (0)