void android_server_PowerManagerService_userActivity(nsecs_t eventTime, int32_t eventType) {
// Tell the power HAL when user activity occurs.
if (gPowerModule && gPowerModule->powerHint) {
- int data_param = 0;
- gPowerModule->powerHint(gPowerModule, POWER_HINT_INTERACTION, &data_param);
+ gPowerModule->powerHint(gPowerModule, POWER_HINT_INTERACTION, NULL);
}
if (gPowerManagerServiceObj) {
}
}
+static bool isCustomHint(jint hintId) {
+ switch (hintId) {
+ case POWER_HINT_CPU_BOOST:
+ case POWER_HINT_SET_PROFILE:
+ return true;
+ default:
+ return false;
+ }
+}
+
static void nativeSendPowerHint(JNIEnv *env, jclass clazz, jint hintId, jint data) {
int data_param = data;
if (gPowerModule && gPowerModule->powerHint) {
- gPowerModule->powerHint(gPowerModule, (power_hint_t)hintId, &data_param);
+ if (data || isCustomHint(hintId)) {
+ gPowerModule->powerHint(gPowerModule, (power_hint_t)hintId, &data_param);
+ } else {
+ gPowerModule->powerHint(gPowerModule, (power_hint_t)hintId, NULL);
+ }
}
}