Fill announcement-related gaps in Broadcast Radio APIs.

- adds TA and TP flags to ProgramInfo struct
- adds a callback to cancel announcement

Bug: b/63702941
Test: Instrumentalization, VTS
Change-Id: I03a0781d37429d4a84aab2dce3e5bb7794a20c57
diff --git a/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp b/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp
index 3b29c75..6910d95 100644
--- a/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp
+++ b/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp
@@ -47,6 +47,7 @@
 using testing::AnyNumber;
 using testing::ByMove;
 using testing::DoAll;
+using testing::Invoke;
 using testing::SaveArg;
 
 using broadcastradio::vts::CallBarrier;
@@ -63,8 +64,9 @@
     std::cout << "[  SKIPPED ] " << msg << std::endl;
 }
 
-class TunerCallbackMock : public ITunerCallback {
-   public:
+struct TunerCallbackMock : public ITunerCallback {
+    TunerCallbackMock() { EXPECT_CALL(*this, hardwareFailure()).Times(0); }
+
     MOCK_METHOD0(hardwareFailure, Return<void>());
     MOCK_TIMEOUT_METHOD2(configChange, Return<void>(Result, const BandConfig&));
     MOCK_METHOD2(tuneComplete, Return<void>(Result, const V1_0::ProgramInfo&));
@@ -106,9 +108,6 @@
 void BroadcastRadioHalTest::SetUp() {
     radioClass = GetParam();
 
-    // set general expectations for a callback
-    EXPECT_CALL(*mCallback, hardwareFailure()).Times(0);
-
     // lookup HIDL service
     auto factory = getService<IBroadcastRadioFactory>();
     ASSERT_NE(nullptr, factory.get());
@@ -287,6 +286,14 @@
     EXPECT_EQ(firstProgram.selector.primaryId, selCb.primaryId);
 }
 
+TEST_P(BroadcastRadioHalTest, CancelAnnouncement) {
+    if (skipped) return;
+    ASSERT_TRUE(openTuner(0));
+
+    auto hidlResult = mTuner->cancelAnnouncement();
+    EXPECT_EQ(Result::OK, hidlResult);
+}
+
 INSTANTIATE_TEST_CASE_P(BroadcastRadioHalTestCases, BroadcastRadioHalTest,
                         ::testing::Values(Class::AM_FM, Class::SAT, Class::DT));