diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-08-15 14:23:51 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-08-16 16:19:43 +0800 |
| commit | fecb64eb14b4465a3c101d9f1ada217546fdd884 (patch) | |
| tree | 892ea5012bb160952b4751792af86a1bbf4e629b /services | |
| parent | bd61471846547c36fc9b0574be1853add44bc49d (diff) | |
fix(NetworkUsage): rerun getRouteProc when defaultInterface errs
getRouteProc will be invalid after network change
chore: reorganize id ...Process -> ...Proc
Diffstat (limited to 'services')
| -rw-r--r-- | services/NetworkUsage.qml | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/services/NetworkUsage.qml b/services/NetworkUsage.qml index 844a5a5..c503891 100644 --- a/services/NetworkUsage.qml +++ b/services/NetworkUsage.qml @@ -27,8 +27,12 @@ Singleton { } function update() { - __iface = Network.defaultInterface(getRouteProcess.stdout.text); - const cur = Network.getRxTxBytes(getNetDevProcess.stdout.text, __iface); + try { + __iface = Network.defaultInterface(getRouteProc.stdout.text); + } catch (e) { + getRouteProc.running = true; + } + const cur = Network.getRxTxBytes(getNetDevProc.stdout.text, __iface); const sec = General.resourceUpdateInterval; const rawUp = (cur.tx - __prev.tx) / sec; const rawDown = (cur.rx - __prev.rx) / sec; @@ -39,30 +43,30 @@ Singleton { downUnit = Network.formatSize(rawDown, true); __prev = cur; - getRouteProcess.running = true; - getNetDevProcess.running = true; + getRouteProc.running = true; + getNetDevProc.running = true; } Process { - id: getRouteProcess + id: getRouteProc running: true command: ["ip", "route"] stdout: StdioCollector {} } Process { - id: getNetDevProcess + id: getNetDevProc running: true command: ["cat", "/proc/net/dev"] stdout: StdioCollector {} } Component.onCompleted: { - getRouteProcess.running = true; - getNetDevProcess.running = true; - if (getRouteProcess.stdout.text) - __iface = Network.defaultInterface(getRouteProcess.stdout.text); - if (getNetDevProcess.stdout.text) - __prev = Network.getRxTxBytes(getNetDevProcess.stdout.text, __iface); + getRouteProc.running = true; + getNetDevProc.running = true; + if (getRouteProc.stdout.text) + __iface = Network.defaultInterface(getRouteProc.stdout.text); + if (getNetDevProc.stdout.text) + __prev = Network.getRxTxBytes(getNetDevProc.stdout.text, __iface); } } |
