From a3aeba0453c745bf45e266a15de5a67fda3549d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Wed, 3 Sep 2025 12:15:16 -0700 Subject: [PATCH] UpdateManager: handle metered network --- src/Core/UpdateManager.vala | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala index 0a59b71af..4f0f5c9ac 100644 --- a/src/Core/UpdateManager.vala +++ b/src/Core/UpdateManager.vala @@ -65,6 +65,11 @@ public class AppCenterCore.UpdateManager : Object { var seconds_since_last_refresh = new DateTime.now_utc ().difference (last_refresh_time) / GLib.TimeSpan.SECOND; if (seconds_since_last_refresh >= SECONDS_BETWEEN_REFRESHES) { + if (NetworkMonitor.get_default ().get_network_metered ()) { + refresh_required = true; + return; + } + refresh.begin (); return; } @@ -73,12 +78,18 @@ public class AppCenterCore.UpdateManager : Object { refresh_timeout_id = Timeout.add_seconds_once (seconds_to_next_refresh, () => { refresh_timeout_id = 0; + + if (NetworkMonitor.get_default ().get_network_metered ()) { + refresh_required = true; + return; + } + refresh.begin (); }); } private void on_network_changed (bool network_available) { - if (network_available && refresh_required) { + if (network_available && !NetworkMonitor.get_default ().get_network_metered () && refresh_required) { refresh_required = false; Timeout.add_seconds_once (60, () => refresh.begin ()); }