mirror of
https://github.com/chararomandroid/android_device_samsung_a20
synced 2026-08-23 12:35:33 -04:00
universal7885: fm-aidl: Unlock and relock to thread
This commit is contained in:
parent
dc4fffda82
commit
5a70eb4ed3
2 changed files with 4 additions and 2 deletions
|
|
@ -123,9 +123,10 @@ namespace aidl::vendor::eureka::hardware::fmradio {
|
||||||
svc->setParam(value ? "routing=2": "routing=8");
|
svc->setParam(value ? "routing=2": "routing=8");
|
||||||
break;
|
break;
|
||||||
case SetType::SET_TYPE_FM_SEARCH_START:
|
case SetType::SET_TYPE_FM_SEARCH_START:
|
||||||
|
lock.unlock();
|
||||||
search_thread = std::thread([this] {
|
search_thread = std::thread([this] {
|
||||||
|
const std::lock_guard<std::timed_mutex> guard(lock);
|
||||||
freqs_list = fm_radio_slsi::get_freqs(fd);
|
freqs_list = fm_radio_slsi::get_freqs(fd);
|
||||||
lock.unlock();
|
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -99,14 +99,15 @@ constexpr const char *FM_FREQ_SEEK = FM_SYSFS_BASE "/radio_freq_seek";
|
||||||
case SetType::SET_TYPE_FM_SPEAKER_ROUTE:
|
case SetType::SET_TYPE_FM_SPEAKER_ROUTE:
|
||||||
NOT_SUPPORTED;
|
NOT_SUPPORTED;
|
||||||
case SetType::SET_TYPE_FM_SEARCH_START:
|
case SetType::SET_TYPE_FM_SEARCH_START:
|
||||||
|
lock.unlock();
|
||||||
search_thread = std::thread([this] {
|
search_thread = std::thread([this] {
|
||||||
|
const std::lock_guard<std::timed_mutex> guard(lock);
|
||||||
for (int i = 0; i < TRACK_SIZE; i++) {
|
for (int i = 0; i < TRACK_SIZE; i++) {
|
||||||
FileIO::writeline(FM_FREQ_SEEK, "1 " + std::to_string(SYSFS_SPACING * 10));
|
FileIO::writeline(FM_FREQ_SEEK, "1 " + std::to_string(SYSFS_SPACING * 10));
|
||||||
int freq = FileIO::readline(FM_FREQ_CTL);
|
int freq = FileIO::readline(FM_FREQ_CTL);
|
||||||
if (std::find(freqs_list.begin(), freqs_list.end(), freq) != freqs_list.end()) continue;
|
if (std::find(freqs_list.begin(), freqs_list.end(), freq) != freqs_list.end()) continue;
|
||||||
freqs_list.push_back(freq);
|
freqs_list.push_back(freq);
|
||||||
}
|
}
|
||||||
lock.unlock();
|
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue