--- a/phoneapp/phoneuiview/src/cphoneringingtoneplayerao.cpp Fri Mar 12 15:42:40 2010 +0200
+++ b/phoneapp/phoneuiview/src/cphoneringingtoneplayerao.cpp Mon Mar 15 12:40:24 2010 +0200
@@ -17,8 +17,6 @@
// INCLUDE FILES
-#include "cphoneringingtoneplayerao.h"
-
#include <cntdef.h>
#include <f32file.h>
#include <featmgr.h>
@@ -33,6 +31,7 @@
#include <DRMHelper.h>
#include <activeidle2domainpskeys.h>
+#include "cphoneringingtoneplayerao.h"
#include "phoneui.pan"
#include "phoneui.hrh"
#include "mphoneringingtoneobserver.h"
@@ -44,7 +43,6 @@
#include "tphonecmdparamringtone.h"
#include "cphonepubsubproxy.h"
#include "cphonecenrepproxy.h"
-#include "cphonemediatorsender.h"
// CONSTANTS
@@ -62,7 +60,7 @@
{
CPhoneRingingTonePlayerAO* self =
new ( ELeave ) CPhoneRingingTonePlayerAO();
-
+
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop( self );
@@ -75,8 +73,7 @@
// -----------------------------------------------------------------------------
//
CPhoneRingingTonePlayerAO::CPhoneRingingTonePlayerAO() :
- CActive( CActive::EPriorityStandard ),
- iAsyncDeletePlayers( EPlayerCount )
+ CActive( CActive::EPriorityStandard )
{
CActiveScheduler::Add( this );
}
@@ -88,16 +85,12 @@
void CPhoneRingingTonePlayerAO::ConstructL()
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructL()" );
-
- for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
- {
- User::LeaveIfError(
- iAsyncDeletePlayers.Append( NULL ) );
- }
+
+ // Connect to the tone server
+ User::LeaveIfError( iToneServer.Connect() );
// Construct timer.
iTimer = CPhoneTimer::NewL();
- iTtsDelayTimer = CPhoneTimer::NewL();
// Checks if DRM extend security is needed
TInt extSecNeeded = KErrNone;
@@ -105,36 +98,37 @@
KCRUidMusicPlayerFeatures,
KRequireDRMInPlayback,
extSecNeeded );
-
+
iExtSecNeeded = ( ( err == KErrNone ) && extSecNeeded ) ? ETrue : EFalse;
-
-
+ iToneServer.SetExtendedSecurityNeeded( iExtSecNeeded );
+
CPhoneCenRepProxy::Instance()->NotifyChangeL(
KCRUidDRMHelperServer,
KDRMHelperServerNotificationPassive,
this );
-
// Check video player configuration.
iArbitraryVideoScaling =
CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported(
KTelephonyLVFlagArbitraryVideoScaling );
-
+
// Construct the default ringing tone
TBuf<KMaxFileName> defaultTone;
- err = CPhoneCenRepProxy::Instance()->GetString(
+ err = CPhoneCenRepProxy::Instance()->GetString(
KCRUidProfileEngine,
KProEngDefaultRingingTone,
defaultTone );
if ( err == KErrNone )
{
- iDefaultRingingTone = CPhoneRingingTone::NewL( defaultTone );
+ iToneServer.SetDefaultRingingToneL( defaultTone );
}
- ConstructPlayers();
-
+ // Get maximum tone file size
GetMaxToneFileSizeL( iToneFileSizeLimitKB );
+
+ // And set the tone size limit to the tone server too
+ iToneServer.SetToneFileSizeLimit( iToneFileSizeLimitKB );
}
// -----------------------------------------------------------------------------
@@ -144,15 +138,9 @@
CPhoneRingingTonePlayerAO::~CPhoneRingingTonePlayerAO()
{
Cancel();
-
- iAsyncDeletePlayers.ResetAndDestroy();
- iAsyncDeletePlayers.Close();
-
- CleanupPlayers();
+ iToneServer.Close();
delete iTimer;
- delete iTtsDelayTimer;
- delete iDefaultRingingTone;
delete iAudioVideoRingingTone;
}
@@ -165,16 +153,21 @@
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayRingToneL()" );
- if ( aCommandParam->ParamId() ==
- TPhoneCommandParam::EPhoneParamIdRingTone )
+ // Check that the parameter is a ringing tone
+ if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdRingTone )
{
+ // Cast to get the ringing tone parameters
TPhoneCmdParamRingTone* ringToneParam =
static_cast<TPhoneCmdParamRingTone*>( aCommandParam );
+ // Get volume and ringing tone type
const TInt volume = ringToneParam->Volume();
TProfileRingingType ringingType =
static_cast<TProfileRingingType>( ringToneParam->RingingType() );
-
+
+ // Set ringing tone file name to server
+ iToneServer.SetRingingToneL( ringToneParam->RingTone() );
+
if ( !iAudioVideoRingingTone )
{
iAudioVideoRingingTone = CPhoneRingingTone::NewL(
@@ -186,7 +179,7 @@
iAudioVideoRingingTone->SetFileName(
ringToneParam->RingTone() );
}
-
+
// Caller contact text and image and image has
// higher priority than video ringing tone set for caller.
if ( iAudioVideoRingingTone->IsVideoRingingTone() &&
@@ -199,7 +192,7 @@
}
else if ( iAudioVideoRingingTone->IsVideoRingingTone() &&
!ringToneParam->IsCallerText() )
- {
+ {
// Play video ring tone
const TBool ringToneIsPersonal = ringToneParam->Type() ==
EPhoneRingTonePersonal;
@@ -235,64 +228,7 @@
TInt aVolume,
TProfileRingingType aRingingType )
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayAudioRingTone()" );
- __PHONELOG2(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::PlayAudioRingTone - aVolume(%d), aRingingType(%d)",
- aVolume,
- aRingingType );
-
- if ( !iAudioVideoRingingTone ||
- !CheckAndHandleToneSizeLimit( iAudioVideoRingingTone ) )
- {
- PlayDefaultTone( aVolume, aRingingType );
- }
- else if ( aRingingType == EProfileRingingTypeSilent )
- {
- PlaySilentTone();
- }
- else if ( aRingingType == EProfileRingingTypeBeepOnce )
- {
- BeepOnce( aVolume );
- }
- else
- {
- // Construct player for line 1.
- if ( !iAudioPlayer )
- {
- iAudioPlayer = ConstructTonePlayer(
- *iAudioVideoRingingTone,
- EPlayerAudio );
- if ( !iTimer->IsActive() )
- {
- // Start timer, since the player is constructed.
- iTimer->After( KPhoneMaxRingingWaiting, this );
- }
- }
-
- // Start playing.
- if ( !iAudioPlayer )
- {
- iTimer->Cancel();
- PlayDefaultTone( aVolume, aRingingType );
- }
- else
- {
- __PHONELOG(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::PlayAudioRingTone - Start playing audio" );
- iVolume = aVolume;
- iRingingType = aRingingType;
- AddTtsPlaybackIfNeeded( aRingingType );
- iTonePlayingStatus = EAudioTonePlaying;
- iAudioPlayer->Play(
- ConvertRingingType( aRingingType ),
- aVolume,
- iTtsToneToBePlayed );
- }
- }
+ iToneServer.PlayAudioRingTone( aVolume, aRingingType );
}
// -----------------------------------------------------------------------------
@@ -301,25 +237,7 @@
//
void CPhoneRingingTonePlayerAO::BeepOnce( TInt aVolume )
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::BeepOnce()" );
- __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::BeepOnce - aVolume(%d)",
- aVolume );
-
- if ( !iBeepOncePlayer )
- {
- ConstructSequencePlayer( EPlayerBeepOnce );
- }
-
- if ( iBeepOncePlayer )
- {
- __PHONELOG(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::BeepOnce - Play" );
- iTonePlayingStatus = EBeepOnce;
- iBeepOncePlayer->Play( CPhoneAudioPlayer::ETypeRingingOnce,
- aVolume, EFalse );
- }
+ iToneServer.BeepOnce( aVolume );
}
// -----------------------------------------------------------------------------
@@ -328,24 +246,7 @@
//
void CPhoneRingingTonePlayerAO::PlaySilentTone()
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlaySilentTone()" );
-
- if ( !iSilentPlayer )
- {
- ConstructSequencePlayer( EPlayerSilent );
- }
-
- __ASSERT_DEBUG( iSilentPlayer, Panic( EPhoneViewGeneralError ) );
-
- if ( iSilentPlayer )
- {
- __PHONELOG(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::PlaySilentTone - play" );
- iTonePlayingStatus = ESilentTonePlaying;
- iSilentPlayer->Play( CPhoneAudioPlayer::ETypeRinging, 0, EFalse );
- }
+ iToneServer.PlaySilentTone();
}
// -----------------------------------------------------------------------------
@@ -354,19 +255,7 @@
//
void CPhoneRingingTonePlayerAO::PlayUnsecureVoIPTone()
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayUnsecureVoIPTone()" );
- if ( !iUnsecureVoIPTonePlayer )
- {
- ConstructSequencePlayer( EPlayerUnsecureVoIP );
- }
- __ASSERT_DEBUG( iUnsecureVoIPTonePlayer, Panic( EPhoneViewGeneralError ) );
-
- if ( iUnsecureVoIPTonePlayer )
- {
- iTonePlayingStatus = EUnsecureVoIPTonePlaying;
- iUnsecureVoIPTonePlayer->Play( CPhoneAudioPlayer::ETypeRingingOnce,
- KPhoneDefaultVolume, EFalse );
- }
+ iToneServer.PlayUnsecureVoIPTone();
}
// -----------------------------------------------------------------------------
@@ -376,19 +265,19 @@
void CPhoneRingingTonePlayerAO::MuteRingingToneOnAnswer()
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::MuteRingingToneOnAnswer()" );
-
+
if ( iVideoPlayer &&
( iTonePlayingStatus == EVideoTonePlaying ||
- iTonePlayingStatus == EPersonalVideoTonePlaying ) )
+ iTonePlayingStatus == EPersonalVideoTonePlaying ) )
{
// Mute the video audio
iVideoPlayer->MuteVideoRingTone();
iTonePlayingStatus = ESilentVideoTonePlaying;
iVolume = 0;
}
- else
+ else if ( iTonePlayingStatus != ESilentVideoTonePlaying )
{
- DoMuteRingingTone();
+ iToneServer.MuteRingingTone();
}
}
@@ -399,17 +288,17 @@
void CPhoneRingingTonePlayerAO::MuteRingingTone()
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::MuteRingingTone()" );
-
+
if ( iVideoPlayer &&
( iTonePlayingStatus == EVideoTonePlaying ||
- iTonePlayingStatus == EPersonalVideoTonePlaying ) )
+ iTonePlayingStatus == EPersonalVideoTonePlaying ) )
{
// Mute the video audio
iVideoPlayer->MuteVideoRingTone();
iTonePlayingStatus = ESilentVideoTonePlaying;
iVolume = 0;
}
- else
+ else if ( iTonePlayingStatus != ESilentVideoTonePlaying )
{
StopPlaying();
}
@@ -423,104 +312,17 @@
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::StopPlaying()" );
- iTtsToneToBePlayed = EFalse;
- iTTsTimeOutCounter = 0;
- iTtsDelayTimer->Cancel();
- if ( iTtsPlayer )
- {
- iTtsPlayer->StopPlaying();
- delete iTtsPlayer;
- iTtsPlayer = NULL;
- }
- iTimer->Cancel();
+ // Stop all playback
- switch( iTonePlayingStatus )
+ iToneServer.StopPlaying();
+
+ if ( iVideoPlayer )
{
- case EAudioTonePlaying:
- if( iAudioPlayer )
- {
- // Commented stopping out, since with this, the screen is jammed
- // when REComSession::FinalClose() is reached in
- // CPhoneAudioPlayer's destructor.
- // Audio player is stopped anyway in its destructor.
- // Fixes EKKI-7WYG2G and JKAN-7XNGQU.
- // iAudioPlayer->StopPlaying();
- delete iAudioPlayer;
- iAudioPlayer = NULL;
- }
- break;
- case EDefaultTonePlaying:
- if ( iDefaultPlayer )
- {
- iDefaultPlayer->StopPlaying();
- delete iDefaultPlayer;
- iDefaultPlayer = NULL;
- }
- break;
- case EBeepOnce:
- if( iBeepOncePlayer )
- {
- iBeepOncePlayer->StopPlaying();
- delete iBeepOncePlayer;
- iBeepOncePlayer = NULL;
- }
- break;
- case EBackupTonePlaying:
- if( iBackupPlayer )
- {
- iBackupPlayer->StopPlaying();
- }
- break;
- case ESilentTonePlaying:
- if( iSilentPlayer )
- {
- iSilentPlayer->StopPlaying();
- delete iSilentPlayer;
- iSilentPlayer = NULL;
- }
- break;
- case EUnsecureVoIPTonePlaying:
- if( iUnsecureVoIPTonePlayer )
- {
- iUnsecureVoIPTonePlayer->StopPlaying();
- delete iUnsecureVoIPTonePlayer;
- iUnsecureVoIPTonePlayer = NULL;
- }
- break;
- case EVideoTonePlaying: // video ringing tone
- case EPersonalVideoTonePlaying:
- case ESilentVideoTonePlaying:
- if ( iBeepOncePlayer != NULL )
- {
- iBeepOncePlayer->StopPlaying();
- delete iBeepOncePlayer;
- iBeepOncePlayer = NULL;
- }
-
- if ( iSilentPlayer != NULL )
- {
- iSilentPlayer->StopPlaying();
- delete iSilentPlayer;
- iSilentPlayer = NULL;
- }
- if ( iVideoPlayer )
- {
- iVideoPlayer->StopVideoRingTone();
- }
- if ( iAudioVideoRingingTone )
- {
- delete iAudioVideoRingingTone;
- iAudioVideoRingingTone = NULL;
- }
- break;
- case EIdle:
- // Do nothing here.
- return;
- default:
- Panic( EPhoneViewCaseNotHandled );
- break;
+ iVideoPlayer->StopVideoRingTone();
}
+ iTimer->Cancel();
+
iTonePlayingStatus = EIdle;
}
@@ -533,275 +335,7 @@
TInt aVolume,
TProfileRingingType aRingingType )
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayTtsTone()" );
- __PHONELOG2( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayTtsTone - aVolume(%d), aRingingType(%d)",
- aVolume, aRingingType );
-
- if ( iTtsPlayer )
- {
- delete iTtsPlayer;
- iTtsPlayer = NULL;
- }
-
- //Set ringingtype for Tts.
- iTtsRingingType = aRingingType;
- iTtsVolume = aVolume;
-
- // TTS should be a bit louder, than main component.
- // No need to check for overflows, they are handled in SET_PHONE_VOLUME macro.
-
- TPtrC ttsHeader( KPhoneTtsHeader );
- HBufC* preparedString =
- HBufC::New( aTextToSay.Length() + ttsHeader.Length() );
-
- if ( preparedString )
- {
- TPtr pPreparedString = preparedString->Des();
- pPreparedString.Append( ttsHeader );
- pPreparedString.Append( aTextToSay );
-
- __PHONELOG1(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::PlayTtsTone - about to say %S",
- &pPreparedString );
-
- TRAPD(
- error,
- iTtsPlayer = CPhoneAudioPlayer::NewTtsL(
- *preparedString,
- KAudioPriorityPhoneCall,
- KAudioPrefTextToSpeechCallHardCoded,
- *this,
- EPlayerTts ) );
- if( error == KErrNone )
- {
- // To be played when default or personal tone will be played
- iTtsToneToBePlayed = ETrue;
- }
- __PHONELOG2(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::PlayTtsTone - error(%d), iTtsPhoneToBePlayed(%d)",
- error,
- iTtsToneToBePlayed );
-
- delete preparedString;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleAudioPlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent /*aEvent*/,
- TInt aError,
- TInt /*aId*/ )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleAudioPlayerError()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
- __PHONELOG1( EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::HandleAudioPlayerError - error (%d)",
- aError );
-
- const TBool deleteAll = ( aError == KErrServerTerminated );
-
- if ( deleteAll )
- {
- // KErrServerTerminated is considered as fatal error. So we
- // need to delete everything.
-
- for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
- {
- DeletePlayerAsync( static_cast< TPlayerId >( i ) );
- }
-
- // Now all member audio players point to NULL, except
- // those players in iAsyncDeletePlayers. Recreate
- // players.
-
- ConstructPlayers(); // Ignore error code.
- }
-
- iTimer->Cancel();
- DoHandlePlayerError( !deleteAll, EFalse );
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleAudioPlayerInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleAudioPlayerInitComplete( TInt aId )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleAudioPlayerInitComplete()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
- if ( iTonePlayingStatus == EAudioTonePlaying && aId == EPlayerAudio ||
- iTonePlayingStatus == EDefaultTonePlaying && aId == EPlayerDefault )
- {
- iTimer->Cancel();
- }
-
- if( iTtsToneToBePlayed && ( aId != EPlayerTts ) )
- {
- // Start TTS timer just before "normal ringtone component" starts
- // playing, i.e. after init completed.
- if ( iTtsDelayIndex < iTtsDelaysCount )
- {
- if ( !iTtsDelayTimer->IsActive() )
- {
- // There are TTS iterations to be played yet.
- iTtsDelayTimer->After(
- KPhoneTtsDelays[iTtsDelayIndex],
- TCallBack( HandleTtsDelayTimeout, this ) );
- }
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandlePlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandlePlayingComplete( TInt aId )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
- __PHONELOG2(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::HandlePlayingComplete - aId(%d), iRingingType(%d)",
- aId,
- iRingingType );
- __PHONELOG2(
- EBasic,
- EPhoneUIView,
- "CPhoneRingingTonePlayerAO::HandlePlayingComplete - iTtsToneToBePlayed(%d), iTtsDelayIndex(%d)",
- iTtsToneToBePlayed,
- iTtsDelayIndex );
-
- if ( aId == EPlayerTts )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - resuming after TTS" );
-
- // TTS playing complete, normal tone player should volume up.
- if ( ( iTtsToneToBePlayed ) && ( ++iTtsDelayIndex < iTtsDelaysCount ) )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - resuming after TTS first time" );
- //Callers name is said once. increase tone player volume.
- SolveNewVolumeAndRamptime( ESaidOnce );
-
- if ( !iTtsDelayTimer->IsActive() )
- {
- // There are TTS iterations to be played yet.
- iTtsDelayTimer->After( KPhoneTtsDelays[iTtsDelayIndex],
- TCallBack( HandleTtsDelayTimeout,this ) );
- }
- }
- else
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - resuming after TTS second time" );
- SolveNewVolumeAndRamptime( ESaidTwice );
- }
-
- // No further processing. All TTS player-related events are not
- // "real" ringtone playing completions.
- return;
- }
- //Case: RingintonePlayer has completed playing with following set: ring once and
- // TTS is activated
- else if ( iRingingType == EProfileRingingTypeRingingOnce &&
- iTtsToneToBePlayed )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - ring once and TTS" );
- if ( iTtsDelayIndex < iTtsDelaysCount )
- {
- ReStartRingingTonePlayer();
- //Do not destroy player yet. Return.
- return;
- }
- }
- //Case: RingintonePlayer has completed playing with following set: ringing
- //and TTS is activated. We need to restart ringintoneplayer and new TTS
- //iterations are required.
- else if ( iRingingType == EProfileRingingTypeRinging && iTtsToneToBePlayed )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - ringing and TTS" );
- if ( iTtsDelayIndex == iTtsDelaysCount )
- {
- //Case: Ringingtype is EProfileRingingTypeRinging. New TTS
- //iterations are required.
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - need to restart TTS sequence" );
- //TTS has completed its iterations,set index to zero.
- iTtsDelayIndex = 0;
- if ( !iTtsDelayTimer->IsActive() )
- {
- //Restart TTS sequence
- iTtsDelayTimer->After(
- KPhoneTtsDelays[iTtsDelayIndex],
- TCallBack( HandleTtsDelayTimeout, this ) );
- }
- }
-
- ReStartRingingTonePlayer();
- //Do not destroy player yet. Return
- return;
- }
-
- __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - delete player - iTonePlayingStatus(%d)",
- iTonePlayingStatus );
- switch( iTonePlayingStatus )
- {
- case EAudioTonePlaying:
- DeletePlayerAsync( EPlayerAudio );
- iAudioPlayer = NULL;
- break;
-
- case EDefaultTonePlaying:
- DeletePlayerAsync( EPlayerDefault );
- iDefaultPlayer = NULL;
- break;
-
- case ESilentTonePlaying:
- DeletePlayerAsync( EPlayerSilent );
- iSilentPlayer = NULL;
- break;
-
- case EUnsecureVoIPTonePlaying:
- DeletePlayerAsync( EPlayerUnsecureVoIP );
- iUnsecureVoIPTonePlayer = NULL;
- break;
-
- case EBeepOnce:
- DeletePlayerAsync( EPlayerBeepOnce );
- iBeepOncePlayer = NULL;
- break;
-
- case EVideoTonePlaying:
- case EPersonalVideoTonePlaying:
- DeletePlayerAsync( EPlayerBeepOnce );
- iBeepOncePlayer = NULL;
- return; // beep once + video
-
- case EBackupTonePlaying:
- break;
-
- default:
- Panic( EPhoneViewCaseNotHandled );
- break;
- }
-
- iTonePlayingStatus = EIdle;
+ iToneServer.PlayTtsTone( aTextToSay, aVolume, aRingingType );
}
// -----------------------------------------------------------------------------
@@ -814,76 +348,11 @@
// Guarding timer for startup has expired
if ( iTonePlayingStatus == EVideoTonePlaying ||
- iTonePlayingStatus == ESilentVideoTonePlaying ||
- iTonePlayingStatus == EPersonalVideoTonePlaying )
- {
- iVideoPlayer->CancelVideoRingTone(); // close video ringtone display
- PlayDefaultTone( iVolume, iRingingType );
- }
- else
- {
- // Start new audio player synchronously.
- DoHandlePlayerError( ETrue, ETrue );
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DoHandlePlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DoHandlePlayerError(
- TBool aDelete,
- TBool aSync )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandlePlayerError()" );
- switch ( iTonePlayingStatus )
+ iTonePlayingStatus == ESilentVideoTonePlaying ||
+ iTonePlayingStatus == EPersonalVideoTonePlaying )
{
- case EAudioTonePlaying:
- if ( aDelete )
- {
- if ( aSync )
- {
- delete iAudioPlayer;
- }
- else
- {
- DeletePlayerAsync( EPlayerAudio );
- }
-
- iAudioPlayer = NULL;
- }
-
-#ifdef __WINS__
- PlayAudioRingTone( iVolume, iRingingType );
- iTonePlayingStatus = EDefaultTonePlaying;
-#else
- PlayDefaultTone( iVolume, iRingingType );
-#endif
- break;
- case EDefaultTonePlaying:
- if ( aDelete )
- {
- if ( aSync )
- {
- delete iDefaultPlayer;
- }
- else
- {
- DeletePlayerAsync( EPlayerDefault );
- }
-
- iDefaultPlayer = NULL;
- }
-
- PlayBackupTone( iVolume, iRingingType );
- break;
- case ESilentTonePlaying:
- case EBeepOnce:
- case EBackupTonePlaying:
- break;
- default:
- break;
+ iVideoPlayer->CancelVideoRingTone(); // close video ringtone display
+ PlayDefaultTone( iVolume, iRingingType );
}
}
@@ -895,50 +364,7 @@
TInt aVolume,
TProfileRingingType aRingingType )
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone()" );
-
- if( aRingingType == EProfileRingingTypeSilent ||
- aRingingType == EProfileRingingTypeBeepOnce )
- {
- return;
- }
-
- if ( !iDefaultRingingTone )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone - default tone does not exist, play backup..." );
- PlayBackupTone( aVolume, aRingingType );
- return;
- }
-
- // Construct player.
- if ( !iDefaultPlayer )
- {
- iDefaultPlayer = ConstructTonePlayer(
- *iDefaultRingingTone,
- EPlayerDefault );
- if ( !iTimer->IsActive() )
- {
- iTimer->After( KPhoneMaxRingingWaiting, this );
- }
- }
-
- // Start playing.
- if ( !iDefaultPlayer )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone - player not constructed, play backup..." );
- iTimer->Cancel();
- PlayBackupTone( aVolume, aRingingType );
- }
- else
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone - play" );
- iVolume = aVolume;
- iRingingType = aRingingType;
- iTonePlayingStatus = EDefaultTonePlaying;
- iDefaultPlayer->Play(
- ConvertRingingType( aRingingType ), aVolume, iTtsToneToBePlayed );
- }
-
+ iToneServer.PlayDefaultTone( aVolume, aRingingType );
}
// -----------------------------------------------------------------------------
@@ -949,84 +375,9 @@
TInt aVolume,
TProfileRingingType aRingingType )
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayBackupTone()" );
- __ASSERT_DEBUG( iBackupPlayer, Panic( EPhoneViewGeneralError ) );
-
- if ( !iBackupPlayer )
- {
- ConstructPlayers();
- }
-
- if ( iBackupPlayer )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayBackupTone - play" );
- iTonePlayingStatus = EBackupTonePlaying;
-
- // Cease playing text-to-speech, if necessary
- iTtsToneToBePlayed = EFalse;
- iTTsTimeOutCounter = 0;
- iTtsDelayTimer->Cancel();
- if ( iTtsPlayer )
- {
- iTtsPlayer->StopPlaying();
- delete iTtsPlayer;
- iTtsPlayer = NULL;
- }
-
- iBackupPlayer->Play(
- ConvertRingingType( aRingingType ), aVolume, EFalse );
- }
+ iToneServer.PlayBackupTone( aVolume, aRingingType );
}
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructTonePlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneRingingTonePlayerAO::ConstructTonePlayer(
- const CPhoneRingingTone& aRingingTone,
- TInt aId )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructTonePlayer()" );
- return CPhoneAudioPlayer::New(
- aRingingTone,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- aId,
- iMdaServer,
- aId == EPlayerDefault ? EFalse : iExtSecNeeded );
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConvertRingingType
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::TRingingType CPhoneRingingTonePlayerAO::ConvertRingingType(
- TProfileRingingType aRingingType )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConvertRingingType()" );
-
- CPhoneAudioPlayer::TRingingType ringingType =
- CPhoneAudioPlayer::ETypeRinging;
- switch ( aRingingType )
- {
- case EProfileRingingTypeRinging:
- ringingType = CPhoneAudioPlayer::ETypeRinging;
- break;
-
- case EProfileRingingTypeAscending:
- ringingType = CPhoneAudioPlayer::ETypeAscending;
- break;
-
- case EProfileRingingTypeRingingOnce:
- ringingType = CPhoneAudioPlayer::ETypeRingingOnce;
- break;
-
- default:
- break;
- }
- return ringingType;
- }
// -----------------------------------------------------------------------------
// CPhoneRingingTonePlayerAO::ConvertVideoRingingType
@@ -1036,7 +387,7 @@
TProfileRingingType aRingingType )
{
MPhoneVideoPlayer::TPlayMode playMode;
-
+
switch ( aRingingType )
{
case EProfileRingingTypeAscending:
@@ -1050,223 +401,10 @@
playMode = MPhoneVideoPlayer::EPlayInLoop;
break;
}
-
+
return playMode;
}
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructPlayers
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTonePlayerAO::ConstructPlayers()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructPlayers()" );
- TRAPD( err, ConstructPlayersL() );
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructPlayersL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ConstructPlayersL()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructPlayersL()" );
-
- // Construct players.
- if ( !iMdaServer )
- {
- iMdaServer = CMdaServer::NewL();
- }
-
- // Construct Backup player.
- if ( !iBackupPlayer )
- {
- TFileName defaultSoundFile( KDriveZ );
- defaultSoundFile.Append( KPhoneDefaultSoundFile );
- iBackupPlayer = CPhoneAudioPlayer::NewL(
- defaultSoundFile,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerBackup,
- iMdaServer
- );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructSequencePlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ConstructSequencePlayer( TPlayerId aId )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructSequencePlayer()" );
-
- // Construct players.
- TRAPD( err, ConstructSequencePlayerL( aId ) );
- if ( err )
- {
- __PHONELOG1( EBasic, EPhoneUIView,
- "CPhoneRingingTonePlayerAO::ConstructSequencePlayer - err(%d)", err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructSequencePlayerL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ConstructSequencePlayerL( TPlayerId aId )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructSequencePlayerL()" );
- // Construct beep once player
- if ( aId == EPlayerBeepOnce )
- {
-#ifdef __WINS__
- TParse* fp = new (ELeave) TParse();
- fp->Set( KPhoneBeepOnceSoundFile, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( fp->FullName() );
- delete fp;
-
- iBeepOncePlayer = CPhoneAudioPlayer::NewL(
- fileName,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerBeepOnce );
-#else
- iBeepOncePlayer = CPhoneAudioPlayer::NewSeqL(
- KPhoneBeepSequence(),
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerBeepOnce );
-#endif // __WINS__
- }
-
- // Construct Silent Player.
- else if ( aId == EPlayerSilent )
- {
-#ifdef __WINS__
- TParse* fp = new (ELeave) TParse();
- fp->Set( KPhoneSilentSoundFile, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( fp->FullName() );
- delete fp;
-
- iSilentPlayer = CPhoneAudioPlayer::NewL(
- fileName,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerSilent );
-#else
- iSilentPlayer = CPhoneAudioPlayer::NewSeqL(
- KPhoneNoSoundSequence(),
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerSilent );
-#endif // __WINS__
- }
-
- else if ( aId == EPlayerUnsecureVoIP )
- {
-#ifdef __WINS__
- TParse* fp = new (ELeave) TParse();
- fp->Set( KPhoneBeepOnceSoundFile, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( fp->FullName() );
- delete fp;
-
- iUnsecureVoIPTonePlayer = CPhoneAudioPlayer::NewL(
- fileName,
- KAudioPrioritySpecialInformationTone,
- KAudioPrefSpecialInformation,
- *this,
- EPlayerUnsecureVoIP );
-#else
- iUnsecureVoIPTonePlayer = CPhoneAudioPlayer::NewSeqL(
- KPhoneUnsecureVoIPCall(),
- KAudioPrioritySpecialInformationTone,
- KAudioPrefSpecialInformation,
- *this,
- EPlayerUnsecureVoIP );
-#endif // __WINS__
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::CleanupPlayers
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::CleanupPlayers()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::CleanupPlayers()" );
-
- delete iAudioPlayer;
- iAudioPlayer = NULL;
-
- delete iDefaultPlayer;
- iDefaultPlayer = NULL;
-
- delete iBeepOncePlayer;
- iBeepOncePlayer = NULL;
-
- delete iSilentPlayer;
- iSilentPlayer = NULL;
-
- delete iUnsecureVoIPTonePlayer;
- iUnsecureVoIPTonePlayer = NULL;
-
- delete iBackupPlayer;
- iBackupPlayer = NULL;
-
- delete iMdaServer;
- iMdaServer = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DeletePlayerAsync
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DeletePlayerAsync( TPlayerId aPlayer )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DeletePlayerAsync()" );
- __ASSERT_DEBUG( aPlayer >= EPlayerFirst && aPlayer < iAsyncDeletePlayers.Count(),
- Panic( EPhoneViewInvariant ) );
-
- // Player is not deleted here, but in RunL.
- Cancel();
-
- if ( iAsyncDeletePlayers[ aPlayer ] )
- {
- delete iAsyncDeletePlayers[ aPlayer ];
- iAsyncDeletePlayers[ aPlayer ] = NULL;
- }
-
- CPhoneAudioPlayer** players[] =
- {
- &iAudioPlayer,
- &iBeepOncePlayer,
- &iSilentPlayer,
- &iUnsecureVoIPTonePlayer,
- &iDefaultPlayer,
- &iBackupPlayer,
- &iTtsPlayer
- };
-
- __ASSERT_DEBUG( iAsyncDeletePlayers.Count() > aPlayer, Panic( EPhoneUtilsIndexOutOfBounds ) );
- iAsyncDeletePlayers[ aPlayer ] =
- *(players[ aPlayer ]);
- *(players[ aPlayer ]) = NULL;
-
- iState = EDeletingAudioPlayer;
-
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- SetActive();
- }
-
// -----------------------------------------------------------------------------
// CPhoneRingingTonePlayerAO::RunL
// -----------------------------------------------------------------------------
@@ -1277,27 +415,17 @@
switch ( iState )
{
- case EDeletingAudioPlayer:
- {
- for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
- {
- delete iAsyncDeletePlayers[ i ];
- iAsyncDeletePlayers[ i ] = NULL;
- }
- }
- break;
-
- case EPlayingDefaultVideo:
+ case EPlayingDefaultVideo:
{
PlayAudioRingTone( iVolume, iRingingType );
}
break;
- case EIdleState:
+ case EIdleState:
default:
break;
} // switch iState
-
+
iState = EIdleState;
}
@@ -1310,98 +438,6 @@
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoCancel()" );
// Request is completed immediately before SetActive.
}
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTonePlayerAO::HandleTtsDelayTimeout( TAny* object )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleTtsDelayTimeout()" );
- static_cast<CPhoneRingingTonePlayerAO*>( object )->
- DoHandleTtsDelayTimeout();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout()" );
- __PHONELOG2( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - iTtsRingingType(%d), iTTsTimeOutCounter(%d)",
- iTtsRingingType, iTTsTimeOutCounter );
-
- CPhoneAudioPlayer* currPlayer = NULL;
- currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
-
- if ( !currPlayer )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - null current player" );
- return;
- }
- TInt volume( 0 );
- //Ascending case. TTs player needs to be ascending.
- if ( iTtsRingingType == EProfileRingingTypeAscending )
- {
- //Volume needs to be different in different ascending steps
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - play ascending" );
- if ( !iTTsTimeOutCounter )
- {
- //We are saying callers name for the first time in ascending mode.
- //Say callers name by volume level KTtsVolumeMin.
- volume = KTtsVolumeMin;
-
- iTtsPlayer->Play(
- ConvertRingingType( EProfileRingingTypeRingingOnce ),
- volume,
- iTtsToneToBePlayed );
- }
- else
- {
- //Checks the case that ringingtone is very quiet. Then do not play
- //TTS too loud
- volume = iTtsVolume < KTtsVolumeMin ? KTtsVolumeMin : KTtsVolumeAscendingRepeat;
-
- //We are saying callers name for the second time in ascending mode.
- //Say callers name by volume level KTtsVolumeAscendingRepeat and decrease current players volume
- //to KPlayerVolumeAscendingRepeat. RampTime is zero
- currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, 0 );
- iTtsPlayer->Play(
- ConvertRingingType( EProfileRingingTypeRingingOnce ),
- volume,
- iTtsToneToBePlayed );
- }
-
- }
- else //Normal ringing case.
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - play normal" );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume-5, 0 );
- iTtsPlayer->Play(
- ConvertRingingType( EProfileRingingTypeRingingOnce ),
- iTtsVolume,
- iTtsToneToBePlayed );
- }
-
- iTTsTimeOutCounter++;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::AddTtsPlaybackIfNeeded
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::AddTtsPlaybackIfNeeded(
- TProfileRingingType /*aRingingType*/ )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::AddTtsPlaybackIfNeeded()" );
- if ( iTtsToneToBePlayed )
- {
- iTtsDelayIndex = 0;
- iTtsDelaysCount = KPhoneTtsDelaysCount;
- }
- }
// -----------------------------------------------------------------------------
// CPhoneRingingTonePlayerAO::SetVideoPlayer
@@ -1410,7 +446,7 @@
void CPhoneRingingTonePlayerAO::SetVideoPlayer(
MPhoneVideoPlayer* aVideoPlayer )
{
- iVideoPlayer = aVideoPlayer;
+ iVideoPlayer = aVideoPlayer;
}
// -----------------------------------------------------------------------------
@@ -1424,13 +460,13 @@
TBool aPersonalTone )
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayVideoRingingTone()" );
-
+
__ASSERT_DEBUG( iVideoPlayer, Panic( EPhoneViewGeneralError ) );
-
+
iVolume = aVolume;
iRingingType = aRingingType;
TBool startTimer( ETrue );
-
+
// Extended security check
if ( ExtendedSecurity() )
{
@@ -1445,8 +481,8 @@
}
__PHONELOG( EBasic,
EPhoneUIView,
- "CPhoneRingingTonePlayerAO::HandleVideoPlayerError - ExtSecChk ok" );
- }
+ "CPhoneRingingTonePlayerAO::HandleVideoPlayerError - ExtSecChk ok" );
+ }
__PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayVideoRingingTone - play" );
switch( aRingingType )
@@ -1458,11 +494,11 @@
0,
iArbitraryVideoScaling,
this );
- PlaySilentTone(); // To start vibra, video may fail.
+ iToneServer.PlaySilentTone(); // To start vibra, video may fail.
iVolume = 0; // for repeat
startTimer = EFalse; // no need for fallback
break;
-
+
case EProfileRingingTypeBeepOnce:
iVideoPlayer->PlayVideoRingTone(
aRingingTone.FileName(),
@@ -1481,7 +517,7 @@
iVolume,
iArbitraryVideoScaling,
this );
- break;
+ break;
}
if ( aPersonalTone )
@@ -1498,7 +534,7 @@
// Start timer to guard video opening
iTimer->After( KPhoneMaxRingingWaiting, this );
}
-
+
}
// -----------------------------------------------------------------------------
@@ -1516,9 +552,9 @@
__PHONELOG1( EBasic,
EPhoneUIView,
"CPhoneRingingTonePlayerAO::HandleVideoPlayerError - error (%d)",
- aError );
+ aError );
}
-
+
// cancel guarding timer
iTimer->Cancel();
@@ -1531,7 +567,7 @@
if ( iAudioVideoRingingTone &&
!iAudioVideoRingingTone->IsVideoRingingTone() )
{
- PlayAudioRingTone( iVolume, iRingingType );
+ iToneServer.PlayAudioRingTone( iVolume, iRingingType );
}
else // audio/video tone is video
{
@@ -1553,10 +589,10 @@
void CPhoneRingingTonePlayerAO::HandleVideoPlayerInitComplete()
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleVideoPlayerInitComplete()" );
-
+
// cancel guarding timer
iTimer->Cancel();
-
+
}
// -----------------------------------------------------------------------------
@@ -1574,8 +610,8 @@
//
void CPhoneRingingTonePlayerAO::PlayDefaultVideoAsync()
{
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultVideoAsync()" );
-
+ __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultVideoAsync()" );
+
Cancel();
iState = EPlayingDefaultVideo;
@@ -1588,129 +624,13 @@
// -----------------------------------------------------------------------------
// CPhoneRingingTonePlayerAO::ExtendedSecurity
// -----------------------------------------------------------------------------
-//
+//
TBool CPhoneRingingTonePlayerAO::ExtendedSecurity() const
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ExtendedSecurity()" );
- return iExtSecNeeded;
+ return iExtSecNeeded;
}
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime( TTtsStatus aStatus )
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime()" );
-
- CPhoneAudioPlayer* currPlayer = NULL;
- currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
- if ( !currPlayer )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - null current player" );
- return;
- }
- TInt ramptime( 0 );
- //Here is handled the cases when Callers name is said. Sequence is:
- //3 sec. tone + name + 4 sec. tone + name +the tone until the end.
- switch ( aStatus )
- {
- case ESaidOnce:
- if ( iTtsRingingType == EProfileRingingTypeAscending )
- {
- //The ramptime could be ( 4 )* KPhoneTtsAscendingStep but now
- //we are setting this to 0 because when Say callers name is said
- //for first time: play ringing tone on level 3 for four secs.
- ramptime = 0;
- __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said once ascending - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, ramptime );
- }
- else
- {
- //Normal ringingtone case. Adjust volume back to profile level.
- __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said once normal - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );
- }
- break;
-
- case ESaidTwice:
- if ( iTtsRingingType == EProfileRingingTypeAscending )
- {
- TInt vol = iTtsVolume;
- if ( vol > KPlayerVolumeAscendingRepeat )
- {
- vol = vol - KTtsVolumeAscendingDecrease;
- }
-
- //TTS playing complete for second time. increase tone player volume.
- ramptime = ( vol )*KPhoneTtsAscendingStep;
- __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said twice ascending - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume, ramptime );
- }
- else
- {
- //Normal ringingtone case. Adjust volume back to profile level.
- __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said twice normal - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );
- }
- break;
-
- default:
- break;
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer*
-CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs()" );
-
- if( iAudioPlayer )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs - audio player" );
- return iAudioPlayer;
- }
- else if ( iDefaultPlayer )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs - default player" );
- return iDefaultPlayer;
- }
- else if( iBackupPlayer )
- {
- __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs - backup player" );
- return iBackupPlayer;
- }
- else
- {
- return NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ReStartRingingTonePlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ReStartRingingTonePlayer()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ReStartRingingTonePlayer()" );
-
- //First get currently active player which plays among TTS player.
- CPhoneAudioPlayer* currPlayer = NULL;
- currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
- if ( currPlayer )
- {
- currPlayer->ReStartPlaying();
- }
- }
// -----------------------------------------------------------------------------
// CPhoneRingingTonePlayerAO::CheckAndHandleToneSizeLimit
@@ -1720,9 +640,9 @@
CPhoneRingingTone* aRingingTone )
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::CheckAndHandleToneSizeLimit()" );
-
+
TBool bValidSize = ETrue;
-
+
// If user has somehow managed to get a too large file as ringing tone,
// play default tone instead.
if ( iToneFileSizeLimitKB )
@@ -1730,14 +650,14 @@
if ( CheckToneFileSize( aRingingTone->FileName(), iToneFileSizeLimitKB) != KErrNone )
{
bValidSize = EFalse;
- }
+ }
}
__PHONELOG1(
EBasic,
EPhoneUIView,
"CPhoneRingingTonePlayerAO::CheckAndHandleToneSizeLimit - bValidSize(%d)",
bValidSize);
-
+
return bValidSize;
}
@@ -1748,29 +668,29 @@
TInt CPhoneRingingTonePlayerAO::CheckToneFileSize( const TDesC& aFile, TInt aSizeLimitKB )
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::CheckToneFileSize()" );
-
+
// Get file size
TInt size = 0;
TInt error = KErrNone;
- RFs& fs = CCoeEnv::Static()->FsSession();
+ RFs& fs = CCoeEnv::Static()->FsSession();
TEntry entry;
if (KErrNone == fs.Entry( aFile, entry ))
- {
- size = entry.iSize;
- }
-
+ {
+ size = entry.iSize;
+ }
+
// Check
aSizeLimitKB *= Kkilo;
if ( aSizeLimitKB && size > aSizeLimitKB )
{
error = KErrTooBig;
}
-
+
__PHONELOG1(
EBasic,
EPhoneUIView,
"CPhoneRingingTonePlayerAO::CheckToneFileSize - size (%d)",
- size );
+ size );
return error;
}
@@ -1782,132 +702,29 @@
void CPhoneRingingTonePlayerAO::GetMaxToneFileSizeL( TInt& aMaxSizeKB ) const
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::GetMaxToneFileSizeL()" );
-
+
const TInt error = CPhoneCenRepProxy::Instance()->GetInt(
KCRUidProfileEngine,
KProEngRingingToneMaxSize,
aMaxSizeKB );
-
- if ( error != KErrNone )
- {
+
+ if ( error != KErrNone )
+ {
aMaxSizeKB = 0;
- }
- if ( aMaxSizeKB < 0 )
- {
- aMaxSizeKB = 0;
- }
-
+ }
+ if ( aMaxSizeKB < 0 )
+ {
+ aMaxSizeKB = 0;
+ }
+
__PHONELOG2(
EBasic,
EPhoneUIView,
"CPhoneRingingTonePlayerAO::GetMaxToneFileSizeL - error (%d), aMaxSizeKB(%d)",
error,
- aMaxSizeKB );
+ aMaxSizeKB );
}
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ActiveAudioPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneRingingTonePlayerAO::ActiveAudioPlayer()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ActiveAudioPlayer()" );
-
- switch( iTonePlayingStatus )
- {
- case EAudioTonePlaying:
- if( iAudioPlayer )
- {
- return iAudioPlayer;
- }
- break;
-
- case EDefaultTonePlaying:
- if ( iDefaultPlayer )
- {
- return iDefaultPlayer;
- }
- break;
-
- case EBeepOnce:
- if( iBeepOncePlayer )
- {
- return iBeepOncePlayer;
- }
- break;
-
- case EBackupTonePlaying:
- if( iBackupPlayer )
- {
- return iBackupPlayer;
- }
- break;
-
- case ESilentTonePlaying:
- if( iSilentPlayer )
- {
- return iSilentPlayer;
- }
- break;
-
- case EUnsecureVoIPTonePlaying:
- if( iUnsecureVoIPTonePlayer )
- {
- return iUnsecureVoIPTonePlayer;
- }
- break;
-
- case EVideoTonePlaying: // video ringing tone
- case EPersonalVideoTonePlaying:
- case ESilentVideoTonePlaying:
- if ( iBeepOncePlayer )
- {
- return iBeepOncePlayer;
- }
- else if ( iSilentPlayer )
- {
- return iSilentPlayer;
- }
- break;
-
- default:
- break;
- }
-
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DoMuteRingingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DoMuteRingingTone()
- {
- __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoMuteRingingTone()" );
-
- switch( iTonePlayingStatus )
- {
- case EVideoTonePlaying: // video ringing tone, fall through
- case EPersonalVideoTonePlaying: // fall through
- case ESilentVideoTonePlaying:
- if ( iVideoPlayer )
- {
- iVideoPlayer->MuteVideoRingTone();
- return;
- }
- break;
-
- default:
- break;
- }
-
- CPhoneAudioPlayer* activePlayer = ActiveAudioPlayer();
- if( activePlayer )
- {
- activePlayer->MutePlaying();
- }
- }
-
// -----------------------------------------------------------
// CPhoneRingingTonePlayerAO::HandleCenRepChangeL
// -----------------------------------------------------------
@@ -1917,20 +734,20 @@
const TUint /*aId*/ )
{
__LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleCenRepChangeL()");
-
+
if ( aUid == KCRUidDRMHelperServer )
{
TBuf<256> tempBuf16( KNullDesC );
-
+
User::LeaveIfError( CPhoneCenRepProxy::Instance()->GetString(
KCRUidDRMHelperServer,
KDRMHelperServerNotificationPassive,
- tempBuf16 ) );
-
+ tempBuf16 ) );
+
const TBool idleIsTopApp = CPhonePubSubProxy::Instance()->Value(
KPSUidAiInformation, KActiveIdleState ) == EPSAiForeground;
-
- // Quick validity check and
+
+ // Quick validity check and
// The first Tuint8 is the times the content has been informed.
// Note should not shown until Idle.
if ( idleIsTopApp && tempBuf16.Length() >= KPhoneMinDRMTextLength )
@@ -1938,28 +755,28 @@
TBuf8<256> tempBuf8;
TPtrC8 ptr((TUint8*)tempBuf16.Ptr(), tempBuf16.Size());
HBufC8* buf8 = HBufC8::NewLC( 256 );
- buf8->Des().Copy(ptr);
- // Extract URI etc.
- // buf8 format:
- //<TUint8 aTimes><TUint8 aExpirationMark>
- //<TUint8 aPermissionType>
- //<TUint8 aAutomatedContentType><TDesC8 aContentID>
- TInt8 count = (TInt8)(*(buf8->Ptr()));
- TChar mark = (TChar)(*(buf8->Ptr()+1));
- TInt8 permtype = (TChar)(*(buf8->Ptr()+2));
- TInt8 automcontenttype = (TChar)(*(buf8->Ptr()+3));
- TBuf8<256> curi = buf8->Right( buf8->Length()-4);
-
- if (curi.Ptr()[curi.Size()-1] == 0)
- {
- // The last character in the descriptor is 0, which means
- // that the original 16-bit desc was padded so
- // remove the last char...
- curi.SetLength(curi.Size()-1);
- }
-
- // Create DRM helper.
- CDRMHelper* drmHelper = CDRMHelper::NewLC();
+ buf8->Des().Copy(ptr);
+ // Extract URI etc.
+ // buf8 format:
+ //<TUint8 aTimes><TUint8 aExpirationMark>
+ //<TUint8 aPermissionType>
+ //<TUint8 aAutomatedContentType><TDesC8 aContentID>
+ TInt8 count = (TInt8)(*(buf8->Ptr()));
+ TChar mark = (TChar)(*(buf8->Ptr()+1));
+ TInt8 permtype = (TChar)(*(buf8->Ptr()+2));
+ TInt8 automcontenttype = (TChar)(*(buf8->Ptr()+3));
+ TBuf8<256> curi = buf8->Right( buf8->Length()-4);
+
+ if ( curi.Ptr()[curi.Size()-1] == 0 )
+ {
+ // The last character in the descriptor is 0, which means
+ // that the original 16-bit desc was padded so
+ // remove the last char...
+ curi.SetLength(curi.Size()-1);
+ }
+
+ // Create DRM helper.
+ CDRMHelper* drmHelper = CDRMHelper::NewLC();
// Show notification.
drmHelper->SetAutomatedType( (CDRMHelper::TDRMHelperAutomatedType)automcontenttype );
TInt error = drmHelper->CheckRightsAmountL( curi );
@@ -1967,11 +784,11 @@
__PHONELOG1( EBasic, EPhoneUIView,
"CPhoneRingingTonePlayerAO::HandleCenRepChangeL > CheckRightsAmountL, error: %d"
, error );
-
+
CleanupStack::PopAndDestroy( drmHelper );
CleanupStack::PopAndDestroy( buf8 );
}
}
}
-
-// End of File
+
+// End of File