summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-09 04:17:57 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-09 04:17:57 +0000
commitd208b96cd1879f0c0c54195cf8703a679c2d91c7 (patch)
tree6fd4faf56937f8ce4fe08ac61d2a20ef66a6024c
parenta64b5c4d2cfee9c9bdc9db98ae73fc38247e9057 (diff)
parentf97887d8e2dc86450a8ce612135f61adec1fd475 (diff)
downloadcommon-d208b96cd1879f0c0c54195cf8703a679c2d91c7.tar.gz
Snap for 11200327 from f97887d8e2dc86450a8ce612135f61adec1fd475 to 24Q1-release
Change-Id: I4f39e3ebd5737d445bb0425bf82a2b2f108dac4c
-rw-r--r--libhwc2.1/libdevice/ExynosDisplay.cpp9
-rw-r--r--libhwc2.1/libdevice/ExynosDisplay.h4
2 files changed, 8 insertions, 5 deletions
diff --git a/libhwc2.1/libdevice/ExynosDisplay.cpp b/libhwc2.1/libdevice/ExynosDisplay.cpp
index c3ac506..6fb4a3c 100644
--- a/libhwc2.1/libdevice/ExynosDisplay.cpp
+++ b/libhwc2.1/libdevice/ExynosDisplay.cpp
@@ -6401,10 +6401,6 @@ ExynosDisplay::SysfsBasedRRIHandler::SysfsBasedRRIHandler(ExynosDisplay* display
mIgnoringLastUpdate(false),
mCanIgnoreIncreaseUpdate(false) {}
-ExynosDisplay::SysfsBasedRRIHandler::~SysfsBasedRRIHandler() {
- mDisplay->mDevice->mDeviceInterface->unregisterSysfsEventHandler(getFd());
-}
-
int32_t ExynosDisplay::SysfsBasedRRIHandler::init() {
auto path = String8::format(kRefreshRateStatePathFormat, mDisplay->mIndex);
mFd.Set(open(path.c_str(), O_RDONLY));
@@ -6423,6 +6419,10 @@ int32_t ExynosDisplay::SysfsBasedRRIHandler::init() {
return NO_ERROR;
}
+int32_t ExynosDisplay::SysfsBasedRRIHandler::disable() {
+ return mDisplay->mDevice->mDeviceInterface->unregisterSysfsEventHandler(getFd());
+}
+
void ExynosDisplay::SysfsBasedRRIHandler::updateRefreshRateLocked(int refreshRate) {
ATRACE_CALL();
ATRACE_INT("Refresh rate indicator event", refreshRate);
@@ -6498,6 +6498,7 @@ int32_t ExynosDisplay::setRefreshRateChangedCallbackDebugEnabled(bool enabled) {
return ret;
}
} else {
+ ret = mRefreshRateIndicatorHandler->disable();
mRefreshRateIndicatorHandler.reset();
}
return ret;
diff --git a/libhwc2.1/libdevice/ExynosDisplay.h b/libhwc2.1/libdevice/ExynosDisplay.h
index f744cc1..7a951cc 100644
--- a/libhwc2.1/libdevice/ExynosDisplay.h
+++ b/libhwc2.1/libdevice/ExynosDisplay.h
@@ -1682,6 +1682,7 @@ class ExynosDisplay {
public:
virtual ~RefreshRateIndicator() = default;
virtual int32_t init() { return NO_ERROR; }
+ virtual int32_t disable() { return NO_ERROR; }
virtual void updateRefreshRate(int __unused refreshRate) {}
virtual void checkOnPresentDisplay() {}
virtual void checkOnSetActiveConfig(int __unused refreshRate) {}
@@ -1692,9 +1693,10 @@ class ExynosDisplay {
public std::enable_shared_from_this<SysfsBasedRRIHandler> {
public:
SysfsBasedRRIHandler(ExynosDisplay* display);
- virtual ~SysfsBasedRRIHandler();
+ virtual ~SysfsBasedRRIHandler() = default;
int32_t init() override;
+ int32_t disable() override;
void updateRefreshRate(int refreshRate) override;
void checkOnPresentDisplay() override;