r3359 - in trunk/src/target/OM-2007.2/panel-plugins: openmoko-panel-battery/src openmoko-panel-usb/src
mickey at sita.openmoko.org
mickey at sita.openmoko.org
Mon Nov 5 13:22:04 CET 2007
Author: mickey
Date: 2007-11-05 13:22:04 +0100 (Mon, 05 Nov 2007)
New Revision: 3359
Modified:
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c
Log:
usb|battery panel plugin: take into account usb enumeration timings
Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c 2007-11-05 11:53:08 UTC (rev 3358)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c 2007-11-05 12:22:04 UTC (rev 3359)
@@ -53,19 +53,27 @@
#define CHARGER_DBUS_PATH "/org/freedesktop/PowerManagement"
#define CHARGER_DBUS_INTERFACE "org.freedesktop.PowerManagement"
-DBusHandlerResult signal_filter (DBusConnection *bus, DBusMessage *msg, void *user_data)
+static gboolean battery_applet_usb_timeout( BatteryApplet* applet )
{
- g_debug( "signal_filter" );
+ timeout( applet );
+ return FALSE;
+}
+
+DBusHandlerResult signal_filter( DBusConnection *bus, DBusMessage *msg, BatteryApplet* applet )
+{
+ g_debug( "battery_applet: signal_filter" );
if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerConnected" ) )
{
- g_debug( "connected" );
- timeout( user_data );
+ g_debug( "charger connected" );
+ // NOTE Bus Enumeration and entering Charging Mode takes a while. If we immediately
+ // call timeout here, we will most likely not yet have entered charging mode
+ g_timeout_add_seconds( 3, (GSourceFunc) battery_applet_usb_timeout, applet );
return DBUS_HANDLER_RESULT_HANDLED;
}
else if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerDisconnected" ) )
{
- g_debug( "disconnected" );
- timeout( user_data );
+ g_debug( "charger disconnected" );
+ timeout( applet );
return DBUS_HANDLER_RESULT_HANDLED;
}
@@ -98,9 +106,9 @@
/* Called frequently */
-static gboolean
-timeout (BatteryApplet *applet)
+static gboolean timeout( BatteryApplet *applet )
{
+ g_debug( "battery_applet: timeout" );
char* icon;
static int last_status = -123; /* the status last time we checked */
Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c 2007-11-05 11:53:08 UTC (rev 3358)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c 2007-11-05 12:22:04 UTC (rev 3359)
@@ -43,16 +43,16 @@
{
UsbApplet* applet = (UsbApplet*) user_data;
- g_debug( "signal_filter" );
+ g_debug( "usb_applet: signal_filter" );
if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerConnected" ) )
{
- g_debug( "connected" );
+ g_debug( "-- charger connected" );
usb_applet_update_status( applet, TRUE );
return DBUS_HANDLER_RESULT_HANDLED;
}
else if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerDisconnected" ) )
{
- g_debug( "disconnected" );
+ g_debug( "-- charger disconnected" );
usb_applet_update_status( applet, FALSE );
return DBUS_HANDLER_RESULT_HANDLED;
}
More information about the commitlog
mailing list