summaryrefslogtreecommitdiff
path: root/power-libperfmgr/aidl/Power.cpp
diff options
context:
space:
mode:
authorMidas Chien <midaschieh@google.com>2020-06-20 17:52:03 +0800
committerMidas Chien <midaschieh@google.com>2020-06-30 06:15:54 +0000
commit6bd8a847b8e59aafdf09feda6f52afe55ee8dde2 (patch)
treea97e06e75c1776ef40b79dfe08bc34b83472529e /power-libperfmgr/aidl/Power.cpp
parent90ef3eb2c1e44353ab97161cba7660644bc56a1c (diff)
downloadpixel-6bd8a847b8e59aafdf09feda6f52afe55ee8dde2.tar.gz
display: cache display lpm state to avoid set it againandroid11-dev
If current foss state same as desired state, doesn't set it again. Bug: 148656663 Test: stress on/off battery saver and check foss state Test: enable battery saver, stress on/off screen Change-Id: I6298361fd6a5d6a86c94eabb71ab254507136fd3
Diffstat (limited to 'power-libperfmgr/aidl/Power.cpp')
-rw-r--r--power-libperfmgr/aidl/Power.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/power-libperfmgr/aidl/Power.cpp b/power-libperfmgr/aidl/Power.cpp
index eba695dd..d944cf40 100644
--- a/power-libperfmgr/aidl/Power.cpp
+++ b/power-libperfmgr/aidl/Power.cpp
@@ -30,7 +30,7 @@
#include <utils/Log.h>
#include <utils/Trace.h>
-#include "disp-power/display-helper.h"
+#include "disp-power/DisplayLowPower.h"
namespace aidl {
namespace google {
@@ -43,8 +43,9 @@ constexpr char kPowerHalStateProp[] = "vendor.powerhal.state";
constexpr char kPowerHalAudioProp[] = "vendor.powerhal.audio";
constexpr char kPowerHalRenderingProp[] = "vendor.powerhal.rendering";
-Power::Power(std::shared_ptr<HintManager> hm)
+Power::Power(std::shared_ptr<HintManager> hm, std::shared_ptr<DisplayLowPower> dlpw)
: mHintManager(hm),
+ mDisplayLowPower(dlpw),
mInteractionHandler(nullptr),
mVRModeOn(false),
mSustainedPerfModeOn(false) {
@@ -90,13 +91,10 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
ATRACE_INT(toString(type).c_str(), enabled);
switch (type) {
case Mode::LOW_POWER:
+ mDisplayLowPower->SetDisplayLowPower(enabled);
if (enabled) {
- // Device in battery saver mode, enable display low power mode
- set_display_lpm(true);
mHintManager->DoHint(toString(type));
} else {
- // Device exiting battery saver mode, disable display low power mode
- set_display_lpm(false);
mHintManager->EndHint(toString(type));
}
break;