In theory, 32bit HD Radio station ID + subchannel index (parts of
HD_STATION_ID_EXT) is a globally unique identifier. It allows broadcast
radio framework to determine which programs are the same and allow the
application to match entries from favourite list and the program list
provided by the tuner.
However, some broadcasters don't perform equipment setup correctly and
don't set station ID. As a result, there are some stations with
conflicting IDs.
As a workaround to treat these stations separately in a given location,
FM frequency was added as a part of HD_STATION_ID_EXT. This still doesn't
solve the global uniqueness problem: user might save KCQW 105.5 (sid=0) in
California, travel to Nevada and find KNAB 105.5 (sid=0). It turns out
there is no reliable identifier that might identify the station globally.
As a workaround, shortened station name is added for double-checking.
This is a best-effort fix, so it's not required for such misbehaving
stations to get correctly identified in every corner case.
Bug: 69958777
Test: VTS
Change-Id: Id11243096f1cde7fdda5cb70a7248d1831985cdd
Broken builds: aosp_x86, docs, full, sdk_phone_armv7.
I cannot reproduce the break locally, so making my best guess on the fix.
Test: it still builds
Change-Id: Icf86c3502fede66dba815458b66f2ebdf33afe91
The new HAL is a cleanup of 1.x branch of the legacy burden:
* structure flattened (multi-level factory removed);
* only one hardware tuner per HAL instance, only one session;
* front-end app doesn't control region settings anymore;
* metadata limited to int and string values;
* removed deprecated methods;
* result codes redefined.
It also fixes minor mistakes made with HAL 1.1:
* ProgramSelector simplified;
* there is no need to control background scan.
There are three features missing compared to the HAL 1.1, as they
are in development with the new design (see design docs attached):
* Announcements - b/68045105
* Program list - b/69860743
* Region handling - b/69958423
Test: VTS
Bug: b/69958777
Change-Id: I0ad83f25630c1250d73dc3941144d345339fbde0