Fix programList update bug in default radio HAL

In default implementation of broadcast radio HIDL2 HAL, the
filtered program list is actually not used in callback function.
Use the filtered program list rather than the whole list for the
program list chunk used in onProgramListUpdated callback. Extra
VTS tests checking whether program list update using AMFM and DAB
filters gets the expected program list results are also added.

Bug: 237412013
Test: m -j
Test: atest VtsHalBroadcastradioV2_0TargetTest
Change-Id: I5969638f14a39b9aea2d8b465f3a7fbcd93a8409
diff --git a/broadcastradio/2.0/default/TunerSession.cpp b/broadcastradio/2.0/default/TunerSession.cpp
index 2ba4d02..cc2f1a5 100644
--- a/broadcastradio/2.0/default/TunerSession.cpp
+++ b/broadcastradio/2.0/default/TunerSession.cpp
@@ -241,13 +241,13 @@
     };
     std::copy_if(list.begin(), list.end(), std::back_inserter(filteredList), filterCb);
 
-    auto task = [this, list]() {
+    auto task = [this, filteredList]() {
         lock_guard<mutex> lk(mMut);
 
         ProgramListChunk chunk = {};
         chunk.purge = true;
         chunk.complete = true;
-        chunk.modified = hidl_vec<ProgramInfo>(list.begin(), list.end());
+        chunk.modified = hidl_vec<ProgramInfo>(filteredList.begin(), filteredList.end());
 
         mCallback->onProgramListUpdated(chunk);
     };