Merge lp:~charlesk/indicator-power/lp-1559731-fix-red-battery-icon-at-29pct-on-desktop into lp:indicator-power

Proposed by Charles Kerr
Status: Merged
Approved by: Ted Gould
Approved revision: 295
Merged at revision: 293
Proposed branch: lp:~charlesk/indicator-power/lp-1559731-fix-red-battery-icon-at-29pct-on-desktop
Merge into: lp:indicator-power
Diff against target: 223 lines (+40/-28)
2 files modified
src/device.c (+1/-1)
tests/test-device.cc (+39/-27)
To merge this branch: bzr merge lp:~charlesk/indicator-power/lp-1559731-fix-red-battery-icon-at-29pct-on-desktop
Reviewer Review Type Date Requested Status
Ted Gould (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+294828@code.launchpad.net

Commit message

Fix the fallback power icon so the battery icon doesn't show red above 20% even when the Suru icon theme isn't present.

Description of the change

Fix the fallback power icon so the battery icon doesn't show red above 20% even when the Suru icon theme isn't present.

Writeup @ https://bugs.launchpad.net/ubuntu/+source/indicator-power/+bug/1559731/comments/6

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Ted Gould (ted) wrote :

Works for me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/device.c'
--- src/device.c 2015-01-12 22:43:49 +0000
+++ src/device.c 2016-05-16 17:40:50 +0000
@@ -340,7 +340,7 @@
340 if (percentage >= 90) return "100";340 if (percentage >= 90) return "100";
341 if (percentage >= 70) return "080";341 if (percentage >= 70) return "080";
342 if (percentage >= 50) return "060";342 if (percentage >= 50) return "060";
343 if (percentage >= 30) return "040";343 if (percentage > 20) return "040"; /* don't round down to 20: see bug #1559731 */
344 if (percentage >= 10) return "020";344 if (percentage >= 10) return "020";
345 return "000";345 return "000";
346}346}
347347
=== modified file 'tests/test-device.cc'
--- tests/test-device.cc 2015-01-12 21:47:27 +0000
+++ tests/test-device.cc 2016-05-16 17:40:50 +0000
@@ -61,13 +61,16 @@
6161
62 protected:62 protected:
6363
64 void check_icon_names (const IndicatorPowerDevice * device, const char * expected)64 static std::string get_icon_names_from_device(const IndicatorPowerDevice* device)
65 {65 {
66 std::string ret;
66 char ** names = indicator_power_device_get_icon_names (device);67 char ** names = indicator_power_device_get_icon_names (device);
67 char * str = g_strjoinv (";", names);68 char * str = g_strjoinv (";", names);
68 ASSERT_STREQ (expected, str);69 if (str != nullptr)
70 ret = str;
69 g_free (str);71 g_free (str);
70 g_strfreev (names);72 g_strfreev (names);
73 return ret;
71 }74 }
7275
73 void check_label (const IndicatorPowerDevice * device,76 void check_label (const IndicatorPowerDevice * device,
@@ -121,6 +124,13 @@
121 }124 }
122};125};
123126
127#define EXPECT_ICON_NAMES_EQ(expected_in,device_in) \
128 do { \
129 const std::string tmp_expected {expected_in}; \
130 const std::string tmp_actual {get_icon_names_from_device(device_in)}; \
131 EXPECT_EQ(tmp_expected, tmp_actual); \
132 } while(0)
133
124/***134/***
125****135****
126***/136***/
@@ -266,14 +276,16 @@
266 // power276 // power
267 g_object_set (o, INDICATOR_POWER_DEVICE_KIND, UP_DEVICE_KIND_LINE_POWER,277 g_object_set (o, INDICATOR_POWER_DEVICE_KIND, UP_DEVICE_KIND_LINE_POWER,
268 NULL);278 NULL);
269 check_icon_names (device, "ac-adapter-symbolic;"279 EXPECT_ICON_NAMES_EQ("ac-adapter-symbolic;"
270 "ac-adapter");280 "ac-adapter",
281 device);
271282
272 // monitor283 // monitor
273 g_object_set (o, INDICATOR_POWER_DEVICE_KIND, UP_DEVICE_KIND_MONITOR,284 g_object_set (o, INDICATOR_POWER_DEVICE_KIND, UP_DEVICE_KIND_MONITOR,
274 NULL);285 NULL);
275 check_icon_names (device, "gpm-monitor-symbolic;"286 EXPECT_ICON_NAMES_EQ("gpm-monitor-symbolic;"
276 "gpm-monitor");287 "gpm-monitor",
288 device);
277289
278 // devices that hold a charge290 // devices that hold a charge
279 struct {291 struct {
@@ -301,7 +313,7 @@
301 g_string_append_printf (expected, "gpm-%s-empty;", kind_str);313 g_string_append_printf (expected, "gpm-%s-empty;", kind_str);
302 g_string_append_printf (expected, "gpm-%s-000;", kind_str);314 g_string_append_printf (expected, "gpm-%s-000;", kind_str);
303 g_string_append_printf (expected, "%s-empty", kind_str);315 g_string_append_printf (expected, "%s-empty", kind_str);
304 check_icon_names (device, expected->str);316 EXPECT_ICON_NAMES_EQ(expected->str, device);
305 g_string_truncate (expected, 0);317 g_string_truncate (expected, 0);
306318
307 // charged319 // charged
@@ -314,7 +326,7 @@
314 g_string_append_printf (expected, "gpm-%s-100;", kind_str);326 g_string_append_printf (expected, "gpm-%s-100;", kind_str);
315 g_string_append_printf (expected, "%s-full-charged;", kind_str);327 g_string_append_printf (expected, "%s-full-charged;", kind_str);
316 g_string_append_printf (expected, "%s-full-charging", kind_str);328 g_string_append_printf (expected, "%s-full-charging", kind_str);
317 check_icon_names (device, expected->str);329 EXPECT_ICON_NAMES_EQ(expected->str, device);
318 g_string_truncate (expected, 0);330 g_string_truncate (expected, 0);
319331
320 // charging, 95%332 // charging, 95%
@@ -326,7 +338,7 @@
326 g_string_append_printf (expected, "gpm-%s-100-charging;", kind_str);338 g_string_append_printf (expected, "gpm-%s-100-charging;", kind_str);
327 g_string_append_printf (expected, "%s-full-charging-symbolic;", kind_str);339 g_string_append_printf (expected, "%s-full-charging-symbolic;", kind_str);
328 g_string_append_printf (expected, "%s-full-charging", kind_str);340 g_string_append_printf (expected, "%s-full-charging", kind_str);
329 check_icon_names (device, expected->str);341 EXPECT_ICON_NAMES_EQ(expected->str, device);
330 g_string_truncate (expected, 0);342 g_string_truncate (expected, 0);
331343
332 // charging, 85%344 // charging, 85%
@@ -340,7 +352,7 @@
340 g_string_append_printf (expected, "gpm-%s-080-charging;", kind_str);352 g_string_append_printf (expected, "gpm-%s-080-charging;", kind_str);
341 g_string_append_printf (expected, "%s-full-charging-symbolic;", kind_str);353 g_string_append_printf (expected, "%s-full-charging-symbolic;", kind_str);
342 g_string_append_printf (expected, "%s-full-charging", kind_str);354 g_string_append_printf (expected, "%s-full-charging", kind_str);
343 check_icon_names (device, expected->str);355 EXPECT_ICON_NAMES_EQ(expected->str, device);
344 g_string_truncate (expected, 0);356 g_string_truncate (expected, 0);
345357
346 // charging, 50%358 // charging, 50%
@@ -354,7 +366,7 @@
354 g_string_append_printf (expected, "gpm-%s-060-charging;", kind_str);366 g_string_append_printf (expected, "gpm-%s-060-charging;", kind_str);
355 g_string_append_printf (expected, "%s-good-charging-symbolic;", kind_str);367 g_string_append_printf (expected, "%s-good-charging-symbolic;", kind_str);
356 g_string_append_printf (expected, "%s-good-charging", kind_str);368 g_string_append_printf (expected, "%s-good-charging", kind_str);
357 check_icon_names (device, expected->str);369 EXPECT_ICON_NAMES_EQ(expected->str, device);
358 g_string_truncate (expected, 0);370 g_string_truncate (expected, 0);
359371
360 // charging, 25%372 // charging, 25%
@@ -364,11 +376,11 @@
364 NULL);376 NULL);
365 g_string_append_printf (expected, "%s-030-charging;", kind_str);377 g_string_append_printf (expected, "%s-030-charging;", kind_str);
366 g_string_append_printf (expected, "gpm-%s-030-charging;", kind_str);378 g_string_append_printf (expected, "gpm-%s-030-charging;", kind_str);
367 g_string_append_printf (expected, "%s-020-charging;", kind_str);379 g_string_append_printf (expected, "%s-040-charging;", kind_str);
368 g_string_append_printf (expected, "gpm-%s-020-charging;", kind_str);380 g_string_append_printf (expected, "gpm-%s-040-charging;", kind_str);
369 g_string_append_printf (expected, "%s-low-charging-symbolic;", kind_str);381 g_string_append_printf (expected, "%s-low-charging-symbolic;", kind_str);
370 g_string_append_printf (expected, "%s-low-charging", kind_str);382 g_string_append_printf (expected, "%s-low-charging", kind_str);
371 check_icon_names (device, expected->str);383 EXPECT_ICON_NAMES_EQ(expected->str, device);
372 g_string_truncate (expected, 0);384 g_string_truncate (expected, 0);
373385
374 // charging, 5%386 // charging, 5%
@@ -382,7 +394,7 @@
382 g_string_append_printf (expected, "gpm-%s-000-charging;", kind_str);394 g_string_append_printf (expected, "gpm-%s-000-charging;", kind_str);
383 g_string_append_printf (expected, "%s-caution-charging-symbolic;", kind_str);395 g_string_append_printf (expected, "%s-caution-charging-symbolic;", kind_str);
384 g_string_append_printf (expected, "%s-caution-charging", kind_str);396 g_string_append_printf (expected, "%s-caution-charging", kind_str);
385 check_icon_names (device, expected->str);397 EXPECT_ICON_NAMES_EQ(expected->str, device);
386 g_string_truncate (expected, 0);398 g_string_truncate (expected, 0);
387399
388 // discharging, 95%400 // discharging, 95%
@@ -394,7 +406,7 @@
394 g_string_append_printf (expected, "gpm-%s-100;", kind_str);406 g_string_append_printf (expected, "gpm-%s-100;", kind_str);
395 g_string_append_printf (expected, "%s-full-symbolic;", kind_str);407 g_string_append_printf (expected, "%s-full-symbolic;", kind_str);
396 g_string_append_printf (expected, "%s-full", kind_str);408 g_string_append_printf (expected, "%s-full", kind_str);
397 check_icon_names (device, expected->str);409 EXPECT_ICON_NAMES_EQ(expected->str, device);
398 g_string_truncate (expected, 0);410 g_string_truncate (expected, 0);
399411
400 // discharging, 85%412 // discharging, 85%
@@ -408,7 +420,7 @@
408 g_string_append_printf (expected, "gpm-%s-080;", kind_str);420 g_string_append_printf (expected, "gpm-%s-080;", kind_str);
409 g_string_append_printf (expected, "%s-full-symbolic;", kind_str);421 g_string_append_printf (expected, "%s-full-symbolic;", kind_str);
410 g_string_append_printf (expected, "%s-full", kind_str);422 g_string_append_printf (expected, "%s-full", kind_str);
411 check_icon_names (device, expected->str);423 EXPECT_ICON_NAMES_EQ(expected->str, device);
412 g_string_truncate (expected, 0);424 g_string_truncate (expected, 0);
413425
414 // discharging, 50% -- 1 hour left426 // discharging, 50% -- 1 hour left
@@ -423,7 +435,7 @@
423 g_string_append_printf (expected, "gpm-%s-060;", kind_str);435 g_string_append_printf (expected, "gpm-%s-060;", kind_str);
424 g_string_append_printf (expected, "%s-good-symbolic;", kind_str);436 g_string_append_printf (expected, "%s-good-symbolic;", kind_str);
425 g_string_append_printf (expected, "%s-good", kind_str);437 g_string_append_printf (expected, "%s-good", kind_str);
426 check_icon_names (device, expected->str);438 EXPECT_ICON_NAMES_EQ(expected->str, device);
427 g_string_truncate (expected, 0);439 g_string_truncate (expected, 0);
428440
429 // discharging, 25% -- 1 hour left441 // discharging, 25% -- 1 hour left
@@ -434,11 +446,11 @@
434 NULL);446 NULL);
435 g_string_append_printf (expected, "%s-030;", kind_str);447 g_string_append_printf (expected, "%s-030;", kind_str);
436 g_string_append_printf (expected, "gpm-%s-030;", kind_str);448 g_string_append_printf (expected, "gpm-%s-030;", kind_str);
437 g_string_append_printf (expected, "%s-020;", kind_str);449 g_string_append_printf (expected, "%s-040;", kind_str);
438 g_string_append_printf (expected, "gpm-%s-020;", kind_str);450 g_string_append_printf (expected, "gpm-%s-040;", kind_str);
439 g_string_append_printf (expected, "%s-low-symbolic;", kind_str);451 g_string_append_printf (expected, "%s-low-symbolic;", kind_str);
440 g_string_append_printf (expected, "%s-low", kind_str);452 g_string_append_printf (expected, "%s-low", kind_str);
441 check_icon_names (device, expected->str);453 EXPECT_ICON_NAMES_EQ(expected->str, device);
442 g_string_truncate (expected, 0);454 g_string_truncate (expected, 0);
443455
444 // discharging, 25% -- 15 minutes left456 // discharging, 25% -- 15 minutes left
@@ -449,11 +461,11 @@
449 NULL);461 NULL);
450 g_string_append_printf (expected, "%s-030;", kind_str);462 g_string_append_printf (expected, "%s-030;", kind_str);
451 g_string_append_printf (expected, "gpm-%s-030;", kind_str);463 g_string_append_printf (expected, "gpm-%s-030;", kind_str);
452 g_string_append_printf (expected, "%s-020;", kind_str);464 g_string_append_printf (expected, "%s-040;", kind_str);
453 g_string_append_printf (expected, "gpm-%s-020;", kind_str);465 g_string_append_printf (expected, "gpm-%s-040;", kind_str);
454 g_string_append_printf (expected, "%s-low-symbolic;", kind_str);466 g_string_append_printf (expected, "%s-low-symbolic;", kind_str);
455 g_string_append_printf (expected, "%s-low", kind_str);467 g_string_append_printf (expected, "%s-low", kind_str);
456 check_icon_names (device, expected->str);468 EXPECT_ICON_NAMES_EQ(expected->str, device);
457 g_string_truncate (expected, 0);469 g_string_truncate (expected, 0);
458470
459 // discharging, 5% -- 1 hour left471 // discharging, 5% -- 1 hour left
@@ -468,7 +480,7 @@
468 g_string_append_printf (expected, "gpm-%s-000;", kind_str);480 g_string_append_printf (expected, "gpm-%s-000;", kind_str);
469 g_string_append_printf (expected, "%s-caution-symbolic;", kind_str);481 g_string_append_printf (expected, "%s-caution-symbolic;", kind_str);
470 g_string_append_printf (expected, "%s-caution", kind_str);482 g_string_append_printf (expected, "%s-caution", kind_str);
471 check_icon_names (device, expected->str);483 EXPECT_ICON_NAMES_EQ(expected->str, device);
472 g_string_truncate (expected, 0);484 g_string_truncate (expected, 0);
473485
474 // discharging, 5% -- 15 minutes left486 // discharging, 5% -- 15 minutes left
@@ -483,7 +495,7 @@
483 g_string_append_printf (expected, "gpm-%s-000;", kind_str);495 g_string_append_printf (expected, "gpm-%s-000;", kind_str);
484 g_string_append_printf (expected, "%s-caution-symbolic;", kind_str);496 g_string_append_printf (expected, "%s-caution-symbolic;", kind_str);
485 g_string_append_printf (expected, "%s-caution", kind_str);497 g_string_append_printf (expected, "%s-caution", kind_str);
486 check_icon_names (device, expected->str);498 EXPECT_ICON_NAMES_EQ(expected->str, device);
487 g_string_truncate (expected, 0);499 g_string_truncate (expected, 0);
488500
489 // state unknown501 // state unknown
@@ -493,7 +505,7 @@
493 g_string_append_printf (expected, "%s-missing-symbolic;", kind_str);505 g_string_append_printf (expected, "%s-missing-symbolic;", kind_str);
494 g_string_append_printf (expected, "gpm-%s-missing;", kind_str);506 g_string_append_printf (expected, "gpm-%s-missing;", kind_str);
495 g_string_append_printf (expected, "%s-missing", kind_str);507 g_string_append_printf (expected, "%s-missing", kind_str);
496 check_icon_names (device, expected->str);508 EXPECT_ICON_NAMES_EQ(expected->str, device);
497 g_string_truncate (expected, 0);509 g_string_truncate (expected, 0);
498 }510 }
499 g_string_free (expected, TRUE);511 g_string_free (expected, TRUE);

Subscribers

People subscribed via source and target branches