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:
parent
431daebc40
commit
cc6d0d7bca
1 changed files with 13 additions and 1 deletions
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue