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 kPowerHalAudioProp[] = "vendor.powerhal.audio";
|
||||||
constexpr char kPowerHalRenderingProp[] = "vendor.powerhal.rendering";
|
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()
|
Power::Power()
|
||||||
: mInteractionHandler(nullptr),
|
: mInteractionHandler(nullptr),
|
||||||
mSustainedPerfModeOn(false),
|
mSustainedPerfModeOn(false),
|
||||||
|
@ -79,6 +86,10 @@ Power::Power()
|
||||||
static void endAllHints() {
|
static void endAllHints() {
|
||||||
std::shared_ptr<HintManager> hm = HintManager::GetInstance();
|
std::shared_ptr<HintManager> hm = HintManager::GetInstance();
|
||||||
for (auto hint : hm->GetHints()) {
|
for (auto hint : hm->GetHints()) {
|
||||||
|
if (std::any_of(kAlwaysAllowedModes.begin(), kAlwaysAllowedModes.end(),
|
||||||
|
[hint](auto mode) { return hint == toString(mode); })) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
hm->EndHint(hint);
|
hm->EndHint(hint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,7 +143,8 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
|
||||||
case Mode::AUDIO_STREAMING_LOW_LATENCY:
|
case Mode::AUDIO_STREAMING_LOW_LATENCY:
|
||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
default:
|
default:
|
||||||
if (mBatterySaverOn || mSustainedPerfModeOn) {
|
if ((mBatterySaverOn || mSustainedPerfModeOn) && std::find(kAlwaysAllowedModes.begin(),
|
||||||
|
kAlwaysAllowedModes.end(), type) == kAlwaysAllowedModes.end()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
|
|
Loading…
Reference in a new issue