Loading broadcastradio/1.1/default/Tuner.cpp +6 −25 Original line number Diff line number Diff line Loading @@ -107,24 +107,17 @@ void Tuner::tuneInternalLocked() { virtualRadio = &mVirtualFm; } auto& info11 = mCurrentProgramInfo; auto& info10 = info11.base; VirtualProgram virtualProgram; if (virtualRadio != nullptr && virtualRadio->getProgram(mCurrentProgram, virtualProgram)) { // TODO(b/36864090): convert virtualProgram to ProgramInfo instead info10.channel = mCurrentProgram; info10.tuned = true; info10.stereo = true; info10.signalStrength = 100; mCurrentProgramInfo = static_cast<ProgramInfo>(virtualProgram); } else { info11 = makeDummyProgramInfo(mCurrentProgram); mCurrentProgramInfo = makeDummyProgramInfo(mCurrentProgram); } mIsTuneCompleted = true; mCallback->tuneComplete(Result::OK, info10); mCallback->tuneComplete(Result::OK, mCurrentProgramInfo.base); if (mCallback1_1 != nullptr) { mCallback1_1->tuneComplete_1_1(Result::OK, info11); mCallback1_1->tuneComplete_1_1(Result::OK, mCurrentProgramInfo); } } Loading Loading @@ -274,20 +267,8 @@ Return<void> Tuner::getProgramList(const hidl_string& filter __unused, getProgra return Void(); } hidl_vec<ProgramInfo> list; auto vList = virtualRadio.getProgramList(); list.resize(vList.size()); for (size_t i = 0; i < vList.size(); i++) { auto& src = vList[i]; auto& dst11 = list[i]; auto& dst10 = dst11.base; // TODO(b/36864090): convert virtualProgram to ProgramInfo instead dst10.channel = src.channel; dst10.tuned = true; } _hidl_cb(ProgramListResult::OK, list); auto list = virtualRadio.getProgramList(); _hidl_cb(ProgramListResult::OK, vector<ProgramInfo>(list.begin(), list.end())); return Void(); } Loading broadcastradio/1.1/default/VirtualProgram.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,28 @@ namespace broadcastradio { namespace V1_1 { namespace implementation { using V1_0::MetaData; using V1_0::MetadataKey; using V1_0::MetadataType; VirtualProgram::operator ProgramInfo() const { ProgramInfo info11 = {}; auto& info10 = info11.base; info10.channel = channel; info10.tuned = true; info10.stereo = true; info10.signalStrength = 100; info10.metadata = hidl_vec<MetaData>({ {MetadataType::TEXT, MetadataKey::RDS_PS, {}, {}, programName, {}}, {MetadataType::TEXT, MetadataKey::TITLE, {}, {}, songTitle, {}}, {MetadataType::TEXT, MetadataKey::ARTIST, {}, {}, songArtist, {}}, }); return info11; } bool operator<(const VirtualProgram& lhs, const VirtualProgram& rhs) { return lhs.channel < rhs.channel; } Loading broadcastradio/1.1/default/VirtualProgram.h +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #ifndef ANDROID_HARDWARE_BROADCASTRADIO_V1_1_VIRTUALPROGRAM_H #define ANDROID_HARDWARE_BROADCASTRADIO_V1_1_VIRTUALPROGRAM_H #include <android/hardware/broadcastradio/1.1/types.h> #include <cstdint> namespace android { Loading @@ -27,6 +28,11 @@ namespace implementation { struct VirtualProgram { uint32_t channel; // TODO(b/32621193): Station Selector std::string programName = ""; std::string songArtist = ""; std::string songTitle = ""; explicit operator ProgramInfo() const; friend bool operator<(const VirtualProgram& lhs, const VirtualProgram& rhs); }; Loading broadcastradio/1.1/default/VirtualRadio.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,13 @@ using std::mutex; using std::vector; vector<VirtualProgram> gInitialFmPrograms{ {94900}, {96500}, {97300}, {99700}, {101300}, {103700}, {106100}, {94900, "Wild 94.9", "Drake ft. Rihanna", "Too Good"}, {96500, "KOIT", "Celine Dion", "All By Myself"}, {97300, "Alice@97.3", "Drops of Jupiter", "Train"}, {99700, "99.7 Now!", "The Chainsmokers", "Closer"}, {101300, "101-3 KISS-FM", "Justin Timberlake", "Rock Your Body"}, {103700, "iHeart80s @ 103.7", "Michael Jackson", "Billie Jean"}, {106100, "106 KMEL", "Drake", "Marvins Room"}, }; VirtualRadio::VirtualRadio(VirtualRadio&& o) : mPrograms(move(o.mPrograms)) {} Loading Loading
broadcastradio/1.1/default/Tuner.cpp +6 −25 Original line number Diff line number Diff line Loading @@ -107,24 +107,17 @@ void Tuner::tuneInternalLocked() { virtualRadio = &mVirtualFm; } auto& info11 = mCurrentProgramInfo; auto& info10 = info11.base; VirtualProgram virtualProgram; if (virtualRadio != nullptr && virtualRadio->getProgram(mCurrentProgram, virtualProgram)) { // TODO(b/36864090): convert virtualProgram to ProgramInfo instead info10.channel = mCurrentProgram; info10.tuned = true; info10.stereo = true; info10.signalStrength = 100; mCurrentProgramInfo = static_cast<ProgramInfo>(virtualProgram); } else { info11 = makeDummyProgramInfo(mCurrentProgram); mCurrentProgramInfo = makeDummyProgramInfo(mCurrentProgram); } mIsTuneCompleted = true; mCallback->tuneComplete(Result::OK, info10); mCallback->tuneComplete(Result::OK, mCurrentProgramInfo.base); if (mCallback1_1 != nullptr) { mCallback1_1->tuneComplete_1_1(Result::OK, info11); mCallback1_1->tuneComplete_1_1(Result::OK, mCurrentProgramInfo); } } Loading Loading @@ -274,20 +267,8 @@ Return<void> Tuner::getProgramList(const hidl_string& filter __unused, getProgra return Void(); } hidl_vec<ProgramInfo> list; auto vList = virtualRadio.getProgramList(); list.resize(vList.size()); for (size_t i = 0; i < vList.size(); i++) { auto& src = vList[i]; auto& dst11 = list[i]; auto& dst10 = dst11.base; // TODO(b/36864090): convert virtualProgram to ProgramInfo instead dst10.channel = src.channel; dst10.tuned = true; } _hidl_cb(ProgramListResult::OK, list); auto list = virtualRadio.getProgramList(); _hidl_cb(ProgramListResult::OK, vector<ProgramInfo>(list.begin(), list.end())); return Void(); } Loading
broadcastradio/1.1/default/VirtualProgram.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,28 @@ namespace broadcastradio { namespace V1_1 { namespace implementation { using V1_0::MetaData; using V1_0::MetadataKey; using V1_0::MetadataType; VirtualProgram::operator ProgramInfo() const { ProgramInfo info11 = {}; auto& info10 = info11.base; info10.channel = channel; info10.tuned = true; info10.stereo = true; info10.signalStrength = 100; info10.metadata = hidl_vec<MetaData>({ {MetadataType::TEXT, MetadataKey::RDS_PS, {}, {}, programName, {}}, {MetadataType::TEXT, MetadataKey::TITLE, {}, {}, songTitle, {}}, {MetadataType::TEXT, MetadataKey::ARTIST, {}, {}, songArtist, {}}, }); return info11; } bool operator<(const VirtualProgram& lhs, const VirtualProgram& rhs) { return lhs.channel < rhs.channel; } Loading
broadcastradio/1.1/default/VirtualProgram.h +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #ifndef ANDROID_HARDWARE_BROADCASTRADIO_V1_1_VIRTUALPROGRAM_H #define ANDROID_HARDWARE_BROADCASTRADIO_V1_1_VIRTUALPROGRAM_H #include <android/hardware/broadcastradio/1.1/types.h> #include <cstdint> namespace android { Loading @@ -27,6 +28,11 @@ namespace implementation { struct VirtualProgram { uint32_t channel; // TODO(b/32621193): Station Selector std::string programName = ""; std::string songArtist = ""; std::string songTitle = ""; explicit operator ProgramInfo() const; friend bool operator<(const VirtualProgram& lhs, const VirtualProgram& rhs); }; Loading
broadcastradio/1.1/default/VirtualRadio.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,13 @@ using std::mutex; using std::vector; vector<VirtualProgram> gInitialFmPrograms{ {94900}, {96500}, {97300}, {99700}, {101300}, {103700}, {106100}, {94900, "Wild 94.9", "Drake ft. Rihanna", "Too Good"}, {96500, "KOIT", "Celine Dion", "All By Myself"}, {97300, "Alice@97.3", "Drops of Jupiter", "Train"}, {99700, "99.7 Now!", "The Chainsmokers", "Closer"}, {101300, "101-3 KISS-FM", "Justin Timberlake", "Rock Your Body"}, {103700, "iHeart80s @ 103.7", "Michael Jackson", "Billie Jean"}, {106100, "106 KMEL", "Drake", "Marvins Room"}, }; VirtualRadio::VirtualRadio(VirtualRadio&& o) : mPrograms(move(o.mPrograms)) {} Loading