/** * Update the proximity monitoring */ static void update_proximity_monitor(void) { static gboolean old_enable = FALSE; /* Default to keeping the proximity sensor always enabled. */ gboolean enable = TRUE; if( !use_ps_conf_value ) { enable = FALSE; if( ps_acts_as_lid ) report_lid_input(COVER_UNDEF); else report_proximity(COVER_OPEN); } if( old_enable == enable ) goto EXIT; if( (old_enable = enable) ) { enable_proximity_monitor(); } else { disable_proximity_monitor(); } EXIT: return; }
/** * Update the proximity monitoring */ static void update_proximity_monitor(void) { static gboolean old_enable = FALSE; gboolean enable = FALSE; gboolean fake_open = FALSE; /* Default to keeping the proximity sensor always enabled. */ enable = TRUE; if( !use_ps_conf_value ) { fake_open = TRUE; enable = FALSE; } if( old_enable == enable ) goto EXIT; if( (old_enable = enable) ) { enable_proximity_monitor(); } else { disable_proximity_monitor(); } EXIT: if( !enable && fake_open ) report_proximity(COVER_OPEN); }