[gnome-control-center] power: Don't treat device batteries as power supplies



commit 015fe8de1d99e47f0d0188f060ecd2cbb7043a6e
Author: Bastien Nocera <hadess hadess net>
Date:   Fri Feb 16 14:38:00 2018 +0100

    power: Don't treat device batteries as power supplies
    
    Show the "desktop" style dialogue ("Automatic suspend, when idle") even
    when we have devices with batteries in use. We need "power supply"
    batteries to consider the device as a laptop, or UPS-powered machine.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=793509

 panels/power/cc-power-panel.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index 92df84307..d02077de7 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -1195,17 +1195,23 @@ set_ac_battery_ui_mode (CcPowerPanel *self)
   gboolean has_batteries = FALSE;
   GPtrArray *devices;
   guint i;
-  UpDevice *device;
-  UpDeviceKind kind;
 
   devices = up_client_get_devices (self->priv->up_client);
   g_debug ("got %d devices from upower\n", devices ? devices->len : 0);
 
   for (i = 0; devices != NULL && i < devices->len; i++)
     {
+      UpDevice *device;
+      gboolean is_power_supply;
+      UpDeviceKind kind;
+
       device = g_ptr_array_index (devices, i);
-      g_object_get (device, "kind", &kind, NULL);
-      if (kind == UP_DEVICE_KIND_BATTERY || kind == UP_DEVICE_KIND_UPS)
+      g_object_get (device,
+                    "kind", &kind,
+                    "power-supply", &is_power_supply,
+                    NULL);
+      if (kind == UP_DEVICE_KIND_UPS ||
+          (kind == UP_DEVICE_KIND_BATTERY && is_power_supply))
         {
           has_batteries = TRUE;
           break;


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