voicerecorder/RecViewSrc/CVRRecViewModel.cpp
branchRCL_3
changeset 8 49233e24b2ab
parent 0 845549f293a7
child 10 bb90e4148332
equal deleted inserted replaced
7:6aee962f6139 8:49233e24b2ab
  1392 	{
  1392 	{
  1393 	switch ( aFunctionId )
  1393 	switch ( aFunctionId )
  1394 		{
  1394 		{
  1395 		case EFunctionPlay:
  1395 		case EFunctionPlay:
  1396 			{
  1396 			{
  1397 			if ( VRUtils::UnsupportedCallTypeOngoing( ETrue ) || !dynamic_cast<CVRMdaRecorder*>(iRecorder)->IsAttachedToMemo())
  1397 			CVRMdaRecorder* iRecorderUtility = NULL;
       
  1398 			iRecorderUtility = dynamic_cast<CVRMdaRecorder*>(iRecorder);
       
  1399 			if ( VRUtils::UnsupportedCallTypeOngoing( ETrue ) || iRecorderUtility == NULL || !iRecorderUtility->IsAttachedToMemo())
  1398 				{
  1400 				{
  1399 				return EFalse;
  1401 				return EFalse;
  1400 				}
  1402 				}
  1401 
  1403 
  1402 			iIgnoreNextIhfChange = EFalse;
  1404 			iIgnoreNextIhfChange = EFalse;
  1479 			StopAndCloseL( R_VR_STOP_SAVE_WAITNOTE_LABEL );
  1481 			StopAndCloseL( R_VR_STOP_SAVE_WAITNOTE_LABEL );
  1480 			break;
  1482 			break;
  1481 			}
  1483 			}
  1482 		case EFunctionRecord:
  1484 		case EFunctionRecord:
  1483 			{
  1485 			{
       
  1486 			CVRMdaRecorder* iRecorderUtility = NULL;
  1484 			if ( VRUtils::UnsupportedCallTypeOngoing( ETrue ) )
  1487 			if ( VRUtils::UnsupportedCallTypeOngoing( ETrue ) )
  1485 				{
  1488 				{
  1486 				return EFalse;
  1489 				return EFalse;
  1487 				}			
  1490 				}			
  1488          
  1491          
  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:
  2328 //		
  2345 //		
  2329 TBool CVRRecViewModel::GetInRecordingFlag()
  2346 TBool CVRRecViewModel::GetInRecordingFlag()
  2330 	{
  2347 	{
  2331 	if(iRecorder)
  2348 	if(iRecorder)
  2332 		{
  2349 		{
  2333 		return 	dynamic_cast<CVRMdaRecorder*>(iRecorder)->GetInRecordingFlag();			
  2350 		CVRMdaRecorder* iRecorderUtility = NULL;
       
  2351 		iRecorderUtility = dynamic_cast<CVRMdaRecorder*>(iRecorder);	
       
  2352 		if(iRecorderUtility != NULL)
       
  2353 			{
       
  2354 			return iRecorderUtility->GetInRecordingFlag();
       
  2355 			}
       
  2356 		return EFalse;
  2334 		}
  2357 		}
  2335 	else
  2358 	else
  2336 		{
  2359 		{
  2337 		return EFalse;
  2360 		return EFalse;
  2338 		}
  2361 		}
  2347 //		
  2370 //		
  2348 TBool CVRRecViewModel::GetIfStopCalled()
  2371 TBool CVRRecViewModel::GetIfStopCalled()
  2349 	{
  2372 	{
  2350 	if(iRecorder)
  2373 	if(iRecorder)
  2351 		{
  2374 		{
  2352 		return 	dynamic_cast<CVRMdaRecorder*>(iRecorder)->GetIfStopCalled();			
  2375 		CVRMdaRecorder* iRecorderUtility = NULL;
       
  2376 		iRecorderUtility = dynamic_cast<CVRMdaRecorder*>(iRecorder);	
       
  2377 		if(iRecorderUtility != NULL)
       
  2378 			{
       
  2379 			return iRecorderUtility->GetIfStopCalled();
       
  2380 			}
       
  2381 		return EFalse;
  2353 		}
  2382 		}
  2354 	else
  2383 	else
  2355 		{
  2384 		{
  2356 		return EFalse;
  2385 		return EFalse;
  2357 		}
  2386 		}
  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 // ---------------------------------------------------------------------------