270 __LOGMETHODSTARTEND( PhoneUIVoIPExtension, |
279 __LOGMETHODSTARTEND( PhoneUIVoIPExtension, |
271 "CPhoneVccHandler::RemoveHandoverNoteL()"); |
280 "CPhoneVccHandler::RemoveHandoverNoteL()"); |
272 |
281 |
273 if ( iVccHoReady && !iHandoverNoteTimer ) |
282 if ( iVccHoReady && !iHandoverNoteTimer ) |
274 { |
283 { |
275 iViewCommandHandle.ExecuteCommandL( EPhoneViewRemoveGlobalNote ); |
284 iViewCommandHandle.ExecuteCommandL( EPhoneViewRemoveGlobalNote ); |
|
285 if ( iHOFailure ) |
|
286 { |
|
287 iHOFailure = EFalse; |
|
288 CPhoneState* phoneState = |
|
289 static_cast< CPhoneState* >( iStateMachine.State() ); |
|
290 phoneState->SendGlobalInfoNoteL( EPhoneVoIPHandoverFail ); |
|
291 |
|
292 } |
276 } |
293 } |
277 } |
294 } |
278 |
295 |
279 // ----------------------------------------------------------- |
296 // ----------------------------------------------------------- |
280 // CPhoneVccHandler::HandoverInProgressNoteL |
297 // CPhoneVccHandler::HandoverInProgressNoteL |
281 // ----------------------------------------------------------- |
298 // ----------------------------------------------------------- |
282 // |
299 // |
283 void CPhoneVccHandler::HandoverInProgressNoteL( TInt aCommand ) |
300 void CPhoneVccHandler::HandoverInProgressNoteL( TInt aCommand ) |
284 { |
301 { |
285 TPhoneCmdParamGlobalNote globalNoteParam; |
302 __LOGMETHODSTARTEND( PhoneUIVoIPExtension, |
|
303 "CPhoneVccHandler::HandoverInProgressNoteL()"); |
|
304 |
|
305 TPhoneCmdParamGlobalNote globalNoteParam; |
286 |
306 |
287 // Check notification tone user setting |
307 // Check notification tone user setting |
288 TInt tone = GetHoNotifToneModeL(); |
308 TInt tone = GetHoNotifToneModeL(); |
289 |
309 |
290 // if ( tone == 1 ) |
310 __PHONELOG1( EBasic, EPhoneControl, |
291 // { |
311 "CPhoneVccHandler::HandoverInProgressNoteL - tone: %d", tone ); |
292 // globalNoteParam.SetTone( EAvkonSIDConfirmationTone ); |
312 |
293 // } |
313 if ( tone == 1 ) |
294 // else |
314 { |
295 // { |
315 globalNoteParam.SetTone( EAvkonSIDDefaultSound ); |
296 // globalNoteParam.SetTone( EAvkonSIDNoSound ); |
316 } |
297 // } |
317 else |
298 |
318 { |
299 globalNoteParam.SetType( EPhoneNotificationDialog ); |
319 globalNoteParam.SetTone( EAvkonSIDNoSound ); |
|
320 } |
|
321 |
|
322 globalNoteParam.SetType( EAknGlobalWaitNote ); |
300 globalNoteParam.SetSoftkeys( R_AVKON_SOFTKEYS_EMPTY ); |
323 globalNoteParam.SetSoftkeys( R_AVKON_SOFTKEYS_EMPTY ); |
301 globalNoteParam.SetTextResourceId( |
324 globalNoteParam.SetTextResourceId( |
302 CPhoneMainResourceResolver::Instance()-> |
325 CPhoneMainResourceResolver::Instance()-> |
303 ResolveResourceID( aCommand ) ); |
326 ResolveResourceID( aCommand ) ); |
304 |
327 |
312 // CPhoneVccHandler::VccPropertyChangedL |
335 // CPhoneVccHandler::VccPropertyChangedL |
313 // Gets called when PS key is changed |
336 // Gets called when PS key is changed |
314 // ----------------------------------------------------------------------------- |
337 // ----------------------------------------------------------------------------- |
315 // |
338 // |
316 void CPhoneVccHandler::VccPropertyChangedL( const TUint aKeyId, |
339 void CPhoneVccHandler::VccPropertyChangedL( const TUint aKeyId, |
317 const TInt aValue ) |
340 const TInt aValue ) |
318 { |
341 { |
319 __LOGMETHODSTARTEND( PhoneUIVoIPExtension, |
342 __LOGMETHODSTARTEND( PhoneUIVoIPExtension, |
320 "CPhoneVccHandler::VccPropertyChangedL() "); |
343 "CPhoneVccHandler::VccPropertyChangedL() "); |
321 |
344 |
322 __PHONELOG1( EBasic, EPhoneControl, |
345 __PHONELOG1( EBasic, EPhoneControl, |
323 "CPhoneVccHandler::VccPropertyChangedL - key: %d", aValue ); |
346 "CPhoneVccHandler::VccPropertyChangedL - key: %d", aValue ); |
324 |
347 |
|
348 if( aKeyId == KVccPropKeyHoRequest ) |
|
349 { |
|
350 switch( aValue ) |
|
351 { |
|
352 case EVccAutomaticStartPsToCsHoRequest: |
|
353 { |
|
354 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
|
355 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- EVccAutomaticStartPsToCsHoRequest" ); |
|
356 // Do not show if already started since the wait note is |
|
357 // already visible |
|
358 if ( iVccHoReady && !iHandoverNoteTimer ) |
|
359 { |
|
360 iVccHoReady = EFalse; |
|
361 HandoverInProgressNoteL( EPhoneVoIPWaitHandoverFromWlan ); |
|
362 } |
|
363 } |
|
364 break; |
|
365 case EVccAutomaticStartCsToPsHoRequest: |
|
366 { |
|
367 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
|
368 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- EVccAutomaticStartCsToPsHoRequest" ); |
|
369 // Do not show if already started since the wait note is |
|
370 // already visible |
|
371 if ( iVccHoReady && !iHandoverNoteTimer ) |
|
372 { |
|
373 iVccHoReady = EFalse; |
|
374 HandoverInProgressNoteL( EPhoneVoIPWaitHandoverFromGsm ); |
|
375 } |
|
376 } |
|
377 break; |
|
378 default: |
|
379 // none |
|
380 break; |
|
381 } |
|
382 } |
325 |
383 |
326 if( aKeyId == KVccPropKeyHoStatus ) |
384 if( aKeyId == KVccPropKeyHoStatus ) |
327 { |
385 { |
328 switch( aValue ) |
386 switch( aValue ) |
329 { |
387 { |
330 case EVccCsToPsHoFailure: |
388 case EVccCsToPsHoFailure: |
331 case EVccPsToCsHoFailure: |
389 case EVccPsToCsHoFailure: |
332 { |
390 { |
333 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
391 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
334 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- HO fail" ); |
392 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- HO fail" ); |
335 // Remove handover note if handover is in progress |
393 // Remove handover note if handover is in progress |
336 if( !iVccHoReady ) |
394 if( !iVccHoReady ) |
337 { |
395 { |
338 iVccHoReady = ETrue; |
396 iVccHoReady = ETrue; |
339 CPhoneState* phoneState = |
397 iHOFailure = ETrue; |
340 static_cast< CPhoneState* >( iStateMachine.State() ); |
398 if ( !iHandoverNoteTimer ) |
341 CancelHandoverNoteTimerL(); |
399 { |
342 phoneState->SendGlobalInfoNoteL( EPhoneVoIPHandoverFail ); |
400 RemoveHandoverNoteL(); |
343 } |
401 } |
|
402 } |
344 } |
403 } |
345 break; |
404 break; |
346 case EVccCsToPsHoSuccessful: |
405 case EVccCsToPsHoSuccessful: |
347 case EVccPsToCsHoSuccessful: |
406 case EVccPsToCsHoSuccessful: |
348 { |
407 { |
349 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
408 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
350 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- HO Success" ); |
409 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- HO Success" ); |
351 iVccHoReady = ETrue; |
410 iVccHoReady = ETrue; |
352 RemoveHandoverNoteL(); |
411 RemoveHandoverNoteL(); |
353 } |
412 } |
354 break; |
413 break; |
355 case EVccCsToPsHoStarted: |
414 case EVccCsToPsHoStarted: |
356 { |
415 { |
357 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
416 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
358 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- CsToPsHoStarted" ); |
417 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- CsToPsHoStarted" ); |
359 // Do not show if manually started since the wait note is |
418 // Do not show if already started since the wait note is |
360 // already visible |
419 // already visible |
361 if ( iVccHoReady ) |
420 if ( iVccHoReady && !iHandoverNoteTimer ) |
362 { |
421 { |
363 iVccHoReady = EFalse; |
422 iVccHoReady = EFalse; |
364 HandoverInProgressNoteL( EPhoneVoIPWaitHandoverFromGsm ); |
423 HandoverInProgressNoteL( EPhoneVoIPWaitHandoverFromGsm ); |
365 } |
424 } |
366 } |
425 } |
367 break; |
426 break; |
368 case EVccPsToCsHoStarted: |
427 case EVccPsToCsHoStarted: |
369 { |
428 { |
370 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
429 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
371 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- PsToCsHoStarted" ); |
430 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- PsToCsHoStarted" ); |
372 // Do not show if manually started since the wait note is |
431 // Do not show if already started since the wait note is |
373 // already visible |
432 // already visible |
374 if ( iVccHoReady ) |
433 if ( iVccHoReady && !iHandoverNoteTimer ) |
375 { |
434 { |
376 iVccHoReady = EFalse; |
435 iVccHoReady = EFalse; |
377 HandoverInProgressNoteL( EPhoneVoIPWaitHandoverFromWlan); |
436 HandoverInProgressNoteL( EPhoneVoIPWaitHandoverFromWlan); |
378 } |
437 } |
379 } |
438 } |
452 iVccHoAllowedToWlan = ETrue; |
519 iVccHoAllowedToWlan = ETrue; |
453 iVccUnavailable = EFalse; |
520 iVccUnavailable = EFalse; |
454 break; |
521 break; |
455 } |
522 } |
456 |
523 |
457 default: |
524 default: |
458 |
525 |
459 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
526 __PHONELOG( EBasic, PhoneUIVoIPExtension, |
460 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- default" ); |
527 "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- default" ); |
461 break; |
528 break; |
462 } |
529 } |
463 } |
530 } |
464 } |
531 } |
465 // --------------------------------------------------------------------------- |
532 // --------------------------------------------------------------------------- |
466 // Gets HO notification tone setting value |
533 // Gets HO notification tone setting value |
467 // --------------------------------------------------------------------------- |
534 // --------------------------------------------------------------------------- |
468 // |
535 // |
469 TInt CPhoneVccHandler::GetHoNotifToneModeL() |
536 TInt CPhoneVccHandler::GetHoNotifToneModeL() |
470 { |
537 { |
|
538 __LOGMETHODSTARTEND( PhoneUIVoIPExtension, |
|
539 "CPhoneVccHandler::GetHoNotifToneModeL() "); |
|
540 |
471 // Find out VCC service id |
541 // Find out VCC service id |
472 CSPProperty* property = CSPProperty::NewLC(); |
542 CSPProperty* property = CSPProperty::NewLC(); |
473 |
543 |
474 CSPSettings* settings = CSPSettings::NewLC(); |
544 CSPSettings* settings = CSPSettings::NewLC(); |
475 |
545 |