[gnome-software] Use background tasks for update monitor initiated packagekit downloads
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] Use background tasks for update monitor initiated packagekit downloads
- Date: Wed, 24 Oct 2018 09:59:06 +0000 (UTC)
commit 4a6e4ba60c2a557d46d4eff23968613f390a08fe
Author: Kalev Lember <klember redhat com>
Date: Tue Oct 23 14:20:42 2018 +0200
Use background tasks for update monitor initiated packagekit downloads
Instead of forcing pk_client_set_background() to 0 for all downloads,
make it so that those initiated from the update monitor use background
tasks (1), and those that are user-initiated from the updates page use
non-background tasks (0).
We don't actually have a way to pass cache_age or the interactivity
setting down to gs_plugin_download() vfunc, so instead make sure that we
pass non-0 cache age to refresh() in the update monitor, and 0 cache age
to refresh() in the updates page, and use that setting also for deciding
if the subsequent download operation should be background or not.
With this fix the update monitor initiated background update download
should get correctly cancelled when the user clicks on something else.
plugins/packagekit/gs-plugin-packagekit-refresh.c | 3 ---
src/gs-updates-page.c | 4 +---
2 files changed, 1 insertion(+), 6 deletions(-)
---
diff --git a/plugins/packagekit/gs-plugin-packagekit-refresh.c
b/plugins/packagekit/gs-plugin-packagekit-refresh.c
index e62b20df..1383ba0b 100644
--- a/plugins/packagekit/gs-plugin-packagekit-refresh.c
+++ b/plugins/packagekit/gs-plugin-packagekit-refresh.c
@@ -68,9 +68,6 @@ _download_only (GsPlugin *plugin, GsAppList *list,
g_autoptr(PkResults) results2 = NULL;
g_autoptr(PkResults) results = NULL;
- /* cache age of 0 is user-initiated */
- pk_client_set_background (PK_CLIENT (priv->task), 0);
-
/* refresh the metadata */
gs_plugin_status_update (plugin, NULL, GS_PLUGIN_STATUS_WAITING);
results = pk_client_get_updates (PK_CLIENT (priv->task),
diff --git a/src/gs-updates-page.c b/src/gs-updates-page.c
index 95773c60..c6023e68 100644
--- a/src/gs-updates-page.c
+++ b/src/gs-updates-page.c
@@ -42,8 +42,6 @@
#include <langinfo.h>
-#define GS_REFRESH_MIN_AGE 10 /* sec */
-
typedef enum {
GS_UPDATES_PAGE_FLAG_NONE = 0,
GS_UPDATES_PAGE_FLAG_HAS_UPDATES = 1 << 0,
@@ -810,7 +808,7 @@ gs_updates_page_get_new_updates (GsUpdatesPage *self)
plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_REFRESH,
"interactive", TRUE,
- "age", (guint64) GS_REFRESH_MIN_AGE,
+ "age", (guint64) 0,
NULL);
gs_plugin_loader_job_process_async (self->plugin_loader, plugin_job,
self->cancellable_refresh,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]