sm6375-common: power-libperfmgr: Allow certain hints to be processed always

These don't affect performance, so we don't need to disable them
for battery saver or sustained performance mode.

Change-Id: I483d7fa6d0067f21d46b6811ba324793415218c7
This commit is contained in:
Adithya R 2024-07-18 12:56:42 +05:30 committed by Anand S
parent 297b581ede
commit f09f784d55
No known key found for this signature in database
GPG key ID: 3B2983FA448B3D61

View file

@ -47,6 +47,13 @@ constexpr char kPowerHalStateProp[] = "vendor.powerhal.state";
constexpr char kPowerHalAudioProp[] = "vendor.powerhal.audio";
constexpr char kPowerHalRenderingProp[] = "vendor.powerhal.rendering";
static const std::vector<Mode> kAlwaysAllowedModes = {
Mode::DOUBLE_TAP_TO_WAKE,
Mode::INTERACTIVE,
Mode::DEVICE_IDLE,
Mode::DISPLAY_INACTIVE,
};
Power::Power()
: mInteractionHandler(nullptr),
mSustainedPerfModeOn(false),
@ -79,6 +86,10 @@ Power::Power()
static void endAllHints() {
std::shared_ptr<HintManager> hm = HintManager::GetInstance();
for (auto hint : hm->GetHints()) {
if (std::any_of(kAlwaysAllowedModes.begin(), kAlwaysAllowedModes.end(),
[hint](auto mode) { return hint == toString(mode); })) {
continue;
}
hm->EndHint(hint);
}
}
@ -132,7 +143,8 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
case Mode::AUDIO_STREAMING_LOW_LATENCY:
[[fallthrough]];
default:
if (mBatterySaverOn || mSustainedPerfModeOn) {
if ((mBatterySaverOn || mSustainedPerfModeOn) && std::find(kAlwaysAllowedModes.begin(),
kAlwaysAllowedModes.end(), type) == kAlwaysAllowedModes.end()) {
break;
}
if (enabled) {