Define customized comparators for program selector and program info
in broadcast radio AIDL HAL utils library, which can be used to
sort program list by the order of frequency in HAL implementation of
devices other than emulator.
Bug: 315389663
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: Ie8de342f3c123d896589751a6244f871ee07eb81
Improved DAB radio support in the reference implementation for AIDL
broadcast radio HAL. Used real DAB service ID, ECC code, freuqnecy
and ensemble values for virtual DAB stations and implemented sub-channel
support for DAB radio.
Bug: 309693129
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: I6a78794e16400f05c6d7c5ec99aa4978adca5b58
Implemented HD signal acquisition status change using program info flag
in the reference broadcast radio HAL.
Bug: 309694368
Test: seek/tune to an HD radio station in radio KS app
Change-Id: Ibde570429d4c21b2f894f8658de1b37001541f3a
Separated AM/FM band so that seeking should loop within the band of
the current program info in default AIDL broadcast radio HAL
implementation. Also updated program list by tuner callback when the
AM/FM band is switched.
Bug: 309694368
Test: switch to AM and do not see FM stations in program list in radio KS app
Test: seek in FM band and do not jump any AM stations in radio KS app
Change-Id: Ia4618232d8726f2d779ac2ec87f169b0263ee979
Added mocked HD radio programs and HD radio tune/seek/step support with
subchannel in the default AIDL broadcast radio HAL implementiation.
Bug: 309694368
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: Id0ba9b127860d98822e9102ba48d913dc38cade1
Refactored AIDL broadcast radio HAL utils library to both support
version 2 HAL and guarantee backward compatibility for version 1 HAL
implementation using version 1 utils lib. Updated VTS to support HAL
of both AIDL versions.
Bug: 280300929
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: I31e631c794f51c8df230b984837dfb4299864e5c
Added identifier types, program info flags and metadata needed for
HD radio in AIDL broadcast radio HAL. Depracated SXM identifier
types since SXM is not supported.
Bug: 280300929
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: I822b43e6452c308db1259b99b961378c14c8b294
This fuzzer was crashing immediately due to a
hermeticity issue where a vendor variant of libbinder
was used underneath libbinder_ndk (b/307611931).
Now, it is hanging in ~WorkerThread.
Fixes: 307611931
Test: run fuzzer
Change-Id: Iba16c6eefeb508e41951ba9f5b3e4fc7e2fc3457
Clarified that the value in ProgramIdentifier in AIDL broadcast radio
HAL should be unsigned 64-bit int, but is represented as signed int
since unsigned int types are not supported in AIDL.
Bug: 299489486
Test: m -j
Change-Id: I2f35cefebdf1b5e39bf48cab896b077c4cb6c2e4
Implemented stopProgramListUpdates method in default AIDL broadcast
radio HAL. Created a separate thread for program list updates, so
that canceling pending tuning operations and canceling pending
program list updates are independent.
Bug: 243681584
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: I9e09f267a2264fa0cbc280d0d6ea71037db519ac
Implemented getting and setting config flag method in IBroadcastRadio
inferface for default AIDL broadcast radio HAL.
Bug: 249850737
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: Iedbae78fe3afccab5e8cbb850b2d8f3da3ab20d4
Fixed wrong time unit convension for timeout values used in broadcast
radio HAL VTS. Also replaced tuner callback mock method which caused
segmentation fault when unimplemented callback methods are called. In
addition, antenna connection state was checked at the end of the each
test instead of at the beginning.
Bug: 277531858
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: Ied70fcfd2742ae5d253aec984e2161afa6f65162
Sometimes DAB program selector used in tuning does not have secondary
identifiers such as ensemble and frequency, and HAL will automatically
selector a DAB station with specified ensemble and frequency. Thus,
secondary ids in DAB program selector are not mandatory in HAL. Also
updated broadcast radio AIDL HAL documentation.
Bug: 273804622
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: If05b7eeb79e299667c3a64bf8b931bb6396f9045
ToString is enabled for Result enum in AIDL broadcast radio HAL. Some
automatic generated files were also modified when updating this AIDL
API.
Bug: 264931778
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: Ia4ac02a95adbbcceac90c5b5106a7ea52dc447e9
SID in DAB_SID_EXT was extended to 32-bit to support DMB radio.
The documatation for DAB program selector and program info was
updated to make a DAB station is uniquely specified. AIDL HAL
definition requirement for identifier, program selector and info
was enforced in the AIDL utils class. The default implementation
and VTS were also updated correspondingly.
Bug: 261912181
Test: atest VtsHalBroadcastradioAidlTargetTest
Change-Id: Ic420955340f0c77370106e736410d7125536e62d
Due to RadioTuner API documentation, onTuneFailed should be called
when a pending tuning operation is canceled. Therefore, a new
result value Canceled was added in broadcast radio HAL. The
onTuneFailed callback for pending tuning operations in default HAL
was implemented by adding whatIfCanceled function field in Task
struct in WorkerThread utils class.
Bug: 257337458
Test: atest RadioTunerTest#cancel_whenTune
Test: atest RadioTunerTest#cancel_whenSeek
Change-Id: I901ab2cc3561082e5f11a9f6c33db044fc9bc28b
Invalid and valid configuration and parameter inputs are tested
on broadcast radio AIDL HAL.
Test: atest VtsHalBroadcastradioAidlTargetTest
Bug: 249150763
Change-Id: If75d8318f493a8c5332064e5b09ecae102587266
Tested methods defined in IBroadcastRadio. Methods such as tune,
seek, step and startProgramListUpdates are tested by the times of
that the mock of ITunerCallback, which is registered to
IBroadcastRadio, is called within timeout.
Bug: 249150763
Test: m -j, atest VtsHalBroadcastradioAidlTargetTest
Change-Id: I84cb0da741dbcaf24a6562813846e81c23bbb1f1
Default implementation for BroadcastRadio AIDL HAL is based on
default implementation for HIDL 2.0, with necessary data type
conversion. The callback for IBroadcastRadio interface is
initialized as nullptr.
Bug: 170336130
Test: m -j
Change-Id: Id521573116c565c42af16333cad73c5dd0583420
Radio HAL is migrated to AIDL by hidl2aidl tool, and the
following changes are applied:
- Result type is returned as service-specific error than normal
return value since AIDL only allows one return value of primitive
types.
- Integer data types were changed to int, long and byte.
- Constant enum was removed and replaced by constants defined in
IBroadcastRadio.
- Rds and Deemphasis enums were removed and defined as const in
AmFmRegionConfig
- MetadataKey was removed, and Metadata was defined as union.
- ITunerSession:scan() was renamed to ITunerSession:seek().
- ITunerSession was removed and its methods were added to
IBroadcastRadio.
- Callback for config flag setting was added to ITunerCallback.
- Callback and timeout behaviors are clarified.
Bug: 170336130
Test: m -j
Change-Id: Id1cdc5651037429ca07a4d4dc4682709cfc4949b