diff options
| author | 2018-03-30 17:50:11 +0000 | |
|---|---|---|
| committer | 2018-03-30 17:50:11 +0000 | |
| commit | 86021cff1bda56f45d8b217068b0dae49acf83da (patch) | |
| tree | 01849ca48169ad896f01139aaa28931d4de1f348 | |
| parent | 015f9609a48652814e643c5a293dda89d5805bb2 (diff) | |
| parent | dffc226e010a96fc78236fadc63c0dea868a7af1 (diff) | |
Merge "Workaround HAL 1.1 program list fetching limitation by preferring FM." into pi-dev
| -rw-r--r-- | services/core/jni/BroadcastRadio/BroadcastRadioService.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/jni/BroadcastRadio/BroadcastRadioService.cpp b/services/core/jni/BroadcastRadio/BroadcastRadioService.cpp index ecf1a33539e9..f7ca363e54a1 100644 --- a/services/core/jni/BroadcastRadio/BroadcastRadioService.cpp +++ b/services/core/jni/BroadcastRadio/BroadcastRadioService.cpp @@ -231,6 +231,13 @@ static jobject nativeOpenTuner(JNIEnv *env, jobject obj, long nativeContext, jin return nullptr; } bandConfigHal = module.bands[0]; + + /* Prefer FM to workaround possible program list fetching limitation + * (if tuner scans only configured band for programs). */ + auto fmIt = std::find_if(module.bands.begin(), module.bands.end(), + [](const BandConfig & band) { return utils::isFm(band.type); }); + if (fmIt != module.bands.end()) bandConfigHal = *fmIt; + if (bandConfigHal.spacings.size() > 1) { bandConfigHal.spacings = hidl_vec<uint32_t>({ *std::min_element( bandConfigHal.spacings.begin(), bandConfigHal.spacings.end()) }); |