/// <summary> /// Default class constructor. /// </summary> public Display() { _service = DependencyService.Get <IDisplay>(); _service.DisplayChanged += (s, e) => { DisplayStateChanged?.Invoke(s, e); }; _service.ScreenBacklightTimeChanged += (s, e) => { ScreenBacklightTimeChanged?.Invoke(s, e); }; _service.StartListening(); var oldBrightness = MainDisplayBrightness; Device.StartTimer(TimeSpan.FromSeconds(3), () => { var brightness = _service.MainDisplayBrightness; if (oldBrightness == brightness) { return(true); } oldBrightness = brightness; DisplayBrightnessChanged?.Invoke(this, new DisplayBrightnessEventArgs(brightness)); return(true); }); }
/// <summary> /// Starts observing display information for changes. /// </summary> /// <remarks> /// Display events will be never invoked before calling this method. /// </remarks> public void StartListening() { Display.StateChanged += (s, e) => { DisplayChanged?.Invoke(s, new DisplayStateEventArgs(EnumMapper.DisplayStateMapper(e.State))); }; SystemSettings.ScreenBacklightTimeChanged += (s, e) => { ScreenBacklightTimeChanged?.Invoke(s, new SystemInfo.Model.Display.ScreenBacklightTimeChangedEventArgs(e.Value)); }; }