Mercurial > projects > package-update-indicator
comparison pui-backend.c @ 45:4a859595eabd
Add debug logging when periodic checks are inhibited
author | Guido Berhoerster <guido+pui@berhoerster.name> |
---|---|
date | Thu, 05 Nov 2020 11:18:16 +0100 |
parents | b9c65915cc54 |
children | 8ed91c5e0116 |
comparison
equal
deleted
inserted
replaced
44:3da32a3ffe3c | 45:4a859595eabd |
---|---|
249 } | 249 } |
250 | 250 |
251 static void | 251 static void |
252 check_inhibit(PuiBackend *self) | 252 check_inhibit(PuiBackend *self) |
253 { | 253 { |
254 gboolean is_offline; | |
255 gboolean is_disallowed_mobile; | |
254 gboolean inhibited; | 256 gboolean inhibited; |
255 guint elapsed_time; | 257 guint elapsed_time; |
256 guint remaining_time; | 258 guint remaining_time; |
257 | 259 |
258 inhibited = ((self->network_state == PK_NETWORK_ENUM_OFFLINE) || | 260 is_offline = self->network_state == PK_NETWORK_ENUM_OFFLINE; |
259 (!self->use_mobile_connection && | 261 is_disallowed_mobile = !self->use_mobile_connection && |
260 (self->network_state == PK_NETWORK_ENUM_MOBILE)) || | 262 (self->network_state == PK_NETWORK_ENUM_MOBILE); |
261 self->is_battery_low); | 263 inhibited = is_offline || is_disallowed_mobile || self->is_battery_low; |
262 if (self->inhibited == inhibited) { | 264 if (self->inhibited == inhibited) { |
263 return; | 265 return; |
264 } | 266 } |
265 | 267 |
266 self->inhibited = inhibited; | 268 self->inhibited = inhibited; |
273 /* cancel running operation */ | 275 /* cancel running operation */ |
274 if ((self->cancellable != NULL) && | 276 if ((self->cancellable != NULL) && |
275 !g_cancellable_is_cancelled(self->cancellable)) { | 277 !g_cancellable_is_cancelled(self->cancellable)) { |
276 g_cancellable_cancel(self->cancellable); | 278 g_cancellable_cancel(self->cancellable); |
277 g_clear_object(&self->cancellable); | 279 g_clear_object(&self->cancellable); |
280 } | |
281 | |
282 if (is_offline) { | |
283 g_debug("perioidic checks inhibited: network offline"); | |
284 } | |
285 if (is_disallowed_mobile) { | |
286 g_debug("perioidic checks inhibited: use of mobile " | |
287 "connection not allowed"); | |
288 } | |
289 if (self->is_battery_low) { | |
290 g_debug("perioidic checks inhibited: low battery"); | |
278 } | 291 } |
279 } else { | 292 } else { |
280 /* schedule periodic checks when no longer inhibited */ | 293 /* schedule periodic checks when no longer inhibited */ |
281 elapsed_time = (g_get_monotonic_time() - self->last_check) / | 294 elapsed_time = (g_get_monotonic_time() - self->last_check) / |
282 G_USEC_PER_SEC; | 295 G_USEC_PER_SEC; |
288 remaining_time = (elapsed_time < PUI_CHECK_UPDATES_INTERVAL) ? | 301 remaining_time = (elapsed_time < PUI_CHECK_UPDATES_INTERVAL) ? |
289 PUI_CHECK_UPDATES_INTERVAL - elapsed_time : | 302 PUI_CHECK_UPDATES_INTERVAL - elapsed_time : |
290 PUI_STARTUP_DELAY; | 303 PUI_STARTUP_DELAY; |
291 self->check_id = g_timeout_add_seconds(remaining_time, | 304 self->check_id = g_timeout_add_seconds(remaining_time, |
292 periodic_check, self); | 305 periodic_check, self); |
306 | |
307 g_debug("perioidic checks no longer inhibited, time since " | |
308 "last check: %ds, next check in: %ds", elapsed_time, | |
309 remaining_time); | |
293 } | 310 } |
294 } | 311 } |
295 | 312 |
296 static void | 313 static void |
297 pui_backend_set_property(GObject *object, guint property_id, | 314 pui_backend_set_property(GObject *object, guint property_id, |