int ret = 0;
enum syscommon_deviced_battery_health_type battery_health;
char *battery_health_s = NULL;
+ bool battery_do_not_disturb = false;
health_timer_reset();
}
syscommon_notifier_emit_notify(DEVICED_NOTIFIER_BATTERY_HEALTH, (void *)&battery_health);
- battery_pm_change_internal(DEVICED_EVENT_MISC_POPUP, LCD_DIM);
- display_lock_request_unlock_with_option(DEVICED_EVENT_MISC_POPUP, LCD_OFF, PM_SLEEP_MARGIN);
- display_lock_request_lock_with_option(DEVICED_EVENT_MISC_POPUP, LCD_DIM, STAY_CUR_STATE, 0);
- if (battery_health == SYSCOMMON_DEVICED_BATTERY_HEALTH_LOW)
- battery_charge_err_low_act(NULL);
- else if (battery_health == SYSCOMMON_DEVICED_BATTERY_HEALTH_HIGH)
- battery_charge_err_high_act(NULL);
+ ret = syscommon_resman_get_resource_attr_bool(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_BATTERY),
+ DEVICED_BATTERY_ATTR_BOOL_DO_NOT_DISTURB, &battery_do_not_disturb);
+ if (ret == 0 && !battery_do_not_disturb)
+ syscommon_resman_set_resource_attr_uint64_2(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_TUPLE2_CURRENT_STATE_WITH_OPTION, DEVICED_EVENT_MISC_POPUP, SYSCOMMON_DEVICED_DISPLAY_STATE_DIM);
+
+ syscommon_resman_set_resource_attr_uint64_3(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_TUPLE3_UNLOCK_WITH_OPTION, DEVICED_EVENT_MISC_POPUP,
+ SYSCOMMON_DEVICED_DISPLAY_STATE_OFF, DEVICED_DISPLAY_LOCK_SLEEP_MARGIN);
+
+ syscommon_resman_set_resource_attr_uint64_4(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_TUPLE4_LOCK_WITH_OPTION, DEVICED_EVENT_MISC_POPUP,
+ SYSCOMMON_DEVICED_DISPLAY_STATE_DIM, DEVICED_DISPLAY_STATE_STAY_CUR_STATE, 0);
+
+ if (battery_health == SYSCOMMON_DEVICED_BATTERY_HEALTH_LOW) {
+ syscommon_resman_set_resource_attr_uint64_4(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_TUPLE4_LOCK_WITH_OPTION, DEVICED_EVENT_BATTERY_HEALTH_OVERCOOL,
+ SYSCOMMON_DEVICED_DISPLAY_STATE_OFF, DEVICED_DISPLAY_STATE_STAY_CUR_STATE, 60000);
+ syscommon_resman_set_resource_attr_int(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_BATTERY),
+ DEVICED_BATTERY_ATTR_INT_LOW_BATTERY_POPUP, SYSCOMMON_DEVICED_BATTERY_OPT_ERR_TEMP_LOW);
+ } else if (battery_health == SYSCOMMON_DEVICED_BATTERY_HEALTH_HIGH) {
+ syscommon_resman_set_resource_attr_uint64_4(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_TUPLE4_LOCK_WITH_OPTION, DEVICED_EVENT_BATTERY_HEALTH_OVERHEAT,
+ SYSCOMMON_DEVICED_DISPLAY_STATE_OFF, DEVICED_DISPLAY_STATE_STAY_CUR_STATE, 60000);
+ syscommon_resman_set_resource_attr_int(SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_BATTERY),
+ DEVICED_BATTERY_ATTR_INT_LOW_BATTERY_POPUP, SYSCOMMON_DEVICED_BATTERY_OPT_ERR_TEMP_HIGH);
+ }
+
return G_SOURCE_REMOVE;
}