[gnome-software/wip/ubuntu-3-22: 28/28] snap: Correct the app origin
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/wip/ubuntu-3-22: 28/28] snap: Correct the app origin
- Date: Wed, 13 Dec 2017 21:38:25 +0000 (UTC)
commit 9854d912bcacc786879af9f2e9d92a36b69f1962
Author: Robert Ancell <robert ancell canonical com>
Date: Wed Sep 6 11:41:51 2017 +1200
snap: Correct the app origin
po/POTFILES.in | 1 +
src/plugins/gs-plugin-snap.c | 23 ++++++++++-------------
2 files changed, 11 insertions(+), 13 deletions(-)
---
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 67f4677..b002baf 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -67,3 +67,4 @@ src/gs-shell-loading.c
[type: gettext/glade]src/gs-shell-loading.ui
src/plugins/gs-desktop-common.c
src/plugins/gs-plugin-fedora-distro-upgrades.c
+src/plugins/gs-plugin-snap.c
diff --git a/src/plugins/gs-plugin-snap.c b/src/plugins/gs-plugin-snap.c
index 9d3f41b..c8e8321 100644
--- a/src/plugins/gs-plugin-snap.c
+++ b/src/plugins/gs-plugin-snap.c
@@ -21,6 +21,7 @@
#include <config.h>
+#include <glib/gi18n.h>
#include <json-glib/json-glib.h>
#include <snapd-glib/snapd-glib.h>
#include <gnome-software.h>
@@ -28,6 +29,7 @@
#include "gs-snapd.h"
struct GsPluginData {
+ gchar *store_name;
gboolean system_is_confined;
GsAuth *auth;
@@ -77,6 +79,11 @@ gs_plugin_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error)
system_information = gs_snapd_get_system_info (cancellable, error);
if (system_information == NULL)
return FALSE;
+ if (json_object_has_member (system_information, "store"))
+ priv->store_name = g_strdup (json_object_get_string_member (system_information, "store"));
+ else
+ priv->store_name = g_strdup (/* TRANSLATORS: default snap store name */
+ _("Snap Store"));
priv->system_is_confined = g_strcmp0 (json_object_get_string_member (system_information,
"confinement"), "strict") == 0;
/* load from disk */
@@ -267,6 +274,7 @@ void
gs_plugin_destroy (GsPlugin *plugin)
{
GsPluginData *priv = gs_plugin_get_data (plugin);
+ g_free (priv->store_name);
g_clear_object (&priv->auth);
g_hash_table_unref (priv->store_snaps);
g_mutex_clear (&priv->store_snaps_lock);
@@ -523,6 +531,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
GCancellable *cancellable,
GError **error)
{
+ GsPluginData *priv = gs_plugin_get_data (plugin);
g_autofree gchar *macaroon = NULL;
g_auto(GStrv) discharges = NULL;
const gchar *id, *icon_url = NULL;
@@ -582,8 +591,6 @@ gs_plugin_refine_app (GsPlugin *plugin,
/* get information from snap store */
store_snap = get_store_snap (plugin, id, cancellable, NULL);
if (store_snap != NULL) {
- const gchar *screenshot_url = NULL;
-
if (gs_app_get_state (app) == AS_APP_STATE_UNKNOWN)
gs_app_set_state (app, AS_APP_STATE_AVAILABLE);
@@ -632,20 +639,10 @@ gs_plugin_refine_app (GsPlugin *plugin,
as_image_set_height (image, json_object_get_int_member (screenshot,
"height"));
as_screenshot_add_image (ss, image);
gs_app_add_screenshot (app, ss);
-
- /* fall back to the screenshot */
- if (screenshot_url == NULL)
- screenshot_url = json_object_get_string_member (screenshot, "url");
}
}
- /* use some heuristics to guess the application origin */
- if (gs_app_get_origin_hostname (app) == NULL) {
- if (icon_url != NULL && !g_str_has_prefix (icon_url, "/"))
- gs_app_set_origin_hostname (app, icon_url);
- else if (screenshot_url != NULL)
- gs_app_set_origin_hostname (app, screenshot_url);
- }
+ gs_app_set_origin (app, priv->store_name);
}
/* load icon if requested */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]