diff options
Diffstat (limited to 'power-libperfmgr/aidl/PowerHintSession.cpp')
-rw-r--r-- | power-libperfmgr/aidl/PowerHintSession.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/power-libperfmgr/aidl/PowerHintSession.cpp b/power-libperfmgr/aidl/PowerHintSession.cpp index 14cbf01..5de37ba 100644 --- a/power-libperfmgr/aidl/PowerHintSession.cpp +++ b/power-libperfmgr/aidl/PowerHintSession.cpp @@ -191,6 +191,15 @@ void PowerHintSession::updateUniveralBoostMode() { } } +void PowerHintSession::tryToSendPowerHint(std::string hint) { + if (!mSupportedHints[hint].has_value()) { + mSupportedHints[hint] = HintManager::GetInstance()->IsHintSupported(hint); + } + if (mSupportedHints[hint].value()) { + HintManager::GetInstance()->DoHint(hint); + } +} + int PowerHintSession::setSessionUclampMin(int32_t min) { { std::lock_guard<std::mutex> guard(mSessionLock); @@ -334,6 +343,9 @@ ndk::ScopedAStatus PowerHintSession::reportActualWorkDuration( mLastUpdatedTime.store(std::chrono::steady_clock::now()); if (isFirstFrame) { + if (isAppSession()) { + tryToSendPowerHint("ADPF_FIRST_FRAME"); + } updateUniveralBoostMode(); } |