From 7d23777f395b64b0b144e3055386987b6d41500a Mon Sep 17 00:00:00 2001 From: roynatech2544 Date: Wed, 9 Nov 2022 19:03:21 +0900 Subject: [PATCH] universal7885: fm-aidl: Run clang-format --- .../aidl-support/fm/default/CommonMacro.h | 14 +- .../aidl-support/fm/default/FMDevControl.cpp | 263 +++++++++--------- .../aidl-support/fm/default/FMDevControl.h | 9 +- .../aidl-support/fm/default/FMSupport.cpp | 51 ++-- .../apps/aidl-support/fm/default/FMSupport.h | 9 +- .../aidl-support/fm/default/MiddleState.cpp | 28 +- .../aidl-support/fm/default/MiddleState.h | 4 +- .../apps/aidl-support/fm/default/service.cpp | 5 +- 8 files changed, 199 insertions(+), 184 deletions(-) diff --git a/universal7885-common/apps/aidl-support/fm/default/CommonMacro.h b/universal7885-common/apps/aidl-support/fm/default/CommonMacro.h index 61e155e..04e5315 100644 --- a/universal7885-common/apps/aidl-support/fm/default/CommonMacro.h +++ b/universal7885-common/apps/aidl-support/fm/default/CommonMacro.h @@ -2,14 +2,14 @@ #include -#define RETURN_IF_FAILED_LOCK \ -({ \ - if (!lock.try_lock_for(std::chrono::milliseconds(100))) \ - return ::ndk::ScopedAStatus::fromServiceSpecificError(-ETIME); \ -}) +#define RETURN_IF_FAILED_LOCK \ + ({ \ + if (!lock.try_lock_for(std::chrono::milliseconds(100))) \ + return ::ndk::ScopedAStatus::fromServiceSpecificError(-ETIME); \ + }) #define NOT_SUPPORTED \ -({ \ + ({ \ LOG(ERROR) << __func__ << ": Attempted to invoke unsupported operation"; \ return ::ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); \ -}) + }) diff --git a/universal7885-common/apps/aidl-support/fm/default/FMDevControl.cpp b/universal7885-common/apps/aidl-support/fm/default/FMDevControl.cpp index 56bd42c..8a42f78 100644 --- a/universal7885-common/apps/aidl-support/fm/default/FMDevControl.cpp +++ b/universal7885-common/apps/aidl-support/fm/default/FMDevControl.cpp @@ -16,16 +16,16 @@ #include "FMDevControl.h" -#include #include +#include #include #include +#include #include #include #include -#include #include #include @@ -37,145 +37,154 @@ namespace aidl::vendor::eureka::hardware::fmradio { ::ndk::ScopedAStatus FMDevControl::open(void) { - fd = fm_radio_slsi::open_device(); - assert(fd > 0); - fm_radio_slsi::bootctrl(fd); - return ::ndk::ScopedAStatus::ok(); + fd = fm_radio_slsi::open_device(); + assert(fd > 0); + fm_radio_slsi::bootctrl(fd); + return ::ndk::ScopedAStatus::ok(); } ::ndk::ScopedAStatus FMDevControl::getValue(GetType type, int *_aidl_return) { - LOG_D("%s: type %d", __func__, type); - if (type != GetType::GET_TYPE_FM_MUTEX_LOCKED) { - RETURN_IF_FAILED_LOCK; - } - assert(fd > 0); - switch (type) { - case GetType::GET_TYPE_FM_FREQ: - fm_radio_slsi::get_frequency(fd, _aidl_return); - break; - case GetType::GET_TYPE_FM_UPPER_LIMIT: - *_aidl_return = fm_radio_slsi::get_upperband_limit(fd); - break; - case GetType::GET_TYPE_FM_LOWER_LIMIT: - *_aidl_return = fm_radio_slsi::get_lowerband_limit(fd); - break; - case GetType::GET_TYPE_FM_RMSSI: - *_aidl_return = fm_radio_slsi::get_rmssi(fd); - break; - case GetType::GET_TYPE_FM_BEFORE_CHANNEL: - if (index > 0) index -= 1; - if (kMiddleState != nullptr) { - index = kMiddleState->first; - delete kMiddleState; - kMiddleState = nullptr; - } - fm_radio_slsi::set_frequency(fd, freqs_list[index]); - *_aidl_return = freqs_list[index]; - break; - case GetType::GET_TYPE_FM_NEXT_CHANNEL: - if (index < freqs_list.size() - 1) index += 1; - if (kMiddleState != nullptr) { - index = kMiddleState->second; - delete kMiddleState; - kMiddleState = nullptr; - } - fm_radio_slsi::set_frequency(fd, freqs_list[index]); - *_aidl_return = freqs_list[index]; - break; - case GetType::GET_TYPE_FM_SYSFS_IF: - NOT_SUPPORTED; - case GetType::GET_TYPE_FM_MUTEX_LOCKED: - if (lock.try_lock()){ - *_aidl_return = false; - lock.unlock(); - } else { - *_aidl_return = true; - } - break; - default: - break; - }; - if (type != GetType::GET_TYPE_FM_MUTEX_LOCKED) { - lock.unlock(); - } - LOG_D("%s: returning %d", __func__, *_aidl_return); + LOG_D("%s: type %d", __func__, type); + if (type != GetType::GET_TYPE_FM_MUTEX_LOCKED) { + RETURN_IF_FAILED_LOCK; + } + assert(fd > 0); + switch (type) { + case GetType::GET_TYPE_FM_FREQ: + fm_radio_slsi::get_frequency(fd, _aidl_return); + break; + case GetType::GET_TYPE_FM_UPPER_LIMIT: + *_aidl_return = fm_radio_slsi::get_upperband_limit(fd); + break; + case GetType::GET_TYPE_FM_LOWER_LIMIT: + *_aidl_return = fm_radio_slsi::get_lowerband_limit(fd); + break; + case GetType::GET_TYPE_FM_RMSSI: + *_aidl_return = fm_radio_slsi::get_rmssi(fd); + break; + case GetType::GET_TYPE_FM_BEFORE_CHANNEL: + if (index > 0) + index -= 1; + if (kMiddleState != nullptr) { + index = kMiddleState->first; + delete kMiddleState; + kMiddleState = nullptr; + } + fm_radio_slsi::set_frequency(fd, freqs_list[index]); + *_aidl_return = freqs_list[index]; + break; + case GetType::GET_TYPE_FM_NEXT_CHANNEL: + if (index < freqs_list.size() - 1) + index += 1; + if (kMiddleState != nullptr) { + index = kMiddleState->second; + delete kMiddleState; + kMiddleState = nullptr; + } + fm_radio_slsi::set_frequency(fd, freqs_list[index]); + *_aidl_return = freqs_list[index]; + break; + case GetType::GET_TYPE_FM_SYSFS_IF: + NOT_SUPPORTED; + case GetType::GET_TYPE_FM_MUTEX_LOCKED: + if (lock.try_lock()) { + *_aidl_return = false; + lock.unlock(); + } else { + *_aidl_return = true; + } + break; + default: + break; + }; + if (type != GetType::GET_TYPE_FM_MUTEX_LOCKED) { + lock.unlock(); + } + LOG_D("%s: returning %d", __func__, *_aidl_return); - return ::ndk::ScopedAStatus::ok(); + return ::ndk::ScopedAStatus::ok(); } ::ndk::ScopedAStatus FMDevControl::setValue(SetType type, int value) { - using audio_route::IAudioRoute; + using audio_route::IAudioRoute; - LOG_D("%s: type %d, value %d", __func__, type, value); + LOG_D("%s: type %d, value %d", __func__, type, value); - RETURN_IF_FAILED_LOCK; - assert(fd > 0); - switch (type) { - case SetType::SET_TYPE_FM_FREQ: - fm_radio_slsi::set_frequency(fd, value); - if (std::find(freqs_list.begin(), freqs_list.end(), value) == freqs_list.end()) - kMiddleState = saveMiddleState(value, freqs_list); - break; - case SetType::SET_TYPE_FM_MUTE: - fm_radio_slsi::set_mute(fd, value); - break; - case SetType::SET_TYPE_FM_VOLUME: - fm_radio_slsi::set_volume(fd, value); - break; - case SetType::SET_TYPE_FM_THREAD: - fm_radio_slsi::fm_thread_set(fd, value); - break; - case SetType::SET_TYPE_FM_RMSSI: - fm_radio_slsi::set_rssi(fd, value); - break; - case SetType::SET_TYPE_FM_SEARCH_CANCEL: - fm_radio_slsi::stop_search(fd); - break; - case SetType::SET_TYPE_FM_SPEAKER_ROUTE: { - auto svc = IAudioRoute::fromBinder(ndk::SpAIBinder(AServiceManager_waitForService("vendor.eureka.hardware.audio_route.IAudioRoute/default"))); - svc->setParam(value ? "routing=2": "routing=8"); - break; - } - case SetType::SET_TYPE_FM_SEARCH_START: - lock.unlock(); - search_thread = new std::thread([this] { - const std::lock_guard guard(lock); - freqs_list = fm_radio_slsi::get_freqs(fd); - std::sort(freqs_list.begin(), freqs_list.end(), std::less()); - }); - break; - case SetType::SET_TYPE_FM_APP_PID: { - client_observe_thread = new std::thread([=] { - pid_t pid = value; + RETURN_IF_FAILED_LOCK; + assert(fd > 0); + switch (type) { + case SetType::SET_TYPE_FM_FREQ: + fm_radio_slsi::set_frequency(fd, value); + if (std::find(freqs_list.begin(), freqs_list.end(), value) == + freqs_list.end()) + kMiddleState = saveMiddleState(value, freqs_list); + break; + case SetType::SET_TYPE_FM_MUTE: + fm_radio_slsi::set_mute(fd, value); + break; + case SetType::SET_TYPE_FM_VOLUME: + fm_radio_slsi::set_volume(fd, value); + break; + case SetType::SET_TYPE_FM_THREAD: + fm_radio_slsi::fm_thread_set(fd, value); + break; + case SetType::SET_TYPE_FM_RMSSI: + fm_radio_slsi::set_rssi(fd, value); + break; + case SetType::SET_TYPE_FM_SEARCH_CANCEL: + fm_radio_slsi::stop_search(fd); + break; + case SetType::SET_TYPE_FM_SPEAKER_ROUTE: { + auto svc = + IAudioRoute::fromBinder(ndk::SpAIBinder(AServiceManager_waitForService( + "vendor.eureka.hardware.audio_route.IAudioRoute/default"))); + svc->setParam(value ? "routing=2" : "routing=8"); + break; + } + case SetType::SET_TYPE_FM_SEARCH_START: + lock.unlock(); + search_thread = new std::thread([this] { + const std::lock_guard guard(lock); + freqs_list = fm_radio_slsi::get_freqs(fd); + std::sort(freqs_list.begin(), freqs_list.end(), std::less()); + }); + break; + case SetType::SET_TYPE_FM_APP_PID: { + client_observe_thread = new std::thread([=] { + pid_t pid = value; - LOG_D("FM_APP_PID: received value %d", pid); - while (true) { - if (kill(pid, 0) < 0 && errno == ESRCH) break; - std::this_thread::sleep_for(std::chrono::seconds(2)); - } - LOG_W("FM_APP_PID: Starting client death receiver"); - fm_radio_slsi::fm_thread_set(fd, 0); - close(); - }); - break; - } - default: - break; - }; - if (type != SetType::SET_TYPE_FM_SEARCH_START) lock.unlock(); - return ::ndk::ScopedAStatus::ok(); + LOG_D("FM_APP_PID: received value %d", pid); + while (true) { + if (kill(pid, 0) < 0 && errno == ESRCH) + break; + std::this_thread::sleep_for(std::chrono::seconds(2)); + } + LOG_W("FM_APP_PID: Starting client death receiver"); + fm_radio_slsi::fm_thread_set(fd, 0); + close(); + }); + break; + } + default: + break; + }; + if (type != SetType::SET_TYPE_FM_SEARCH_START) + lock.unlock(); + return ::ndk::ScopedAStatus::ok(); } -::ndk::ScopedAStatus FMDevControl::getFreqsList(std::vector *_aidl_return){ - RETURN_IF_FAILED_LOCK; - *_aidl_return = freqs_list; - lock.unlock(); - return ::ndk::ScopedAStatus::ok(); +::ndk::ScopedAStatus +FMDevControl::getFreqsList(std::vector *_aidl_return) { + RETURN_IF_FAILED_LOCK; + *_aidl_return = freqs_list; + lock.unlock(); + return ::ndk::ScopedAStatus::ok(); } ::ndk::ScopedAStatus FMDevControl::close() { - if (fd > 0) ::close(fd); - fd = -1; - return ::ndk::ScopedAStatus::ok(); + if (fd > 0) + ::close(fd); + fd = -1; + return ::ndk::ScopedAStatus::ok(); } } // namespace aidl::vendor::eureka::hardware::fmradio diff --git a/universal7885-common/apps/aidl-support/fm/default/FMDevControl.h b/universal7885-common/apps/aidl-support/fm/default/FMDevControl.h index e9028c6..8c8a333 100644 --- a/universal7885-common/apps/aidl-support/fm/default/FMDevControl.h +++ b/universal7885-common/apps/aidl-support/fm/default/FMDevControl.h @@ -24,17 +24,16 @@ namespace aidl::vendor::eureka::hardware::fmradio { struct FMDevControl : public BnFMDevControl { - public: - FMDevControl(void) { - index = 0; - } +public: + FMDevControl(void) { index = 0; } // Methods from aidl::vendor::eureka::hardware::fmradio::IFMRadio follow. ::ndk::ScopedAStatus open(void) override; ::ndk::ScopedAStatus getValue(GetType type, int *_aidl_return) override; ::ndk::ScopedAStatus setValue(SetType type, int value) override; ::ndk::ScopedAStatus getFreqsList(std::vector *_aidl_return) override; ::ndk::ScopedAStatus close(void) override; - private: + +private: int fd; unsigned int index; std::timed_mutex lock; diff --git a/universal7885-common/apps/aidl-support/fm/default/FMSupport.cpp b/universal7885-common/apps/aidl-support/fm/default/FMSupport.cpp index ae958d3..be2f4dd 100644 --- a/universal7885-common/apps/aidl-support/fm/default/FMSupport.cpp +++ b/universal7885-common/apps/aidl-support/fm/default/FMSupport.cpp @@ -45,21 +45,23 @@ constexpr const char *FM_FREQ_SEEK = FM_SYSFS_BASE "/radio_freq_seek"; case GetType::GET_TYPE_FM_RMSSI: NOT_SUPPORTED; case GetType::GET_TYPE_FM_BEFORE_CHANNEL: - if (index > 0) index -= 1; + if (index > 0) + index -= 1; if (kMiddleState != nullptr) { - index = kMiddleState->first; - delete kMiddleState; - kMiddleState = nullptr; + index = kMiddleState->first; + delete kMiddleState; + kMiddleState = nullptr; } FileIO::writeline(FM_FREQ_CTL, freqs_list[index]); *_aidl_return = freqs_list[index]; break; case GetType::GET_TYPE_FM_NEXT_CHANNEL: - if (index < freqs_list.size() - 1) index += 1; + if (index < freqs_list.size() - 1) + index += 1; if (kMiddleState != nullptr) { - index = kMiddleState->second; - delete kMiddleState; - kMiddleState = nullptr; + index = kMiddleState->second; + delete kMiddleState; + kMiddleState = nullptr; } FileIO::writeline(FM_FREQ_CTL, freqs_list[index]); *_aidl_return = freqs_list[index]; @@ -69,10 +71,10 @@ constexpr const char *FM_FREQ_SEEK = FM_SYSFS_BASE "/radio_freq_seek"; break; case GetType::GET_TYPE_FM_MUTEX_LOCKED: if (lock.try_lock()) { - *_aidl_return = false; - lock.unlock(); + *_aidl_return = false; + lock.unlock(); } else { - *_aidl_return = true; + *_aidl_return = true; } break; default: @@ -88,8 +90,9 @@ constexpr const char *FM_FREQ_SEEK = FM_SYSFS_BASE "/radio_freq_seek"; switch (type) { case SetType::SET_TYPE_FM_FREQ: FileIO::writeline(FM_FREQ_CTL, value); - if (std::find(freqs_list.begin(), freqs_list.end(), value) == freqs_list.end()) - kMiddleState = saveMiddleState(value, freqs_list); + if (std::find(freqs_list.begin(), freqs_list.end(), value) == + freqs_list.end()) + kMiddleState = saveMiddleState(value, freqs_list); break; case SetType::SET_TYPE_FM_MUTE: case SetType::SET_TYPE_FM_VOLUME: @@ -102,20 +105,24 @@ constexpr const char *FM_FREQ_SEEK = FM_SYSFS_BASE "/radio_freq_seek"; case SetType::SET_TYPE_FM_SEARCH_START: lock.unlock(); search_thread = new std::thread([this] { - const std::lock_guard guard(lock); - for (int i = 0; i < TRACK_SIZE; i++) { - FileIO::writeline(FM_FREQ_SEEK, "1 " + std::to_string(SYSFS_SPACING * 10)); - int freq = FileIO::readline(FM_FREQ_CTL); - if (std::find(freqs_list.begin(), freqs_list.end(), freq) != freqs_list.end()) continue; - freqs_list.push_back(freq); - } - std::sort(freqs_list.begin(), freqs_list.end(), std::less()); + const std::lock_guard guard(lock); + for (int i = 0; i < TRACK_SIZE; i++) { + FileIO::writeline(FM_FREQ_SEEK, + "1 " + std::to_string(SYSFS_SPACING * 10)); + int freq = FileIO::readline(FM_FREQ_CTL); + if (std::find(freqs_list.begin(), freqs_list.end(), freq) != + freqs_list.end()) + continue; + freqs_list.push_back(freq); + } + std::sort(freqs_list.begin(), freqs_list.end(), std::less()); }); break; default: break; }; - if (type != SetType::SET_TYPE_FM_SEARCH_START) lock.unlock(); + if (type != SetType::SET_TYPE_FM_SEARCH_START) + lock.unlock(); return ::ndk::ScopedAStatus::ok(); } diff --git a/universal7885-common/apps/aidl-support/fm/default/FMSupport.h b/universal7885-common/apps/aidl-support/fm/default/FMSupport.h index 177ddf9..5058487 100644 --- a/universal7885-common/apps/aidl-support/fm/default/FMSupport.h +++ b/universal7885-common/apps/aidl-support/fm/default/FMSupport.h @@ -16,24 +16,23 @@ #include +#include "MiddleState.h" #include #include -#include "MiddleState.h" namespace aidl::vendor::eureka::hardware::fmradio { struct FMSupport : public BnFMDevControl { public: - FMSupport(void) { - index = 0; - }; + FMSupport(void) { index = 0; }; // Methods from aidl::vendor::eureka::hardware::fmradio::IFMRadio follow. ::ndk::ScopedAStatus open(void) override; ::ndk::ScopedAStatus getValue(GetType type, int *_aidl_return) override; ::ndk::ScopedAStatus setValue(SetType type, int value) override; ::ndk::ScopedAStatus getFreqsList(std::vector *_aidl_return) override; ::ndk::ScopedAStatus close(void) override; - private: + +private: std::timed_mutex lock; std::thread *search_thread; std::vector freqs_list; diff --git a/universal7885-common/apps/aidl-support/fm/default/MiddleState.cpp b/universal7885-common/apps/aidl-support/fm/default/MiddleState.cpp index 843d83b..e5e91ea 100644 --- a/universal7885-common/apps/aidl-support/fm/default/MiddleState.cpp +++ b/universal7885-common/apps/aidl-support/fm/default/MiddleState.cpp @@ -1,20 +1,20 @@ #include "MiddleState.h" -middlestate_t *saveMiddleState(const int value, const std::vector &vec) -{ - unsigned int i; +middlestate_t *saveMiddleState(const int value, const std::vector &vec) { + unsigned int i; - // Bounds checking, we need at least 2 elements on the vector. - // If it doesn't meet the requirements, return nullptr to keep it - // as-is. - if (vec.size() <= 1) return nullptr; + // Bounds checking, we need at least 2 elements on the vector. + // If it doesn't meet the requirements, return nullptr to keep it + // as-is. + if (vec.size() <= 1) + return nullptr; - for (i = 0; i < vec.size() - 1; i++) { - const int first = vec[i] - value; - const int second = vec[i + 1] - value; - if (first * second < 0) - break; - } + for (i = 0; i < vec.size() - 1; i++) { + const int first = vec[i] - value; + const int second = vec[i + 1] - value; + if (first * second < 0) + break; + } - return new middlestate_t {i, i + 1}; + return new middlestate_t{i, i + 1}; } diff --git a/universal7885-common/apps/aidl-support/fm/default/MiddleState.h b/universal7885-common/apps/aidl-support/fm/default/MiddleState.h index 855fba7..7e57ca5 100644 --- a/universal7885-common/apps/aidl-support/fm/default/MiddleState.h +++ b/universal7885-common/apps/aidl-support/fm/default/MiddleState.h @@ -3,8 +3,8 @@ #pragma once struct pair { - unsigned int first; - unsigned int second; + unsigned int first; + unsigned int second; }; using middlestate_t = struct pair; diff --git a/universal7885-common/apps/aidl-support/fm/default/service.cpp b/universal7885-common/apps/aidl-support/fm/default/service.cpp index 0fad8ee..9cc20ff 100644 --- a/universal7885-common/apps/aidl-support/fm/default/service.cpp +++ b/universal7885-common/apps/aidl-support/fm/default/service.cpp @@ -16,13 +16,14 @@ #include #include -#include "FMSupport.h" #include "FMDevControl.h" +#include "FMSupport.h" using ::aidl::vendor::eureka::hardware::fmradio::FMDevControl; using ::aidl::vendor::eureka::hardware::fmradio::FMSupport; -template static void registerAsService(std::shared_ptr service, const char *inst) { +template +static void registerAsService(std::shared_ptr service, const char *inst) { const std::string instance = std::string() + C::descriptor + "/" + inst; binder_status_t status = AServiceManager_addService(service->asBinder().get(), instance.c_str());