Merge lp:~laney/unity-settings-daemon/lp1397135 into lp:unity-settings-daemon

Proposed by Iain Lane
Status: Merged
Approved by: Sebastien Bacher
Approved revision: 4063
Merged at revision: 4063
Proposed branch: lp:~laney/unity-settings-daemon/lp1397135
Merge into: lp:unity-settings-daemon
Diff against target: 226 lines (+0/-178)
1 file modified
plugins/power/gsd-power-manager.c (+0/-178)
To merge this branch: bzr merge lp:~laney/unity-settings-daemon/lp1397135
Reviewer Review Type Date Requested Status
Sebastien Bacher Approve
Review via email: mp+243127@code.launchpad.net

Commit message

Remove recall check, upower doesn't support this any more and it was causing a crash.

Description of the change

Remove recall check, upower doesn't support this any more and it was causing a crash.

To post a comment you must log in.
Revision history for this message
Sebastien Bacher (seb128) wrote :

looks good to me, thanks

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'plugins/power/gsd-power-manager.c'
--- plugins/power/gsd-power-manager.c 2014-11-27 10:32:03 +0000
+++ plugins/power/gsd-power-manager.c 2014-11-28 09:40:25 +0000
@@ -75,7 +75,6 @@
75#define GSD_POWER_MANAGER_NOTIFY_TIMEOUT_SHORT 10 * 1000 /* ms */75#define GSD_POWER_MANAGER_NOTIFY_TIMEOUT_SHORT 10 * 1000 /* ms */
76#define GSD_POWER_MANAGER_NOTIFY_TIMEOUT_LONG 30 * 1000 /* ms */76#define GSD_POWER_MANAGER_NOTIFY_TIMEOUT_LONG 30 * 1000 /* ms */
7777
78#define GSD_POWER_MANAGER_RECALL_DELAY 30 /* seconds */
79#define GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT 30 /* seconds */78#define GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT 30 /* seconds */
8079
81#define SYSTEMD_DBUS_NAME "org.freedesktop.login1"80#define SYSTEMD_DBUS_NAME "org.freedesktop.login1"
@@ -857,146 +856,9 @@
857 return device;856 return device;
858}857}
859858
860typedef struct {
861 GsdPowerManager *manager;
862 UpDevice *device;
863} GsdPowerManagerRecallData;
864
865static void
866device_perhaps_recall_response_cb (GtkDialog *dialog,
867 gint response_id,
868 GsdPowerManagerRecallData *recall_data)
869{
870 GdkScreen *screen;
871 GtkWidget *dialog_error;
872 GError *error = NULL;
873 gboolean ret;
874 gchar *website = NULL;
875
876 /* don't show this again */
877 if (response_id == GTK_RESPONSE_CANCEL) {
878 g_settings_set_boolean (recall_data->manager->priv->settings,
879 "notify-perhaps-recall",
880 FALSE);
881 goto out;
882 }
883
884 /* visit recall website */
885 if (response_id == GTK_RESPONSE_OK) {
886
887 g_object_get (recall_data->device,
888 "recall-url", &website,
889 NULL);
890
891 screen = gdk_screen_get_default();
892 ret = gtk_show_uri (screen,
893 website,
894 gtk_get_current_event_time (),
895 &error);
896 if (!ret) {
897 dialog_error = gtk_message_dialog_new (NULL,
898 GTK_DIALOG_MODAL,
899 GTK_MESSAGE_INFO,
900 GTK_BUTTONS_OK,
901 "Failed to show url %s",
902 error->message);
903 gtk_dialog_run (GTK_DIALOG (dialog_error));
904 g_error_free (error);
905 }
906 }
907out:
908 gtk_widget_destroy (GTK_WIDGET (dialog));
909 g_object_unref (recall_data->device);
910 g_object_unref (recall_data->manager);
911 g_free (recall_data);
912 g_free (website);
913 return;
914}
915
916static gboolean
917device_perhaps_recall_delay_cb (gpointer user_data)
918{
919 gchar *vendor;
920 const gchar *title = NULL;
921 GString *message = NULL;
922 GtkWidget *dialog;
923 GsdPowerManagerRecallData *recall_data = (GsdPowerManagerRecallData *) user_data;
924
925 g_object_get (recall_data->device,
926 "recall-vendor", &vendor,
927 NULL);
928
929 /* TRANSLATORS: the battery may be recalled by its vendor */
930 title = _("Battery may be recalled");
931 message = g_string_new ("");
932 g_string_append_printf (message,
933 _("A battery in your computer may have been "
934 "recalled by %s and you may be at risk."), vendor);
935 g_string_append (message, "\n\n");
936 g_string_append (message, _("For more information visit the battery recall website."));
937 dialog = gtk_message_dialog_new_with_markup (NULL,
938 GTK_DIALOG_DESTROY_WITH_PARENT,
939 GTK_MESSAGE_INFO,
940 GTK_BUTTONS_CLOSE,
941 "<span size='larger'><b>%s</b></span>",
942 title);
943 gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog),
944 "%s", message->str);
945
946 /* TRANSLATORS: button text, visit the manufacturers recall website */
947 gtk_dialog_add_button (GTK_DIALOG (dialog), _("Visit recall website"),
948 GTK_RESPONSE_OK);
949
950 /* TRANSLATORS: button text, do not show this bubble again */
951 gtk_dialog_add_button (GTK_DIALOG (dialog), _("Do not show me this again"),
952 GTK_RESPONSE_CANCEL);
953
954 gtk_widget_show (dialog);
955 g_signal_connect (dialog, "response",
956 G_CALLBACK (device_perhaps_recall_response_cb),
957 recall_data);
958
959 g_string_free (message, TRUE);
960 g_free (vendor);
961 return FALSE;
962}
963
964static void
965device_perhaps_recall (GsdPowerManager *manager, UpDevice *device)
966{
967 gboolean ret;
968 guint timer_id;
969 GsdPowerManagerRecallData *recall_data;
970
971 /* don't show when running under GDM */
972 if (g_getenv ("RUNNING_UNDER_GDM") != NULL) {
973 g_debug ("running under gdm, so no notification");
974 return;
975 }
976
977 /* already shown, and dismissed */
978 ret = g_settings_get_boolean (manager->priv->settings,
979 "notify-perhaps-recall");
980 if (!ret) {
981 g_debug ("settings prevents recall notification");
982 return;
983 }
984
985 recall_data = g_new0 (GsdPowerManagerRecallData, 1);
986 recall_data->manager = g_object_ref (manager);
987 recall_data->device = g_object_ref (device);
988
989 /* delay by a few seconds so the session can load */
990 timer_id = g_timeout_add_seconds (GSD_POWER_MANAGER_RECALL_DELAY,
991 device_perhaps_recall_delay_cb,
992 recall_data);
993 g_source_set_name_by_id (timer_id, "[GsdPowerManager] perhaps-recall");
994}
995
996static void859static void
997engine_device_add (GsdPowerManager *manager, UpDevice *device)860engine_device_add (GsdPowerManager *manager, UpDevice *device)
998{861{
999 gboolean recall_notice;
1000 GsdPowerManagerWarning warning;862 GsdPowerManagerWarning warning;
1001 UpDeviceState state;863 UpDeviceState state;
1002 UpDeviceKind kind;864 UpDeviceKind kind;
@@ -1012,7 +874,6 @@
1012 g_object_get (device,874 g_object_get (device,
1013 "kind", &kind,875 "kind", &kind,
1014 "state", &state,876 "state", &state,
1015 "recall-notice", &recall_notice,
1016 NULL);877 NULL);
1017878
1018 /* add old state for transitions */879 /* add old state for transitions */
@@ -1043,43 +904,6 @@
1043 G_CALLBACK (device_properties_changed_cb), manager);904 G_CALLBACK (device_properties_changed_cb), manager);
1044 g_signal_connect (device, "notify::warning-level",905 g_signal_connect (device, "notify::warning-level",
1045 G_CALLBACK (device_properties_changed_cb), manager);906 G_CALLBACK (device_properties_changed_cb), manager);
1046
1047 /* the device is recalled */
1048 if (recall_notice)
1049 device_perhaps_recall (manager, device);
1050}
1051
1052static gboolean
1053engine_check_recall (GsdPowerManager *manager, UpDevice *device)
1054{
1055 UpDeviceKind kind;
1056 gboolean recall_notice = FALSE;
1057 gchar *recall_vendor = NULL;
1058 gchar *recall_url = NULL;
1059
1060 /* get device properties */
1061 g_object_get (device,
1062 "kind", &kind,
1063 "recall-notice", &recall_notice,
1064 "recall-vendor", &recall_vendor,
1065 "recall-url", &recall_url,
1066 NULL);
1067
1068 /* not battery */
1069 if (kind != UP_DEVICE_KIND_BATTERY)
1070 goto out;
1071
1072 /* no recall data */
1073 if (!recall_notice)
1074 goto out;
1075
1076 /* emit signal for manager */
1077 g_debug ("** EMIT: perhaps-recall");
1078 g_debug ("%s-%s", recall_vendor, recall_url);
1079out:
1080 g_free (recall_vendor);
1081 g_free (recall_url);
1082 return recall_notice;
1083}907}
1084908
1085static gboolean909static gboolean
@@ -1101,7 +925,6 @@
1101 for (i=0;i<array->len;i++) {925 for (i=0;i<array->len;i++) {
1102 device = g_ptr_array_index (array, i);926 device = g_ptr_array_index (array, i);
1103 engine_device_add (manager, device);927 engine_device_add (manager, device);
1104 engine_check_recall (manager, device);
1105 }928 }
1106out:929out:
1107 if (array != NULL)930 if (array != NULL)
@@ -1115,7 +938,6 @@
1115{938{
1116 /* add to list */939 /* add to list */
1117 g_ptr_array_add (manager->priv->devices_array, g_object_ref (device));940 g_ptr_array_add (manager->priv->devices_array, g_object_ref (device));
1118 engine_check_recall (manager, device);
1119941
1120 engine_recalculate_state (manager);942 engine_recalculate_state (manager);
1121}943}

Subscribers

People subscribed via source and target branches