From 30ea50fe3186304c2d9df990a945d80acac6492b Mon Sep 17 00:00:00 2001 From: Andrzej Krawczyk Date: Tue, 31 Aug 2021 14:45:08 +0200 Subject: [PATCH] Added display timeout service. --- Fitness/Services/DisplayTimeoutService.cs | 54 +++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Fitness/Services/DisplayTimeoutService.cs diff --git a/Fitness/Services/DisplayTimeoutService.cs b/Fitness/Services/DisplayTimeoutService.cs new file mode 100644 index 0000000..1899384 --- /dev/null +++ b/Fitness/Services/DisplayTimeoutService.cs @@ -0,0 +1,54 @@ +namespace Fitness.Services +{ + public sealed class DisplayTimeoutService + { + private const string VconfKey = "db/setting/lcd_backlight_normal"; + private const int AlwaysOnValue = 0; + + private static DisplayTimeoutService instance; + + private bool isTimeoutBlocked; + private int systemValue; + + private DisplayTimeoutService() + { + } + + public static DisplayTimeoutService Instance + { + get + { + if (instance is null) + { + instance = new DisplayTimeoutService(); + } + + return instance; + } + } + + public bool IsTimeoutBlocked + { + get => isTimeoutBlocked; + set + { + if (value == isTimeoutBlocked) + { + return; + } + + if (value) + { + systemValue = Vconf.GetInt(VconfKey); + Vconf.SetInt(VconfKey, AlwaysOnValue); + } + else + { + Vconf.SetInt(VconfKey, systemValue); + } + + isTimeoutBlocked = value; + } + } + } +} -- 2.7.4