| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Check that external devices which show up as "battery" types have their
capacity_level correctly read, and that the device's type will be
correctly read after an input node is attached.
|
|
|
|
|
|
|
|
| |
This check is supposed to start a poll for 1) batteries embedded in
external devices 2) batteries when battery polling is not disabled.
Make sure to start the poll for all batteries embedded in devices even
the ones that are just detected as "battery".
|
|
|
|
|
|
|
|
|
|
| |
On some devices the power_supply node will show up before a related node
such as "input", making it impossible to know which type of device we're
attached to without waiting. Try to detect the device type again if the
device type is still "battery".
This fixes some Logitech devices appearing as "Battery" instead of their
respective device type, such as "mouse".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the correct refresh function for device batteries which aren't of a
known type. This fixes battery information not getting updated on many
Logitech wireless devices.
Reproducer:
- Unplug Logitech receiver
- Replug Logitech receiver
- Press button on Logitech keyboard
- Move mouse/touchpad
The touchpad battery would be stuck in "unknown" and with a "type" of
battery. This commit forces the correct refresh function to be used, one
that reads the capacity_level on those devices, and will update the
overall battery level.
Closes: #72
|
|
|
|
|
| |
They might be device batteries where the device type is not known or
catalogued.
|
|
|
|
| |
Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This directory may not exist when cleaning out /var (e. g. on stateless
systems). As upowerd cannot mkdir it by itself due to `ProtectSystem`,
let systemd create it via `StateDirectory`.
Keep `ReadWritePaths` and the `mkdir` in the Makefile to continue to
support a non-default `--historydir`.
|
|
|
|
|
|
|
|
|
|
|
| |
To better support stateless systems with an empty /etc, the old location
in /etc/dbus-1/system.d/ should only be used for local admin changes.
Package provided D-Bus policy files are supposed to be installed in
/usr/share/dbus-1/system.d/.
This is supported since dbus 1.9.18.
https://lists.freedesktop.org/archives/dbus/2015-July/016746.html
|
|
|
|
|
|
| |
G_TYPE_INSTANCE_GET_PRIVATE has been deprecated since glib version
2.58 and should be replaced with the xxx_get_instance_private (obj)
which is generated by G_ADD_PRIVATE.
|
|
|
|
|
|
|
|
| |
Use G_DEFINE_TYPE_WITH_CODE (..., G_PRIVATE_ADD (...)) instead of
the (deprecated since glib 2.58) function g_type_class_add_private
to add a private structure for a type.
Bump the minimal required version of glib to 2.38.0, the version
where G_PRIVATE_ADD was added.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Add definitions for UP_DEVICE_STATE_PENDING_CHARGE and
UP_DEVICE_STATE_PENDING_DISCHARGE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
automake's documentation says that it works depth-first, but it doesn't
actually go depth first when dist'ing a directory. So our .ref.xml files
aren't generated when we try to get them added to the dist.
Fix this with a big hammer by moving the generation to the current
directory, rather than spending any more time working with automake.
Can't wait for the meson port.
|
| |
|
|
|
|
| |
Also define "value" as a signed 32 bits integer
|
|
|
|
| |
See https://gitlab.freedesktop.org/upower/upower/merge_requests/16#note_41003
|
|
|
|
|
|
|
| |
Disabling kernel tunables blocked us from accessing /sys, meaning we
couldn't change keyboard backlight levels.
Closes: #73
|
|
|
|
| |
So that this particular setup is tested.
|
|
|
|
|
|
| |
When the layout of the build tree doesn't match the expectations in
up-self-test, the test would crash failing to find UPower.conf. Pass the
path as a macro during build so we always know where it is.
|
|
|
|
|
|
|
|
|
| |
The generated headers for the dbus service are in the build dir, not
the source dir.
../../libupower-glib/up-client.c:39:10: fatal error: up-daemon-generated.h: No such file or directory
#include "up-daemon-generated.h"
^~~~~~~~~~~~~~~~~~~~~~~
|
| |
|
|
|
|
|
|
|
|
|
| |
PrivateNetwork=true will cut off upower from the udev netlink socket, so
it's not what we want to use, as we want those events.
See https://lists.freedesktop.org/archives/systemd-devel/2018-July/041000.html
Closes: #68
|
|
|
|
| |
It doesn't return a UpClient.
|
| |
|
|
|
|
|
|
| |
This ensures consistent rendering.
See https://developer.gnome.org/gtk-doc-manual/stable/documenting_sections.html.en
|
|
|
|
|
|
|
|
|
|
| |
Without the braces on the same line gtk-doc adds function pointers as
functions to the documentation and fails to detect the types as
GObjects. This fixes object names in the index and cross refs.
See the examples in
https://developer.gnome.org/gtk-doc-manual/stable/documenting_symbols.html.en
|
|
|
|
|
| |
This makes sure we stay up to date and get the object hierarchy
generated.
|
| |
|
|
|
|
| |
See https://gitlab.freedesktop.org/upower/upower/issues/56
|
|
|
|
|
|
|
|
|
| |
Pull the 2 previous changes together to refresh the battery status for a
couple of seconds after receiving an event on the power line. This fixes
charge status being inaccurate for up to 120 seconds (the normal poll
timeout on MacBooks).
https://gitlab.freedesktop.org/upower/upower/issues/56
|
|
|
|
|
|
|
|
| |
When an event happens on the power line, and we are using a particular
device (in this case a MacBook or MacBookAir), we might need to poll
more aggressively after the event.
This adds a function to detect and export this.
|
|
|
|
|
| |
Rather than 5 calls to up_device_supply_setup_unknown_poll(), which
can happen pretty quickly together after receiving a uevent.
|
|
|
|
|
|
|
|
|
| |
Fix double-close on exit. If we created a GIOChannel from the file
descriptor, then g_io_channel_shutdown() will close that file descriptor
as well. Close the channel first, so that the file descriptor is only
closed manually if we didn't manage to create a GIOChannel from it.
https://gitlab.freedesktop.org/upower/upower/issues/60
|
|\
| |
| |
| |
| | |
build: Add CI
See merge request upower/upower!9
|
|/ |
|
|
|
|
|
|
| |
Don't leave the history files installed when running "make uninstall".
Those files will likely have been created by the test suite when running
"make distcheck"
|
| |
|
|
|
|
|
|
| |
sysfs_get_double_with_error() used to return -1.0 for errors, but in
some cases, we might want -1.0 to be a valid value, such as for negative
discharge rates. Return FALSE on error instead.
|
|
|
|
|
|
|
|
|
|
| |
This is part of more broader commitment Red Hat along with IBM, Google, and
Facebook made in November 2017.
More on this can be found online:
https://www.redhat.com/en/blog/fostering-greater-open-source-development &
https://www.redhat.com/en/about/gplv3-enforcement-statement
|
|\
| |
| |
| |
| | |
lib: Add a new version of up_client_get_devices which unrefs contents
See merge request upower/upower!1
|
|/
|
|
|
|
| |
The existing function didn't set the free function on the GPtrArray.
This means a libupower user can easily make a mistake in the reference
counting of the array contents.
|