Changeset 3359


Ignore:
Timestamp:
11/05/07 13:22:04 (6 years ago)
Author:
mickey
Message:

usb|battery panel plugin: take into account usb enumeration timings

Location:
trunk/src/target/OM-2007.2/panel-plugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c

    r3356 r3359  
    5454#define CHARGER_DBUS_INTERFACE    "org.freedesktop.PowerManagement" 
    5555 
    56 DBusHandlerResult signal_filter (DBusConnection *bus, DBusMessage *msg, void *user_data) 
     56static gboolean battery_applet_usb_timeout( BatteryApplet* applet ) 
    5757{ 
    58     g_debug( "signal_filter" ); 
     58    timeout( applet ); 
     59    return FALSE; 
     60} 
     61 
     62DBusHandlerResult signal_filter( DBusConnection *bus, DBusMessage *msg, BatteryApplet* applet ) 
     63{ 
     64    g_debug( "battery_applet: signal_filter" ); 
    5965    if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerConnected" ) ) 
    6066    { 
    61         g_debug( "connected" ); 
    62         timeout( user_data ); 
     67        g_debug( "charger connected" ); 
     68        // NOTE Bus Enumeration and entering Charging Mode takes a while. If we immediately 
     69        // call timeout here, we will most likely not yet have entered charging mode 
     70        g_timeout_add_seconds( 3, (GSourceFunc) battery_applet_usb_timeout, applet ); 
    6371        return DBUS_HANDLER_RESULT_HANDLED; 
    6472    } 
    6573    else if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerDisconnected" ) ) 
    6674    { 
    67         g_debug( "disconnected" ); 
    68         timeout( user_data ); 
     75        g_debug( "charger disconnected" ); 
     76        timeout( applet ); 
    6977        return DBUS_HANDLER_RESULT_HANDLED; 
    7078    } 
     
    99107 
    100108/* Called frequently */ 
    101 static gboolean 
    102 timeout (BatteryApplet *applet) 
     109static gboolean timeout( BatteryApplet *applet ) 
    103110{ 
     111    g_debug( "battery_applet: timeout" ); 
    104112    char* icon; 
    105113    static int last_status = -123; /* the status last time we checked */ 
  • trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c

    r3354 r3359  
    4444    UsbApplet* applet = (UsbApplet*) user_data; 
    4545 
    46     g_debug( "signal_filter" ); 
     46    g_debug( "usb_applet: signal_filter" ); 
    4747    if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerConnected" ) ) 
    4848    { 
    49         g_debug( "connected" ); 
     49        g_debug( "-- charger connected" ); 
    5050        usb_applet_update_status( applet, TRUE ); 
    5151        return DBUS_HANDLER_RESULT_HANDLED; 
     
    5353    else if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerDisconnected" ) ) 
    5454    { 
    55         g_debug( "disconnected" ); 
     55        g_debug( "-- charger disconnected" ); 
    5656        usb_applet_update_status( applet, FALSE ); 
    5757        return DBUS_HANDLER_RESULT_HANDLED; 
Note: See TracChangeset for help on using the changeset viewer.