mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-15 00:34:08 +09:00
feat: added a check if the macOS widget is active before updating the read value in the user defaults. It will prevent unnecessary writes when the widget is not enabled (#2733)
This commit is contained in:
@@ -192,12 +192,11 @@ public class GPU: Module {
|
||||
}
|
||||
|
||||
if #available(macOS 11.0, *) {
|
||||
if #unavailable(macOS 26.0) {
|
||||
guard let blobData = try? JSONEncoder().encode(selectedGPU) else { return }
|
||||
if isWidgetActive(self.userDefaults, [GPU_entry.kind, "UnitedWidget"]), let blobData = try? JSONEncoder().encode(selectedGPU) {
|
||||
self.userDefaults?.set(blobData, forKey: "GPU@InfoReader")
|
||||
WidgetCenter.shared.reloadTimelines(ofKind: GPU_entry.kind)
|
||||
WidgetCenter.shared.reloadTimelines(ofKind: "UnitedWidget")
|
||||
}
|
||||
WidgetCenter.shared.reloadTimelines(ofKind: GPU_entry.kind)
|
||||
WidgetCenter.shared.reloadTimelines(ofKind: "UnitedWidget")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ public struct Provider: TimelineProvider {
|
||||
}
|
||||
|
||||
public func getTimeline(in context: Context, completion: @escaping (Timeline<GPU_entry>) -> Void) {
|
||||
self.userDefaults?.set(Date().timeIntervalSince1970, forKey: GPU_entry.kind)
|
||||
var entry = GPU_entry()
|
||||
if let raw = userDefaults?.data(forKey: "GPU@InfoReader"), let load = try? JSONDecoder().decode(GPU_Info.self, from: raw) {
|
||||
entry.value = load
|
||||
|
||||
Reference in New Issue
Block a user