127 |
127 |
128 } |
128 } |
129 } |
129 } |
130 |
130 |
131 EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceived(const IRQMetaData& aMetaData, |
131 EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceived(const IRQMetaData& aMetaData, |
132 QString& aMusicshopStatus) |
132 const IRQPreset& aPreset) |
133 { |
133 { |
134 TRAPD(error, handleSongMetaDataReceivedL(aMetaData,aMusicshopStatus)); |
134 TRAPD(error, handleSongMetaDataReceivedL(aMetaData,aPreset)); |
135 if (KErrNone != error) |
135 if (KErrNone != error) |
136 { |
136 { |
137 } |
137 } |
138 } |
138 } |
139 |
139 |
140 EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceivedL(const IRQMetaData& aMetaData, |
140 EXPORT_C void IRQSongHistoryEngine::handleSongMetaDataReceivedL(const IRQMetaData& aMetaData, |
141 QString& aMusicshopStatus) |
141 const IRQPreset& aPreset) |
142 { |
142 { |
|
143 |
143 TPtrC songName(reinterpret_cast<const TUint16*>(aMetaData.getSongName().utf16()), aMetaData.getSongName().length()); |
144 TPtrC songName(reinterpret_cast<const TUint16*>(aMetaData.getSongName().utf16()), aMetaData.getSongName().length()); |
144 TPtrC artistName(reinterpret_cast<const TUint16*>(aMetaData.getArtistName().utf16()), aMetaData.getArtistName().length()); |
145 TPtrC artistName(reinterpret_cast<const TUint16*>(aMetaData.getArtistName().utf16()), aMetaData.getArtistName().length()); |
145 TPtrC musicFlag(reinterpret_cast<const TUint16*>(aMusicshopStatus.utf16()), aMusicshopStatus.length()); |
146 TPtrC channelName(reinterpret_cast<const TUint16*>(aPreset.name.utf16()), aPreset.name.length()); |
|
147 TPtrC musicFlag(reinterpret_cast<const TUint16*>(aPreset.musicStoreStatus.utf16()), aPreset.musicStoreStatus.length()); |
146 TBool bExceededMax = iSongHistoryDb->AddToSongHistoryDb2L(songName, |
148 TBool bExceededMax = iSongHistoryDb->AddToSongHistoryDb2L(songName, |
147 artistName, |
149 artistName, |
|
150 channelName, |
148 musicFlag); |
151 musicFlag); |
149 } |
152 } |
150 |
153 |
151 // --------------------------------------------------------------------------- |
154 // --------------------------------------------------------------------------- |
152 // IRQSongHistoryEngine::handleMetaDataReceivedL() |
155 // IRQSongHistoryEngine::handleMetaDataReceivedL() |
174 { |
177 { |
175 TInt ret = iSongHistoryDb->GetIdPresentInDbL( channelId ); |
178 TInt ret = iSongHistoryDb->GetIdPresentInDbL( channelId ); |
176 if(ret) |
179 if(ret) |
177 { |
180 { |
178 TInt modified = iSongHistoryDb->UpdateSongHistoryDbL( channelId , |
181 TInt modified = iSongHistoryDb->UpdateSongHistoryDbL( channelId , |
179 channelName ,channelUrl ,imageUrl ,genreName, countryName, languageName, musicFlag); |
182 channelUrl ,imageUrl ,genreName, countryName, languageName, musicFlag); |
180 // TODO notify uplayer to change layout? |
183 // TODO notify uplayer to change layout? |
181 } |
184 } |
182 } |
185 } |
183 else if (channelType != 0) |
186 else if (channelType != 0) |
184 { |
187 { |
185 // the channel type can only be 1 (isds channel) or 0 (user defined channel) |
188 // the channel type can only be 1 (isds channel) or 0 (user defined channel) |
186 channelType = 0; |
189 channelType = 0; |
187 } |
190 } |
188 |
191 |
189 iSongHistoryDb->SearchAndDeleteRecordL(channelName, channelUrl, channelType); |
192 iSongHistoryDb->SearchAndDeleteRecordL(channelName, channelUrl, channelType, channelId); |
190 |
193 |
191 RBuf delSongName; |
194 RBuf delSongName; |
192 delSongName.CleanupClosePushL(); |
195 delSongName.CleanupClosePushL(); |
193 RBuf delArtistName; |
196 RBuf delArtistName; |
194 delArtistName.CleanupClosePushL(); |
197 delArtistName.CleanupClosePushL(); |
397 iSongHistoryDb->GetAllSongHistoryList2L(historyDataArr); |
400 iSongHistoryDb->GetAllSongHistoryList2L(historyDataArr); |
398 |
401 |
399 // create IRQSongHistoryInfo array and set |
402 // create IRQSongHistoryInfo array and set |
400 QString songName; |
403 QString songName; |
401 QString artist; |
404 QString artist; |
|
405 QString stationName; |
402 QString musicStoreStatus; |
406 QString musicStoreStatus; |
403 |
407 |
404 for (int arrCount = 0; arrCount < songCount; arrCount++) |
408 for (int arrCount = 0; arrCount < songCount; arrCount++) |
405 { |
409 { |
406 songName = QString::fromUtf16( |
410 songName = QString::fromUtf16( |
407 historyDataArr[arrCount]->GetSongInfo().Ptr(), |
411 historyDataArr[arrCount]->GetSongInfo().Ptr(), |
408 historyDataArr[arrCount]->GetSongInfo().Length()); |
412 historyDataArr[arrCount]->GetSongInfo().Length()); |
409 artist = QString::fromUtf16( |
413 artist = QString::fromUtf16( |
410 historyDataArr[arrCount]->GetArtistInfo().Ptr(), |
414 historyDataArr[arrCount]->GetArtistInfo().Ptr(), |
411 historyDataArr[arrCount]->GetArtistInfo().Length()); |
415 historyDataArr[arrCount]->GetArtistInfo().Length()); |
|
416 stationName = QString::fromUtf16( |
|
417 historyDataArr[arrCount]->GetChannelName().Ptr(), |
|
418 historyDataArr[arrCount]->GetChannelName().Length()); |
412 musicStoreStatus = QString::fromUtf16( |
419 musicStoreStatus = QString::fromUtf16( |
413 historyDataArr[arrCount]->GetChannelMusicStatus().Ptr(), |
420 historyDataArr[arrCount]->GetChannelMusicStatus().Ptr(), |
414 historyDataArr[arrCount]->GetChannelMusicStatus().Length()); |
421 historyDataArr[arrCount]->GetChannelMusicStatus().Length()); |
415 IRQSongInfo* irqsong = new IRQSongInfo(); |
422 IRQSongInfo* irqsong = new IRQSongInfo(); |
416 |
423 |
417 irqsong->setAllInfo(songName, artist, musicStoreStatus); |
424 irqsong->setAllInfo(songName, artist, stationName, musicStoreStatus); |
418 aSongHistoryArr.append(irqsong); |
425 aSongHistoryArr.append(irqsong); |
419 } |
426 } |
420 |
427 |
421 historyDataArr.ResetAndDestroy(); |
428 historyDataArr.ResetAndDestroy(); |
422 } |
429 } |
481 TPtrC genreName(reinterpret_cast<const TUint16*>(aGenreName.utf16())); |
488 TPtrC genreName(reinterpret_cast<const TUint16*>(aGenreName.utf16())); |
482 TPtrC countryName(reinterpret_cast<const TUint16*>(aCountryName.utf16())); |
489 TPtrC countryName(reinterpret_cast<const TUint16*>(aCountryName.utf16())); |
483 TPtrC languageName(reinterpret_cast<const TUint16*>(aLanguageName.utf16())); |
490 TPtrC languageName(reinterpret_cast<const TUint16*>(aLanguageName.utf16())); |
484 TPtrC musicFlag(reinterpret_cast<const TUint16*>(aMusicFlag.utf16())); |
491 TPtrC musicFlag(reinterpret_cast<const TUint16*>(aMusicFlag.utf16())); |
485 TRAP_IGNORE(iSongHistoryDb->UpdateSongHistoryDbL( channelId , |
492 TRAP_IGNORE(iSongHistoryDb->UpdateSongHistoryDbL( channelId , |
486 channelName, |
|
487 channelUrl, |
493 channelUrl, |
488 imageUrl, |
494 imageUrl, |
489 genreName, |
495 genreName, |
490 countryName, |
496 countryName, |
491 languageName, |
497 languageName, |