diff --git a/power-libperfmgr/Power.cpp b/power-libperfmgr/Power.cpp index a6d6fe1..a18e415 100644 --- a/power-libperfmgr/Power.cpp +++ b/power-libperfmgr/Power.cpp @@ -30,6 +30,8 @@ #include #include +#define TAP_TO_WAKE_NODE "/sys/class/sensors/dt-gesture/enable" + namespace aidl { namespace google { namespace hardware { @@ -77,6 +79,11 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) { LOG(DEBUG) << "Power setMode: " << toString(type) << " to: " << enabled; ATRACE_INT(toString(type).c_str(), enabled); switch (type) { +#ifdef TAP_TO_WAKE_NODE + case Mode::DOUBLE_TAP_TO_WAKE: + ::android::base::WriteStringToFile(enabled ? "1" : "0", TAP_TO_WAKE_NODE, true); + break; +#endif case Mode::SUSTAINED_PERFORMANCE: if (enabled) { mHintManager->DoHint("SUSTAINED_PERFORMANCE"); @@ -88,8 +95,10 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) { break; } [[fallthrough]]; +#ifndef TAP_TO_WAKE_NODE case Mode::DOUBLE_TAP_TO_WAKE: [[fallthrough]]; +#endif case Mode::FIXED_PERFORMANCE: [[fallthrough]]; case Mode::EXPENSIVE_RENDERING: @@ -116,6 +125,11 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) { ndk::ScopedAStatus Power::isModeSupported(Mode type, bool *_aidl_return) { bool supported = mHintManager->IsHintSupported(toString(type)); +#ifdef TAP_TO_WAKE_NODE + if (type == Mode::DOUBLE_TAP_TO_WAKE) { + supported = true; + } +#endif LOG(INFO) << "Power mode " << toString(type) << " isModeSupported: " << supported; *_aidl_return = supported; return ndk::ScopedAStatus::ok();