1491 // return EFalse; |
1494 // return EFalse; |
1492 // } |
1495 // } |
1493 |
1496 |
1494 if(iCurrentCallHandler->StateL(KPSUidCtsyCallInformation,KCTsyCallState )==EPSCTsyCallStateConnected) |
1497 if(iCurrentCallHandler->StateL(KPSUidCtsyCallInformation,KCTsyCallState )==EPSCTsyCallStateConnected) |
1495 { |
1498 { |
1496 dynamic_cast<CVRMdaRecorder*>(iRecorder)->SetAudioInputL(CAudioInput::EVoiceCall); |
1499 iRecorderUtility = dynamic_cast<CVRMdaRecorder*>(iRecorder); |
1497 dynamic_cast<CVRMdaRecorder*>(iRecorder)->ConfigSampleRateOfVoiceCallL(); |
1500 if(iRecorderUtility != NULL) |
|
1501 { |
|
1502 iRecorderUtility->SetAudioInputL(CAudioInput::EVoiceCall); |
|
1503 iRecorderUtility->ConfigSampleRateOfVoiceCallL(); |
|
1504 } |
1498 } |
1505 } |
1499 //Audioinput can't be changed after Record |
1506 //Audioinput can't be changed after Record |
1500 if ( iRecorder->RecordL() != KErrNone ) |
1507 if ( iRecorder->RecordL() != KErrNone ) |
1501 { |
1508 { |
1502 return EFalse; |
1509 return EFalse; |
1538 SetRecorderVolume(); |
1545 SetRecorderVolume(); |
1539 break; |
1546 break; |
1540 } |
1547 } |
1541 case EFunctionRecordNew: |
1548 case EFunctionRecordNew: |
1542 { |
1549 { |
|
1550 CVRMdaRecorder* iRecorderUtility = NULL; |
1543 if ( VRUtils::UnsupportedCallTypeOngoing( ETrue ) ) |
1551 if ( VRUtils::UnsupportedCallTypeOngoing( ETrue ) ) |
1544 { |
1552 { |
1545 return EFalse; |
1553 return EFalse; |
1546 } |
1554 } |
1547 |
1555 iRecorderUtility = dynamic_cast<CVRMdaRecorder*>(iRecorder); |
1548 dynamic_cast<CVRMdaRecorder*>(iRecorder)->SetInRecordingFlag(ETrue); |
1556 if(iRecorderUtility == NULL) |
|
1557 { |
|
1558 return EFalse; |
|
1559 } |
|
1560 iRecorderUtility->SetInRecordingFlag(ETrue); |
1549 |
1561 |
1550 iCanHandleCommands = EFalse; |
1562 iCanHandleCommands = EFalse; |
1551 // Don't accept CBA commands |
1563 // Don't accept CBA commands |
1552 iCBAEnabled = EFalse; |
1564 iCBAEnabled = EFalse; |
1553 // Update CBAs |
1565 // Update CBAs |
1563 if( !leaveErr1 ) |
1575 if( !leaveErr1 ) |
1564 { |
1576 { |
1565 TRAP( leaveErr2, iRecorder->AttachToMemoL( iMemo ) ); |
1577 TRAP( leaveErr2, iRecorder->AttachToMemoL( iMemo ) ); |
1566 } |
1578 } |
1567 |
1579 |
1568 TBool ifAttach = dynamic_cast <CVRMdaRecorder*>(iRecorder)->IsAttachedToMemo(); |
1580 TBool ifAttach = iRecorderUtility->IsAttachedToMemo(); |
1569 |
1581 |
1570 if ( leaveErr1 || leaveErr2 || !ifAttach) |
1582 if ( leaveErr1 || leaveErr2 || !ifAttach) |
1571 { |
1583 { |
1572 iCanHandleCommands = ETrue; |
1584 iCanHandleCommands = ETrue; |
1573 iCBAEnabled = ETrue; |
1585 iCBAEnabled = ETrue; |
1598 TInt recError( KErrNone ); |
1610 TInt recError( KErrNone ); |
1599 |
1611 |
1600 //TRAPD( recLeaveErr, recError = iRecorder->RecordL() ); |
1612 //TRAPD( recLeaveErr, recError = iRecorder->RecordL() ); |
1601 if(iCurrentCallHandler->StateL(KPSUidCtsyCallInformation,KCTsyCallState )==EPSCTsyCallStateConnected) |
1613 if(iCurrentCallHandler->StateL(KPSUidCtsyCallInformation,KCTsyCallState )==EPSCTsyCallStateConnected) |
1602 { |
1614 { |
1603 dynamic_cast<CVRMdaRecorder*>(iRecorder)->SetAudioInputL(CAudioInput::EVoiceCall); |
1615 iRecorderUtility->SetAudioInputL(CAudioInput::EVoiceCall); |
1604 dynamic_cast<CVRMdaRecorder*>(iRecorder)->ConfigSampleRateOfVoiceCallL(); |
1616 iRecorderUtility->ConfigSampleRateOfVoiceCallL(); |
1605 } |
1617 } |
1606 //Change for CS call:Audio input can't be changed after Record |
1618 //Change for CS call:Audio input can't be changed after Record |
1607 TRAPD( recLeaveErr, recError = iRecorder->RecordL() ); |
1619 TRAPD( recLeaveErr, recError = iRecorder->RecordL() ); |
1608 |
1620 |
1609 if (GetInRecordingFlag()) |
1621 if (GetInRecordingFlag()) |
1610 { |
1622 { |
1611 dynamic_cast<CVRMdaRecorder*>(iRecorder)->SetInRecordingFlag(EFalse); |
1623 iRecorderUtility->SetInRecordingFlag(EFalse); |
1612 } |
1624 } |
1613 |
1625 |
1614 if ( recError != KErrNone || recLeaveErr ) |
1626 if ( recError != KErrNone || recLeaveErr ) |
1615 { |
1627 { |
1616 iCanHandleCommands = ETrue; |
1628 iCanHandleCommands = ETrue; |
1951 } |
1963 } |
1952 case EPSCTsyCallStateNone: |
1964 case EPSCTsyCallStateNone: |
1953 { |
1965 { |
1954 if( iPreviousCallState == EPSCTsyCallStateConnected ) |
1966 if( iPreviousCallState == EPSCTsyCallStateConnected ) |
1955 { |
1967 { |
1956 dynamic_cast<CVRMdaRecorder*>(iRecorder)->SetAudioInputL(CAudioInput::EDefaultMic); |
1968 CVRMdaRecorder* iRecorderUtility = NULL; |
|
1969 iRecorderUtility = dynamic_cast<CVRMdaRecorder*>(iRecorder); |
|
1970 if(iRecorderUtility != NULL) |
|
1971 { |
|
1972 iRecorderUtility->SetAudioInputL(CAudioInput::EDefaultMic); |
|
1973 } |
1957 HandleCommandL( ECmdAutoStopAtEnd ); |
1974 HandleCommandL( ECmdAutoStopAtEnd ); |
1958 } |
1975 } |
1959 break; |
1976 break; |
1960 } |
1977 } |
1961 default: |
1978 default: |
2365 // |
2394 // |
2366 void CVRRecViewModel::SetInRecordingFlag(TBool aFlag) |
2395 void CVRRecViewModel::SetInRecordingFlag(TBool aFlag) |
2367 { |
2396 { |
2368 if(iRecorder) |
2397 if(iRecorder) |
2369 { |
2398 { |
2370 return dynamic_cast<CVRMdaRecorder*>(iRecorder)->SetInRecordingFlag(aFlag); |
2399 CVRMdaRecorder* iRecorderUtility = NULL; |
|
2400 iRecorderUtility = dynamic_cast<CVRMdaRecorder*>(iRecorder); |
|
2401 if(iRecorderUtility != NULL) |
|
2402 { |
|
2403 return iRecorderUtility->SetInRecordingFlag(aFlag); |
|
2404 } |
2371 } |
2405 } |
2372 } |
2406 } |
2373 |
2407 |
2374 |
2408 |
2375 // --------------------------------------------------------------------------- |
2409 // --------------------------------------------------------------------------- |