Loading broadcastradio/2.0/default/BroadcastRadio.cpp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ static Properties initProperties(const VirtualRadio& virtualRadio) { static_cast<uint32_t>(IdentifierType::AMFM_FREQUENCY), static_cast<uint32_t>(IdentifierType::AMFM_FREQUENCY), static_cast<uint32_t>(IdentifierType::RDS_PI), static_cast<uint32_t>(IdentifierType::RDS_PI), static_cast<uint32_t>(IdentifierType::HD_STATION_ID_EXT), static_cast<uint32_t>(IdentifierType::HD_STATION_ID_EXT), static_cast<uint32_t>(IdentifierType::DAB_SID_EXT), }); }); prop.vendorInfo = hidl_vec<VendorKeyValue>({ prop.vendorInfo = hidl_vec<VendorKeyValue>({ {"com.google.dummy", "dummy"}, {"com.google.dummy", "dummy"}, Loading broadcastradio/2.0/default/VirtualRadio.cpp +11 −0 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,7 @@ using std::move; using std::mutex; using std::mutex; using std::vector; using std::vector; using utils::make_selector_amfm; using utils::make_selector_amfm; using utils::make_selector_dab; VirtualRadio gAmFmRadio( VirtualRadio gAmFmRadio( "AM/FM radio mock", "AM/FM radio mock", Loading @@ -41,6 +42,16 @@ VirtualRadio gAmFmRadio( {make_selector_amfm(106100), "106 KMEL", "Drake", "Marvins Room"}, {make_selector_amfm(106100), "106 KMEL", "Drake", "Marvins Room"}, }); }); // clang-format off VirtualRadio gDabRadio( "DAB radio mock", { {make_selector_dab(12345, 225648), "BBC Radio 1", "Khalid", "Talk"}, // 12B {make_selector_dab(22345, 222064), "Classic FM", "Jean Sibelius", "Andante Festivo"}, // 11D {make_selector_dab(32345, 222064), "Absolute Radio", "Coldplay", "Clocks"}, // 11D }); // clang-format on VirtualRadio::VirtualRadio(const std::string& name, const vector<VirtualProgram>& initialList) VirtualRadio::VirtualRadio(const std::string& name, const vector<VirtualProgram>& initialList) : mName(name), mPrograms(initialList) {} : mName(name), mPrograms(initialList) {} Loading broadcastradio/2.0/default/VirtualRadio.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -52,6 +52,9 @@ class VirtualRadio { /** AM/FM virtual radio space. */ /** AM/FM virtual radio space. */ extern VirtualRadio gAmFmRadio; extern VirtualRadio gAmFmRadio; /** DAB virtual radio space. */ extern VirtualRadio gDabRadio; } // namespace implementation } // namespace implementation } // namespace V2_0 } // namespace V2_0 } // namespace broadcastradio } // namespace broadcastradio Loading broadcastradio/2.0/default/service.cpp +8 −2 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ using android::hardware::configureRpcThreadpool; using android::hardware::joinRpcThreadpool; using android::hardware::joinRpcThreadpool; using android::hardware::broadcastradio::V2_0::implementation::BroadcastRadio; using android::hardware::broadcastradio::V2_0::implementation::BroadcastRadio; using android::hardware::broadcastradio::V2_0::implementation::gAmFmRadio; using android::hardware::broadcastradio::V2_0::implementation::gAmFmRadio; using android::hardware::broadcastradio::V2_0::implementation::gDabRadio; int main() { int main() { android::base::SetDefaultTag("BcRadioDef"); android::base::SetDefaultTag("BcRadioDef"); Loading @@ -30,8 +31,13 @@ int main() { configureRpcThreadpool(4, true); configureRpcThreadpool(4, true); BroadcastRadio broadcastRadio(gAmFmRadio); BroadcastRadio broadcastRadio(gAmFmRadio); auto status = broadcastRadio.registerAsService(); auto amFmStatus = broadcastRadio.registerAsService("amfm"); CHECK_EQ(status, android::OK) << "Failed to register Broadcast Radio HAL implementation"; CHECK_EQ(amFmStatus, android::OK) << "Failed to register Broadcast Radio AM/FM HAL implementation"; BroadcastRadio dabRadio(gDabRadio); auto dabStatus = dabRadio.registerAsService("dab"); CHECK_EQ(dabStatus, android::OK) << "Failed to register Broadcast Radio DAB HAL implementation"; joinRpcThreadpool(); joinRpcThreadpool(); return 1; // joinRpcThreadpool shouldn't exit return 1; // joinRpcThreadpool shouldn't exit Loading broadcastradio/common/utils2x/Utils.cpp +14 −0 Original line number Original line Diff line number Diff line Loading @@ -299,6 +299,20 @@ ProgramSelector make_selector_amfm(uint32_t frequency) { return sel; return sel; } } ProgramSelector make_selector_dab(uint32_t sidExt, uint32_t ensemble) { ProgramSelector sel = {}; // TODO(maryabad): Have a helper function to create the sidExt instead of // passing the whole identifier here. Something like make_dab_sid_ext. sel.primaryId = make_identifier(IdentifierType::DAB_SID_EXT, sidExt); hidl_vec<ProgramIdentifier> secondaryIds = { make_identifier(IdentifierType::DAB_ENSEMBLE, ensemble), // TODO(maryabad): Include frequency here when the helper method to // translate between ensemble and frequency is implemented. }; sel.secondaryIds = secondaryIds; return sel; } Metadata make_metadata(MetadataKey key, int64_t value) { Metadata make_metadata(MetadataKey key, int64_t value) { Metadata meta = {}; Metadata meta = {}; meta.key = static_cast<uint32_t>(key); meta.key = static_cast<uint32_t>(key); Loading Loading
broadcastradio/2.0/default/BroadcastRadio.cpp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ static Properties initProperties(const VirtualRadio& virtualRadio) { static_cast<uint32_t>(IdentifierType::AMFM_FREQUENCY), static_cast<uint32_t>(IdentifierType::AMFM_FREQUENCY), static_cast<uint32_t>(IdentifierType::RDS_PI), static_cast<uint32_t>(IdentifierType::RDS_PI), static_cast<uint32_t>(IdentifierType::HD_STATION_ID_EXT), static_cast<uint32_t>(IdentifierType::HD_STATION_ID_EXT), static_cast<uint32_t>(IdentifierType::DAB_SID_EXT), }); }); prop.vendorInfo = hidl_vec<VendorKeyValue>({ prop.vendorInfo = hidl_vec<VendorKeyValue>({ {"com.google.dummy", "dummy"}, {"com.google.dummy", "dummy"}, Loading
broadcastradio/2.0/default/VirtualRadio.cpp +11 −0 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,7 @@ using std::move; using std::mutex; using std::mutex; using std::vector; using std::vector; using utils::make_selector_amfm; using utils::make_selector_amfm; using utils::make_selector_dab; VirtualRadio gAmFmRadio( VirtualRadio gAmFmRadio( "AM/FM radio mock", "AM/FM radio mock", Loading @@ -41,6 +42,16 @@ VirtualRadio gAmFmRadio( {make_selector_amfm(106100), "106 KMEL", "Drake", "Marvins Room"}, {make_selector_amfm(106100), "106 KMEL", "Drake", "Marvins Room"}, }); }); // clang-format off VirtualRadio gDabRadio( "DAB radio mock", { {make_selector_dab(12345, 225648), "BBC Radio 1", "Khalid", "Talk"}, // 12B {make_selector_dab(22345, 222064), "Classic FM", "Jean Sibelius", "Andante Festivo"}, // 11D {make_selector_dab(32345, 222064), "Absolute Radio", "Coldplay", "Clocks"}, // 11D }); // clang-format on VirtualRadio::VirtualRadio(const std::string& name, const vector<VirtualProgram>& initialList) VirtualRadio::VirtualRadio(const std::string& name, const vector<VirtualProgram>& initialList) : mName(name), mPrograms(initialList) {} : mName(name), mPrograms(initialList) {} Loading
broadcastradio/2.0/default/VirtualRadio.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -52,6 +52,9 @@ class VirtualRadio { /** AM/FM virtual radio space. */ /** AM/FM virtual radio space. */ extern VirtualRadio gAmFmRadio; extern VirtualRadio gAmFmRadio; /** DAB virtual radio space. */ extern VirtualRadio gDabRadio; } // namespace implementation } // namespace implementation } // namespace V2_0 } // namespace V2_0 } // namespace broadcastradio } // namespace broadcastradio Loading
broadcastradio/2.0/default/service.cpp +8 −2 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ using android::hardware::configureRpcThreadpool; using android::hardware::joinRpcThreadpool; using android::hardware::joinRpcThreadpool; using android::hardware::broadcastradio::V2_0::implementation::BroadcastRadio; using android::hardware::broadcastradio::V2_0::implementation::BroadcastRadio; using android::hardware::broadcastradio::V2_0::implementation::gAmFmRadio; using android::hardware::broadcastradio::V2_0::implementation::gAmFmRadio; using android::hardware::broadcastradio::V2_0::implementation::gDabRadio; int main() { int main() { android::base::SetDefaultTag("BcRadioDef"); android::base::SetDefaultTag("BcRadioDef"); Loading @@ -30,8 +31,13 @@ int main() { configureRpcThreadpool(4, true); configureRpcThreadpool(4, true); BroadcastRadio broadcastRadio(gAmFmRadio); BroadcastRadio broadcastRadio(gAmFmRadio); auto status = broadcastRadio.registerAsService(); auto amFmStatus = broadcastRadio.registerAsService("amfm"); CHECK_EQ(status, android::OK) << "Failed to register Broadcast Radio HAL implementation"; CHECK_EQ(amFmStatus, android::OK) << "Failed to register Broadcast Radio AM/FM HAL implementation"; BroadcastRadio dabRadio(gDabRadio); auto dabStatus = dabRadio.registerAsService("dab"); CHECK_EQ(dabStatus, android::OK) << "Failed to register Broadcast Radio DAB HAL implementation"; joinRpcThreadpool(); joinRpcThreadpool(); return 1; // joinRpcThreadpool shouldn't exit return 1; // joinRpcThreadpool shouldn't exit Loading
broadcastradio/common/utils2x/Utils.cpp +14 −0 Original line number Original line Diff line number Diff line Loading @@ -299,6 +299,20 @@ ProgramSelector make_selector_amfm(uint32_t frequency) { return sel; return sel; } } ProgramSelector make_selector_dab(uint32_t sidExt, uint32_t ensemble) { ProgramSelector sel = {}; // TODO(maryabad): Have a helper function to create the sidExt instead of // passing the whole identifier here. Something like make_dab_sid_ext. sel.primaryId = make_identifier(IdentifierType::DAB_SID_EXT, sidExt); hidl_vec<ProgramIdentifier> secondaryIds = { make_identifier(IdentifierType::DAB_ENSEMBLE, ensemble), // TODO(maryabad): Include frequency here when the helper method to // translate between ensemble and frequency is implemented. }; sel.secondaryIds = secondaryIds; return sel; } Metadata make_metadata(MetadataKey key, int64_t value) { Metadata make_metadata(MetadataKey key, int64_t value) { Metadata meta = {}; Metadata meta = {}; meta.key = static_cast<uint32_t>(key); meta.key = static_cast<uint32_t>(key); Loading