diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-09 04:17:57 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-09 04:17:57 +0000 |
commit | d208b96cd1879f0c0c54195cf8703a679c2d91c7 (patch) | |
tree | 6fd4faf56937f8ce4fe08ac61d2a20ef66a6024c | |
parent | a64b5c4d2cfee9c9bdc9db98ae73fc38247e9057 (diff) | |
parent | f97887d8e2dc86450a8ce612135f61adec1fd475 (diff) | |
download | common-d208b96cd1879f0c0c54195cf8703a679c2d91c7.tar.gz |
Snap for 11200327 from f97887d8e2dc86450a8ce612135f61adec1fd475 to 24Q1-release
Change-Id: I4f39e3ebd5737d445bb0425bf82a2b2f108dac4c
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.cpp | 9 | ||||
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.h | 4 |
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; |