--- a/phoneengine/audiohandling/src/cpegsmaudiodata.cpp Tue Aug 31 15:14:29 2010 +0300
+++ b/phoneengine/audiohandling/src/cpegsmaudiodata.cpp Wed Sep 01 12:30:10 2010 +0100
@@ -35,7 +35,7 @@
// None.
// CONSTANTS
-// None.
+const TInt KDtmfSilent = 0;
// MACROS
// None.
@@ -83,9 +83,6 @@
iInbandTonePlayer =
CPEAudioInbandTonePlayer::NewL( *this, iFsSession, aAudioFactory );
- TInt volume = iPhoneModel.DataStore()->AudioVolume();
- iInbandTonePlayer->SetVolume( volume );
-
iDtmfTonePlayer = CPEAudioDtmfTonePlayer::NewL();
}
@@ -121,7 +118,7 @@
(
MPEPhoneModelInternal& aPhoneModel,
RFs& aFsSession,
- CPEAudioFactory& aAudioFactory
+ CPEAudioFactory& aAudioFactory
)
{
CPEGsmAudioData* self = new ( ELeave )
@@ -154,16 +151,21 @@
const TChar& aTone //DTMF tone to play
) const
{
- TInt volume; //DTMF tone volume
+ TInt volume; //DTMF tone volume
volume = iPhoneModel.DataStore()->KeypadVolume();
TEFLOGSTRING3( KTAREQIN,
"AUD CPEGsmAudioData::PlayDtmfTone, aTone = %s, volume = %d",
&aTone,
volume );
-
- iDtmfTonePlayer->SetVolume( volume );
- iDtmfTonePlayer->PlayDtmfTone( aTone );
+
+ // If profile key tones setting is OFF, the volume will be O
+ // Don't play dtmf tone here to avoid interrupting the possible touch tone's playing.
+ if ( KDtmfSilent != volume )
+ {
+ iDtmfTonePlayer->SetVolume( volume );
+ iDtmfTonePlayer->PlayDtmfTone( aTone );
+ }
}
// -----------------------------------------------------------------------------
@@ -235,7 +237,7 @@
if ( DtmfLocalPlayAllowed() )
{
TEFLOGSTRING( KTAINT, "AUD CPEGsmAudioData::HandleDTMFEvent: PlayDtmfTone" );
- PlayDtmfTone( aTone );
+ PlayDtmfTone( aTone );
}
else
{
@@ -252,16 +254,16 @@
case ECCEDtmfStringSendingCompleted:
default:
TEFLOGSTRING( KTAINT, "AUD CPEGsmAudioData::HandleDTMFEvent: StopDtmfTonePlay" );
- //Stop tone playing
- StopDtmfTonePlay();
+ //Stop tone playing
+ StopDtmfTonePlay();
break;
}
}
else
{
TEFLOGSTRING( KTAINT, "AUD CPEGsmAudioData::HandleDTMFEvent: Error case" );
- //Stop tone playing
- StopDtmfTonePlay();
+ //Stop tone playing
+ StopDtmfTonePlay();
}
}
@@ -298,11 +300,10 @@
// CPEGsmAudioData::DoHandleVolumeChange
// -----------------------------------------------------------------------------
//
-void CPEGsmAudioData::DoHandleVolumeChange( TInt aVolume, TBool aSendMsg)
+void CPEGsmAudioData::DoHandleVolumeChange( TInt aVolume )
{
iInbandTonePlayer->SetVolume( aVolume );
- CPEAudioData::DoHandleVolumeChange(aVolume , aSendMsg);
}
// ================= OTHER EXPORTED FUNCTIONS ===============================