From 91d2450f6219afbdcbce32ba47b985afe2cc57ae Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Wed, 23 Sep 2020 19:22:51 +0200 Subject: [PATCH] - fix battery module enabling when disabled (#89) --- Modules/Battery/readers.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Modules/Battery/readers.swift b/Modules/Battery/readers.swift index 7a547f0f..1b75c1a2 100644 --- a/Modules/Battery/readers.swift +++ b/Modules/Battery/readers.swift @@ -23,6 +23,7 @@ internal class UsageReader: Reader { private var usage: Battery_Usage = Battery_Usage() public override func start() { + self.active = true let context = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()) self.source = IOPSNotificationCreateRunLoopSource({ (context) in @@ -31,7 +32,9 @@ internal class UsageReader: Reader { } let watcher = Unmanaged.fromOpaque(ctx).takeUnretainedValue() - watcher.read() + if watcher.active { + watcher.read() + } }, context).takeRetainedValue() self.loop = RunLoop.current.getCFRunLoop() @@ -45,6 +48,7 @@ internal class UsageReader: Reader { return } + self.active = false CFRunLoopRemoveSource(runLoop, source, .defaultMode) }