diff --git a/internal/platform/implementation/linux/device_info.cc b/internal/platform/implementation/linux/device_info.cc index 83af0413..a3ec5668 100644 --- a/internal/platform/implementation/linux/device_info.cc +++ b/internal/platform/implementation/linux/device_info.cc @@ -20,7 +20,7 @@ void CurrentUserSession::RegisterScreenLockedListener( absl::string_view listener_name, std::function callback) { absl::MutexLock l(&screen_lock_listeners_mutex_); - screen_lock_listeners_[listener_name] = callback; + screen_lock_listeners_[listener_name] = std::move(callback); } void CurrentUserSession::UnregisterScreenLockedListener( diff --git a/internal/platform/implementation/linux/device_info.h b/internal/platform/implementation/linux/device_info.h index c2ca6287..4c7b0596 100644 --- a/internal/platform/implementation/linux/device_info.h +++ b/internal/platform/implementation/linux/device_info.h @@ -120,12 +120,16 @@ public: std::optional GetCrashDumpPath() const override; bool IsScreenLocked() const override; - // TODO: Implement listening to logind for changes to LockedState. void RegisterScreenLockedListener( absl::string_view listener_name, - std::function callback) override {} + std::function callback) override { + current_user_session_->RegisterScreenLockedListener(listener_name, + std::move(callback)); + } void - UnregisterScreenLockedListener(absl::string_view listener_name) override {} + UnregisterScreenLockedListener(absl::string_view listener_name) override { + current_user_session_->UnregisterScreenLockedListener(listener_name); + } bool PreventSleep() override; bool AllowSleep() override;