feat: changed the default behavior of Network data reset from At start to Never. Added data reset when At start is enabled (#2129)

This commit is contained in:
Serhiy Mytrovtsiy
2024-09-24 20:36:40 +02:00
parent 1daadf05eb
commit 7ec0c5c3fb
3 changed files with 12 additions and 9 deletions

View File

@@ -302,8 +302,8 @@ public class Network: Module {
}
if #available(macOS 11.0, *) {
// guard let blobData = try? JSONEncoder().encode(raw) else { return }
// self.userDefaults?.set(blobData, forKey: "Network@UsageReader")
guard let blobData = try? JSONEncoder().encode(raw) else { return }
self.userDefaults?.set(blobData, forKey: "Network@UsageReader")
WidgetCenter.shared.reloadTimelines(ofKind: Network_entry.kind)
}
}
@@ -346,11 +346,12 @@ public class Network: Module {
private func setUsageReset() {
self.usageReseter.invalidate()
switch AppUpdateInterval(rawValue: Store.shared.string(key: "\(self.config.name)_usageReset", defaultValue: AppUpdateInterval.atStart.rawValue)) {
switch AppUpdateInterval(rawValue: Store.shared.string(key: "\(self.config.name)_usageReset", defaultValue: AppUpdateInterval.never.rawValue)) {
case .oncePerDay: self.usageReseter.interval = 60 * 60 * 24
case .oncePerWeek: self.usageReseter.interval = 60 * 60 * 24 * 7
case .oncePerMonth: self.usageReseter.interval = 60 * 60 * 24 * 30
case .never, .atStart: return
case .atStart: NotificationCenter.default.post(name: .resetTotalNetworkUsage, object: nil, userInfo: nil)
case .never: return
default: return
}

View File

@@ -689,9 +689,11 @@ internal class ConnectivityReader: Reader<Network_Connectivity> {
override func setup() {
self.interval = 1
self.addr = self.resolve()
self.openConn()
self.read()
DispatchQueue.global(qos: .background).async {
self.addr = self.resolve()
self.openConn()
self.read()
}
}
deinit {

View File

@@ -54,7 +54,7 @@ You can use a combination of any of the variables. There is only one limitation:
internal class Settings: NSStackView, Settings_v, NSTextFieldDelegate {
private var numberOfProcesses: Int = 8
private var readerType: String = "interface"
private var usageReset: String = AppUpdateInterval.atStart.rawValue
private var usageReset: String = AppUpdateInterval.never.rawValue
private var VPNModeState: Bool = false
private var widgetActivationThresholdState: Bool = false
private var widgetActivationThreshold: Int = 0
@@ -166,7 +166,7 @@ internal class Settings: NSStackView, Settings_v, NSTextFieldDelegate {
)),
PreferencesRow(localizedString("Reset data usage"), component: selectView(
action: #selector(self.toggleUsageReset),
items: AppUpdateIntervals.dropLast(2).filter({ $0.key != "Silent" }),
items: AppUpdateIntervals.filter({ $0.key != "Silent" }),
selected: self.usageReset
)),
PreferencesRow(localizedString("Auto-refresh public IP address"), component: selectView(