[gnome-software/uajain/set-no-interaction] flatpak: Let flatpak also know if it is a non-interactive transaction



commit 2e54a97ff122cc5950dce60e51a49e156fbfd8c2
Author: Umang Jain <umang endlessm com>
Date:   Thu Jul 18 12:08:08 2019 +0530

    flatpak: Let flatpak also know if it is a non-interactive transaction
    
    Flatpak should also know if the transaction is a non-interactive
    transaction (for e.g. autoupdates). This will help libflatpak to
    differentiate between a user-initiated vs. background operation
    in cases like, being more conservative about disk-space[1] when
    downloading updates during autoupdates.
    
    [1] https://github.com/flatpak/flatpak/pull/3013

 plugins/flatpak/gs-plugin-flatpak.c | 8 ++++++++
 1 file changed, 8 insertions(+)
---
diff --git a/plugins/flatpak/gs-plugin-flatpak.c b/plugins/flatpak/gs-plugin-flatpak.c
index fca0d123..2ae9fd99 100644
--- a/plugins/flatpak/gs-plugin-flatpak.c
+++ b/plugins/flatpak/gs-plugin-flatpak.c
@@ -450,8 +450,12 @@ gs_plugin_download (GsPlugin *plugin, GsAppList *list,
                return TRUE;
 
        if (!gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)) {
+               g_autoptr(FlatpakInstallation) installation = NULL;
                g_autoptr(GError) error_local = NULL;
 
+               installation = gs_flatpak_get_installation (flatpak);
+               flatpak_installation_set_no_interaction (installation, TRUE);
+
                if (!gs_metered_block_app_list_on_download_scheduler (list_tmp, cancellable, &error_local)) {
                        g_warning ("Failed to block on download scheduler: %s",
                                   error_local->message);
@@ -588,8 +592,12 @@ gs_plugin_app_install (GsPlugin *plugin,
                return gs_flatpak_app_install_source (flatpak, app, cancellable, error);
 
        if (!gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)) {
+               g_autoptr(FlatpakInstallation) installation = NULL;
                g_autoptr(GError) error_local = NULL;
 
+               installation = gs_flatpak_get_installation (flatpak);
+               flatpak_installation_set_no_interaction (installation, TRUE);
+
                /* FIXME: Add additional details here, especially the download
                 * size bounds (using `size-minimum` and `size-maximum`, both
                 * type `t`). */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]