Compare commits
No commits in common. "c8s" and "c9" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
/upower-0.99.7.tar.xz
|
SOURCES/upower-0.99.13.tar.xz
|
||||||
|
1
.upower.metadata
Normal file
1
.upower.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
243293648009763df9fe46aec9390cedfa129a3b SOURCES/upower-0.99.13.tar.xz
|
@ -1,31 +1,35 @@
|
|||||||
Summary: Power Management Service
|
Summary: Power Management Service
|
||||||
Name: upower
|
Name: upower
|
||||||
Version: 0.99.7
|
Version: 0.99.13
|
||||||
Release: 4%{?dist}
|
Release: 2%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: System Environment/Libraries
|
|
||||||
URL: http://upower.freedesktop.org/
|
URL: http://upower.freedesktop.org/
|
||||||
Source0: http://upower.freedesktop.org/releases/upower-%{version}.tar.xz
|
Source0: https://gitlab.freedesktop.org/upower/upower/uploads/177df5b9f9b76f25a2ad9da41aa0c1fa/upower-0.99.13.tar.xz
|
||||||
|
|
||||||
|
|
||||||
|
BuildRequires: make
|
||||||
BuildRequires: sqlite-devel
|
BuildRequires: sqlite-devel
|
||||||
|
BuildRequires: git
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: intltool
|
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
BuildRequires: libgudev1-devel
|
BuildRequires: libgudev1-devel
|
||||||
%ifnarch s390 s390x
|
%ifnarch s390 s390x
|
||||||
BuildRequires: libusbx-devel
|
%if ! 0%{?rhel}
|
||||||
BuildRequires: libimobiledevice-devel
|
BuildRequires: libimobiledevice-devel
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
BuildRequires: glib2-devel >= 2.6.0
|
BuildRequires: glib2-devel >= 2.6.0
|
||||||
BuildRequires: gobject-introspection-devel
|
BuildRequires: gobject-introspection-devel
|
||||||
BuildRequires: gtk-doc
|
BuildRequires: gtk-doc
|
||||||
BuildRequires: systemd
|
BuildRequires: systemd
|
||||||
|
# Only required while we're patching configure.ac
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: gettext-devel
|
||||||
|
|
||||||
Requires: udev
|
Requires: udev
|
||||||
Requires: gobject-introspection
|
Requires: gobject-introspection
|
||||||
|
|
||||||
# 0.99.10 backport
|
|
||||||
Patch0: pending-charge.patch
|
|
||||||
|
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
# From rhughes-f20-gnome-3-12 copr
|
# From rhughes-f20-gnome-3-12 copr
|
||||||
Obsoletes: compat-upower09 < 0.99
|
Obsoletes: compat-upower09 < 0.99
|
||||||
@ -37,7 +41,6 @@ line tools for managing power devices attached to the system.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Headers and libraries for UPower
|
Summary: Headers and libraries for UPower
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
@ -52,9 +55,10 @@ BuildArch: noarch
|
|||||||
Developer documentation for for libupower-glib.
|
Developer documentation for for libupower-glib.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -p1 -S git
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
autoreconf -i
|
||||||
%configure \
|
%configure \
|
||||||
--enable-gtk-doc \
|
--enable-gtk-doc \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
@ -74,16 +78,25 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
|||||||
|
|
||||||
%ldconfig_scriptlets
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
%post
|
||||||
|
%systemd_post upower.service
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%systemd_preun upower.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%systemd_postun_with_restart upower.service
|
||||||
|
|
||||||
%files -f upower.lang
|
%files -f upower.lang
|
||||||
%{!?_licensedir:%global license %%doc}
|
%{!?_licensedir:%global license %%doc}
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%doc NEWS AUTHORS HACKING README
|
%doc NEWS AUTHORS HACKING README
|
||||||
%{_libdir}/libupower-glib.so.*
|
%{_libdir}/libupower-glib.so.*
|
||||||
%{_sysconfdir}/dbus-1/system.d/*.conf
|
%{_datadir}/dbus-1/system.d/*.conf
|
||||||
%ifnarch s390 s390x
|
%ifnarch s390 s390x
|
||||||
/usr/lib/udev/rules.d/*.rules
|
%{_udevrulesdir}/*.rules
|
||||||
%endif
|
%endif
|
||||||
%dir %{_localstatedir}/lib/upower
|
%ghost %dir %{_localstatedir}/lib/upower
|
||||||
%dir %{_sysconfdir}/UPower
|
%dir %{_sysconfdir}/UPower
|
||||||
%config %{_sysconfdir}/UPower/UPower.conf
|
%config %{_sysconfdir}/UPower/UPower.conf
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
@ -93,7 +106,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
|||||||
%{_mandir}/man7/*
|
%{_mandir}/man7/*
|
||||||
%{_mandir}/man8/*
|
%{_mandir}/man8/*
|
||||||
%{_datadir}/dbus-1/system-services/*.service
|
%{_datadir}/dbus-1/system-services/*.service
|
||||||
/usr/lib/systemd/system/*.service
|
%{_unitdir}/*.service
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_datadir}/dbus-1/interfaces/*.xml
|
%{_datadir}/dbus-1/interfaces/*.xml
|
||||||
@ -105,14 +118,89 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
|||||||
%{_includedir}/libupower-glib/upower.h
|
%{_includedir}/libupower-glib/upower.h
|
||||||
|
|
||||||
%files devel-docs
|
%files devel-docs
|
||||||
%{_datadir}/gtk-doc
|
%dir %{_datadir}/gtk-doc
|
||||||
%dir %{_datadir}/gtk-doc/html/UPower
|
%dir %{_datadir}/gtk-doc/html/UPower
|
||||||
%{_datadir}/gtk-doc/html/UPower/*
|
%{_datadir}/gtk-doc/html/UPower/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Dec 19 2022 Bastien Nocera <bnocera@redhat.com> - 0.99.7-4
|
* Mon Aug 23 2021 Benjamin Berg <bberg@redhat.com> - 0.99.13-2
|
||||||
- Fix pending-charge state on some laptops
|
- Rebuild with updated test dependencies
|
||||||
Resolves: rhbz#2130664
|
Related: #1994639
|
||||||
|
|
||||||
|
* Mon Aug 23 2021 Benjamin Berg <bberg@redhat.com> - 0.99.13-1
|
||||||
|
- Update to 0.99.13
|
||||||
|
Resolves: #1994639
|
||||||
|
|
||||||
|
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.99.11-11
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.99.11-10
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.11-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 19 2021 Bastien Nocera <bnocera@redhat.com> - 0.99.11-8
|
||||||
|
+ upower-0.99.11-8
|
||||||
|
- Remove USB dependency
|
||||||
|
|
||||||
|
* Tue Nov 24 2020 Bastien Nocera <bnocera@redhat.com> - 0.99.11-7
|
||||||
|
+ upower-0.99.11-7
|
||||||
|
- Disable libimobiledevice integration on RHEL
|
||||||
|
|
||||||
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.11-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 17 2020 Bastien Nocera <bnocera@redhat.com> - 0.99.11-5
|
||||||
|
+ upower-0.99.11-5
|
||||||
|
- Use upstreamed libplist patch
|
||||||
|
- Add support for iPhone XS,XR
|
||||||
|
|
||||||
|
* Tue Jun 16 2020 Adam Williamson <awilliam@redhat.com> - 0.99.11-4
|
||||||
|
- Fix imobiledevice support with new libplist, rebuild for soname bumps
|
||||||
|
|
||||||
|
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.11-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Sep 4 2019 Christian Kellner <ckellner@redhat.com> - 0.99.11-2
|
||||||
|
- Add systemd service snippets
|
||||||
|
- Use macros for _unitdir and _udevrulesdir
|
||||||
|
- Mark _datadir/gtk-doc as directory
|
||||||
|
|
||||||
|
* Tue Sep 3 2019 Christian Kellner <ckellner@redhat.com> - 0.99.11-1
|
||||||
|
- New upstream release 0.99.11
|
||||||
|
- Intltool has been replaced by gettext
|
||||||
|
- D-Bus configuration moved from sysconfdir to datadir
|
||||||
|
- Systemd is creating /var/lib/upower, so 'ghost' the dir
|
||||||
|
|
||||||
|
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.10-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 20 2019 Christian Kellner <ckellner@redhat.com> - 0.99.10-1
|
||||||
|
- New upstream release with the following changes:
|
||||||
|
- Set 'pending-charge' for DisplayDevice if at least one battery is in
|
||||||
|
the 'pending-charge' state
|
||||||
|
- Map pending-charge to fully-charged when charge is 100%
|
||||||
|
|
||||||
|
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.9-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Nov 20 2018 Christian Kellner <ckellner@redhat.com> - 0.99.9-1
|
||||||
|
- New upstream release
|
||||||
|
- Drop unneccessary patch to fix udev events access
|
||||||
|
- Fix daemon lockdown issues (keyboard backlight, AC status changes)
|
||||||
|
- Out-of-tree build fixes and documentation fixes
|
||||||
|
|
||||||
|
* Sun Oct 07 2018 Kalev Lember <klember@redhat.com> - 0.99.8-3
|
||||||
|
- Backport an upstream fix for upower not having access to udev events
|
||||||
|
|
||||||
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.8-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 19 2018 Bastien Nocera <bnocera@redhat.com> - 0.99.8-1
|
||||||
|
+ upower-0.99.8-1
|
||||||
|
- Update to 0.99.8
|
||||||
|
|
||||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.7-3
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.99.7-3
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
@ -1,6 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-8
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
|
@ -1,338 +0,0 @@
|
|||||||
From 91e9ccf69394d3c005f0386e92c8a84c158aa0c7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= <jprvita@endlessm.com>
|
|
||||||
Date: Thu, 1 Nov 2018 14:45:28 -0700
|
|
||||||
Subject: [PATCH 1/7] daemon: Make comment more succinct
|
|
||||||
|
|
||||||
This will help make it more clear when adding an extra state on the
|
|
||||||
following commit. It also makes the language consistent between the
|
|
||||||
different lines. There are no changes on the meaning of these lines nor
|
|
||||||
any functional changes on this commit.
|
|
||||||
---
|
|
||||||
src/up-daemon.c | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/up-daemon.c b/src/up-daemon.c
|
|
||||||
index 1a5dddc..95fff6b 100644
|
|
||||||
--- a/src/up-daemon.c
|
|
||||||
+++ b/src/up-daemon.c
|
|
||||||
@@ -209,9 +209,9 @@ up_daemon_update_display_battery (UpDaemon *daemon)
|
|
||||||
power_supply == FALSE)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- /* If one battery is charging, then the composite is charging
|
|
||||||
- * If all batteries are discharging, then the composite is discharging
|
|
||||||
- * If all batteries are fully charged, then they're all fully charged
|
|
||||||
+ /* If one battery is charging, the composite is charging
|
|
||||||
+ * If all batteries are discharging, the composite is discharging
|
|
||||||
+ * If all batteries are fully charged, the composite is fully charged
|
|
||||||
* Everything else is unknown */
|
|
||||||
if (state == UP_DEVICE_STATE_CHARGING)
|
|
||||||
state_total = UP_DEVICE_STATE_CHARGING;
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
||||||
|
|
||||||
From dc2de4e321c34e62a784ac6d9971f7defbf4984f Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= <jprvita@endlessm.com>
|
|
||||||
Date: Mon, 15 Oct 2018 17:05:27 -0700
|
|
||||||
Subject: [PATCH 2/7] daemon: Consider pending-charge when calculating the
|
|
||||||
display state
|
|
||||||
|
|
||||||
Without this change if all batteries in the system are in the
|
|
||||||
pending-charge state, the display device state is set to unknown, and
|
|
||||||
its icon to battery-missing-symbolic.
|
|
||||||
|
|
||||||
This change makes the pending-charge state be considered when
|
|
||||||
calculating the DisplayDevice state, setting it to pending-charge if at
|
|
||||||
least one battery in the system is pending-charge and no other is
|
|
||||||
charging or discharging.
|
|
||||||
|
|
||||||
Closes: #81
|
|
||||||
Closes: #19
|
|
||||||
---
|
|
||||||
src/up-daemon.c | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/up-daemon.c b/src/up-daemon.c
|
|
||||||
index 95fff6b..690f379 100644
|
|
||||||
--- a/src/up-daemon.c
|
|
||||||
+++ b/src/up-daemon.c
|
|
||||||
@@ -210,14 +210,18 @@ up_daemon_update_display_battery (UpDaemon *daemon)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* If one battery is charging, the composite is charging
|
|
||||||
- * If all batteries are discharging, the composite is discharging
|
|
||||||
+ * If all batteries are discharging or pending-charge, the composite is discharging
|
|
||||||
* If all batteries are fully charged, the composite is fully charged
|
|
||||||
+ * If one battery is pending-charge and no other is charging or discharging, then the composite is pending-charge
|
|
||||||
* Everything else is unknown */
|
|
||||||
if (state == UP_DEVICE_STATE_CHARGING)
|
|
||||||
state_total = UP_DEVICE_STATE_CHARGING;
|
|
||||||
else if (state == UP_DEVICE_STATE_DISCHARGING &&
|
|
||||||
state_total != UP_DEVICE_STATE_CHARGING)
|
|
||||||
state_total = UP_DEVICE_STATE_DISCHARGING;
|
|
||||||
+ else if (state == UP_DEVICE_STATE_PENDING_CHARGE &&
|
|
||||||
+ (state_total == UP_DEVICE_STATE_UNKNOWN || state_total == UP_DEVICE_STATE_PENDING_CHARGE))
|
|
||||||
+ state_total = UP_DEVICE_STATE_PENDING_CHARGE;
|
|
||||||
else if (state == UP_DEVICE_STATE_FULLY_CHARGED &&
|
|
||||||
state_total == UP_DEVICE_STATE_UNKNOWN)
|
|
||||||
state_total = UP_DEVICE_STATE_FULLY_CHARGED;
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
||||||
|
|
||||||
From 4420273ca55a6f6e97dd5075bca63e8a012c8794 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= <jprvita@endlessm.com>
|
|
||||||
Date: Fri, 2 Nov 2018 09:49:33 -0700
|
|
||||||
Subject: [PATCH 3/7] integration-test: Define PENDING_CHARGE and
|
|
||||||
PENDING_DISCHARGE states
|
|
||||||
|
|
||||||
Add definitions for UP_DEVICE_STATE_PENDING_CHARGE and
|
|
||||||
UP_DEVICE_STATE_PENDING_DISCHARGE.
|
|
||||||
---
|
|
||||||
src/linux/integration-test | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/linux/integration-test b/src/linux/integration-test
|
|
||||||
index 81064dd..fbd95da 100755
|
|
||||||
--- a/src/linux/integration-test
|
|
||||||
+++ b/src/linux/integration-test
|
|
||||||
@@ -60,7 +60,9 @@ BATTERY_IFACE = 'org.bluez.Battery1'
|
|
||||||
UP_DEVICE_STATE_CHARGING,
|
|
||||||
UP_DEVICE_STATE_DISCHARGING,
|
|
||||||
UP_DEVICE_STATE_EMPTY,
|
|
||||||
- UP_DEVICE_STATE_FULLY_CHARGED) = (0, 1, 2, 3, 4)
|
|
||||||
+ UP_DEVICE_STATE_FULLY_CHARGED,
|
|
||||||
+ UP_DEVICE_STATE_PENDING_CHARGE,
|
|
||||||
+ UP_DEVICE_STATE_PENDING_DISCHARGE) = (0, 1, 2, 3, 4, 5, 6)
|
|
||||||
|
|
||||||
(UP_DEVICE_LEVEL_UNKNOWN,
|
|
||||||
UP_DEVICE_LEVEL_NONE,
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
||||||
|
|
||||||
From ec968accf4038a48a1bc8a1a8c177a7550739233 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= <jprvita@endlessm.com>
|
|
||||||
Date: Fri, 2 Nov 2018 09:55:22 -0700
|
|
||||||
Subject: [PATCH 4/7] integration-test: Test DisplayDevice pending-charge
|
|
||||||
|
|
||||||
Test relaying the pending-charge state to the DisplayDevice. This commit
|
|
||||||
adds three tests: only one battery pending-charge, one battery
|
|
||||||
pending-charge and another one discharging, and one battery
|
|
||||||
pending-charge and another one charging.
|
|
||||||
---
|
|
||||||
src/linux/integration-test | 72 ++++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 72 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/linux/integration-test b/src/linux/integration-test
|
|
||||||
index fbd95da..ad6dade 100755
|
|
||||||
--- a/src/linux/integration-test
|
|
||||||
+++ b/src/linux/integration-test
|
|
||||||
@@ -491,6 +491,78 @@ class Tests(dbusmock.DBusTestCase):
|
|
||||||
self.assertEqual(self.get_dbus_display_property('WarningLevel'), UP_DEVICE_LEVEL_NONE)
|
|
||||||
self.stop_daemon()
|
|
||||||
|
|
||||||
+ def test_display_pending_charge_one_battery(self):
|
|
||||||
+ '''One battery pending-charge'''
|
|
||||||
+
|
|
||||||
+ self.testbed.add_device('power_supply', 'BAT0', None,
|
|
||||||
+ ['type', 'Battery',
|
|
||||||
+ 'present', '1',
|
|
||||||
+ 'status', 'Not charging',
|
|
||||||
+ 'charge_full', '10500000',
|
|
||||||
+ 'charge_full_design', '11000000',
|
|
||||||
+ 'capacity', '40',
|
|
||||||
+ 'voltage_now', '12000000'], [])
|
|
||||||
+
|
|
||||||
+ self.start_daemon()
|
|
||||||
+ devs = self.proxy.EnumerateDevices()
|
|
||||||
+ self.assertEqual(len(devs), 1)
|
|
||||||
+ self.assertEqual(self.get_dbus_display_property('State'), UP_DEVICE_STATE_PENDING_CHARGE)
|
|
||||||
+ self.stop_daemon()
|
|
||||||
+
|
|
||||||
+ def test_display_pending_charge_other_battery_discharging(self):
|
|
||||||
+ '''One battery pending-charge and another one discharging'''
|
|
||||||
+
|
|
||||||
+ self.testbed.add_device('power_supply', 'BAT0', None,
|
|
||||||
+ ['type', 'Battery',
|
|
||||||
+ 'present', '1',
|
|
||||||
+ 'status', 'Not charging',
|
|
||||||
+ 'charge_full', '10500000',
|
|
||||||
+ 'charge_full_design', '11000000',
|
|
||||||
+ 'capacity', '40',
|
|
||||||
+ 'voltage_now', '12000000'], [])
|
|
||||||
+ self.testbed.add_device('power_supply', 'BAT1', None,
|
|
||||||
+ ['type', 'Battery',
|
|
||||||
+ 'present', '1',
|
|
||||||
+ 'status', 'Discharging',
|
|
||||||
+ 'charge_full', '10500000',
|
|
||||||
+ 'charge_full_design', '11000000',
|
|
||||||
+ 'capacity', '40',
|
|
||||||
+ 'voltage_now', '12000000'], [])
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ self.start_daemon()
|
|
||||||
+ devs = self.proxy.EnumerateDevices()
|
|
||||||
+ self.assertEqual(len(devs), 2)
|
|
||||||
+ self.assertEqual(self.get_dbus_display_property('State'), UP_DEVICE_STATE_DISCHARGING)
|
|
||||||
+ self.stop_daemon()
|
|
||||||
+
|
|
||||||
+ def test_display_pending_charge_other_battery_charging(self):
|
|
||||||
+ '''One battery pending-charge and another one charging'''
|
|
||||||
+
|
|
||||||
+ self.testbed.add_device('power_supply', 'BAT0', None,
|
|
||||||
+ ['type', 'Battery',
|
|
||||||
+ 'present', '1',
|
|
||||||
+ 'status', 'Not charging',
|
|
||||||
+ 'charge_full', '10500000',
|
|
||||||
+ 'charge_full_design', '11000000',
|
|
||||||
+ 'capacity', '40',
|
|
||||||
+ 'voltage_now', '12000000'], [])
|
|
||||||
+ self.testbed.add_device('power_supply', 'BAT1', None,
|
|
||||||
+ ['type', 'Battery',
|
|
||||||
+ 'present', '1',
|
|
||||||
+ 'status', 'Charging',
|
|
||||||
+ 'charge_full', '10500000',
|
|
||||||
+ 'charge_full_design', '11000000',
|
|
||||||
+ 'capacity', '40',
|
|
||||||
+ 'voltage_now', '12000000'], [])
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ self.start_daemon()
|
|
||||||
+ devs = self.proxy.EnumerateDevices()
|
|
||||||
+ self.assertEqual(len(devs), 2)
|
|
||||||
+ self.assertEqual(self.get_dbus_display_property('State'), UP_DEVICE_STATE_CHARGING)
|
|
||||||
+ self.stop_daemon()
|
|
||||||
+
|
|
||||||
def test_battery_charge(self):
|
|
||||||
'''battery which reports charge instead of energy
|
|
||||||
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
||||||
|
|
||||||
From 9318e73c8cd55522829970a74dc9d6ca59e4f828 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= <jprvita@endlessm.com>
|
|
||||||
Date: Fri, 2 Nov 2018 16:05:21 -0700
|
|
||||||
Subject: [PATCH 5/7] linux: Don't set out_state before state is final
|
|
||||||
|
|
||||||
Currently up_device_supply_refresh_battery sets out_state before the
|
|
||||||
state value is definitive, so the wrong state value is returned to the
|
|
||||||
caller. Luckily the only caller does not make use of this value at the
|
|
||||||
moment, so there are no user-visible consequences. Nonetheless this is a
|
|
||||||
bug, so this commit fixes it.
|
|
||||||
---
|
|
||||||
src/linux/up-device-supply.c | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
|
|
||||||
index 11a14e1..993cf12 100644
|
|
||||||
--- a/src/linux/up-device-supply.c
|
|
||||||
+++ b/src/linux/up-device-supply.c
|
|
||||||
@@ -664,7 +664,6 @@ up_device_supply_refresh_battery (UpDeviceSupply *supply,
|
|
||||||
}
|
|
||||||
|
|
||||||
state = up_device_supply_get_state (native_path);
|
|
||||||
- *out_state = state;
|
|
||||||
|
|
||||||
/* reset unknown counter */
|
|
||||||
if (state != UP_DEVICE_STATE_UNKNOWN) {
|
|
||||||
@@ -834,6 +833,8 @@ up_device_supply_refresh_battery (UpDeviceSupply *supply,
|
|
||||||
supply->priv->energy_old_first = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ *out_state = state;
|
|
||||||
+
|
|
||||||
g_object_set (device,
|
|
||||||
"energy", energy,
|
|
||||||
"energy-full", energy_full,
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
||||||
|
|
||||||
From ebea310f15cb61a3f5558800a45951d3c885201d Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= <jprvita@endlessm.com>
|
|
||||||
Date: Mon, 26 Nov 2018 13:12:18 -0800
|
|
||||||
Subject: [PATCH 6/7] linux: Map pending-charge to fully-charged when charge is
|
|
||||||
100%
|
|
||||||
|
|
||||||
Some devices report "Not charging" when the battery is full and AC power
|
|
||||||
is connected. In this situation we should report fully-charged instead
|
|
||||||
of pending-charge.
|
|
||||||
|
|
||||||
Closes: #86.
|
|
||||||
---
|
|
||||||
src/linux/up-device-supply.c | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
|
|
||||||
index 993cf12..42971da 100644
|
|
||||||
--- a/src/linux/up-device-supply.c
|
|
||||||
+++ b/src/linux/up-device-supply.c
|
|
||||||
@@ -733,6 +733,12 @@ up_device_supply_refresh_battery (UpDeviceSupply *supply,
|
|
||||||
percentage = CLAMP(percentage, 0.0f, 100.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Some devices report "Not charging" when the battery is full and AC
|
|
||||||
+ * power is connected. In this situation we should report fully-charged
|
|
||||||
+ * instead of pending-charge. */
|
|
||||||
+ if (state == UP_DEVICE_STATE_PENDING_CHARGE && percentage == 100.0)
|
|
||||||
+ state = UP_DEVICE_STATE_FULLY_CHARGED;
|
|
||||||
+
|
|
||||||
/* the battery isn't charging or discharging, it's just
|
|
||||||
* sitting there half full doing nothing: try to guess a state */
|
|
||||||
if (state == UP_DEVICE_STATE_UNKNOWN && supply->priv->is_power_supply) {
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
||||||
|
|
||||||
From b327348ac160b57430ba4d2662835513ea35c08c Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= <jprvita@endlessm.com>
|
|
||||||
Date: Mon, 26 Nov 2018 13:13:00 -0800
|
|
||||||
Subject: [PATCH 7/7] integration-test: Test mapping pending-charge to
|
|
||||||
fully-charged
|
|
||||||
|
|
||||||
---
|
|
||||||
src/linux/integration-test | 25 +++++++++++++++++++++++++
|
|
||||||
1 file changed, 25 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/linux/integration-test b/src/linux/integration-test
|
|
||||||
index ad6dade..c6fb5c0 100755
|
|
||||||
--- a/src/linux/integration-test
|
|
||||||
+++ b/src/linux/integration-test
|
|
||||||
@@ -563,6 +563,31 @@ class Tests(dbusmock.DBusTestCase):
|
|
||||||
self.assertEqual(self.get_dbus_display_property('State'), UP_DEVICE_STATE_CHARGING)
|
|
||||||
self.stop_daemon()
|
|
||||||
|
|
||||||
+ def test_map_pending_charge_to_fully_charged(self):
|
|
||||||
+ '''Map pending-charge to fully-charged'''
|
|
||||||
+
|
|
||||||
+ bat0 = self.testbed.add_device('power_supply', 'BAT0', None,
|
|
||||||
+ ['type', 'Battery',
|
|
||||||
+ 'present', '1',
|
|
||||||
+ 'status', 'Not charging',
|
|
||||||
+ 'charge_full', '10500000',
|
|
||||||
+ 'charge_full_design', '11000000',
|
|
||||||
+ 'capacity', '100',
|
|
||||||
+ 'voltage_now', '12000000'], [])
|
|
||||||
+
|
|
||||||
+ self.start_daemon()
|
|
||||||
+ devs = self.proxy.EnumerateDevices()
|
|
||||||
+ self.assertEqual(len(devs), 1)
|
|
||||||
+ bat0_up = devs[0]
|
|
||||||
+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'), UP_DEVICE_STATE_FULLY_CHARGED)
|
|
||||||
+ self.stop_daemon()
|
|
||||||
+
|
|
||||||
+ # and make sure we still return pending-charge below 100%
|
|
||||||
+ self.testbed.set_attribute(bat0, 'capacity', '99')
|
|
||||||
+ self.start_daemon()
|
|
||||||
+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'), UP_DEVICE_STATE_PENDING_CHARGE)
|
|
||||||
+ self.stop_daemon()
|
|
||||||
+
|
|
||||||
def test_battery_charge(self):
|
|
||||||
'''battery which reports charge instead of energy
|
|
||||||
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user