619 if( CurrentModel() && CurrentModel()->Count() > 0 && EventListCurrent() >= 0 ) |
619 if( CurrentModel() && CurrentModel()->Count() > 0 && EventListCurrent() >= 0 ) |
620 { |
620 { |
621 event = CurrentModel()->At( EventListCurrent() ); |
621 event = CurrentModel()->At( EventListCurrent() ); |
622 eventData = event->LogsEventData(); |
622 eventData = event->LogsEventData(); |
623 |
623 |
624 // When log event is for VOIP, it needs to check if the contact link is valid. |
624 if ( eventData ) |
625 // If it's invalid, refresh menubar in order to avoid "voice" and "video" items. |
|
626 // Can't avoid flicking in this case, however, it's so rare to repro. |
|
627 if ( eventData && eventData->VoIP() && SipUriAvailable( event ) ) |
|
628 { |
625 { |
629 TPtrC8 ptrContactLink( KNullDesC8 ); |
626 TPtrC8 ptrContactLink( KNullDesC8 ); |
630 |
|
631 if ( KErrNone == eventData->GetContactLink( ptrContactLink ) ) |
627 if ( KErrNone == eventData->GetContactLink( ptrContactLink ) ) |
632 { |
628 { |
633 CLogsCntLinkChecker* contactCheckerPtr = Engine()->CntLinkCheckerL(); |
629 CLogsCntLinkChecker* contactCheckerPtr = Engine()->CntLinkCheckerL(); |
634 |
|
635 if ( !contactCheckerPtr->IsCntLinkValidSync( ptrContactLink ) ) |
630 if ( !contactCheckerPtr->IsCntLinkValidSync( ptrContactLink ) ) |
636 { |
631 { |
637 iIsCheckedCntLinkInvaild = ETrue; |
632 iIsCheckedCntLinkInvaild = ETrue; |
638 if ( MenuBar()->IsDisplayed() ) |
633 } |
|
634 } |
|
635 // When log event is for VOIP, it needs to check if the contact link is valid. |
|
636 // If it's invalid, refresh menubar in order to avoid "voice" and "video" items. |
|
637 // Can't avoid flicking in this case, however, it's so rare to repro. |
|
638 if ( eventData->VoIP() && SipUriAvailable( event ) |
|
639 && iIsCheckedCntLinkInvaild ) |
|
640 { |
|
641 if ( MenuBar()->IsDisplayed() ) |
|
642 { |
|
643 MenuBar()->StopDisplayingMenuBar(); |
|
644 |
|
645 if ( CurrentMenuType() == CEikMenuBar::EMenuContext ) |
639 { |
646 { |
640 MenuBar()->StopDisplayingMenuBar(); |
647 MenuBar()->TryDisplayContextMenuBarL(); |
641 |
648 } |
642 if ( CurrentMenuType() == CEikMenuBar::EMenuContext ) |
649 else |
643 { |
650 { |
644 MenuBar()->TryDisplayContextMenuBarL(); |
651 MenuBar()->TryDisplayMenuBarL(); |
645 } |
652 } |
646 else |
|
647 { |
|
648 MenuBar()->TryDisplayMenuBarL(); |
|
649 } |
|
650 } |
|
651 } |
653 } |
652 } |
654 } |
653 } |
655 } |
654 } |
656 } |
655 } |
657 } |
1738 MLogsReaderConfig* readerConfig = CLogsReaderConfigFactory:: |
1740 MLogsReaderConfig* readerConfig = CLogsReaderConfigFactory:: |
1739 LogsReaderConfigLC( NULL, NULL, &tempPtr ); |
1741 LogsReaderConfigLC( NULL, NULL, &tempPtr ); |
1740 contactCheckerPtr->ConfigureL( readerConfig ); |
1742 contactCheckerPtr->ConfigureL( readerConfig ); |
1741 CleanupStack::PopAndDestroy(); //readerConfig |
1743 CleanupStack::PopAndDestroy(); //readerConfig |
1742 contactCheckerPtr->StartL(); |
1744 contactCheckerPtr->StartL(); |
|
1745 |
|
1746 if ( !MenuBar()->ItemSpecificCommandsEnabled() ) |
|
1747 { |
|
1748 iIsCheckedCntLinkInvaild = !contactCheckerPtr->IsCntLinkValidSync( tempPtr ); |
|
1749 } |
1743 } |
1750 } |
1744 } |
1751 } |
1745 |
1752 |
1746 if ( aEvent |
1753 if ( aEvent |
1747 && aEvent->LogsEventData()->VoIP() |
1754 && aEvent->LogsEventData()->VoIP() |
2257 |
2264 |
2258 AknTextUtils::ConvertDigitsTo( buf, EDigitTypeWestern ); |
2265 AknTextUtils::ConvertDigitsTo( buf, EDigitTypeWestern ); |
2259 |
2266 |
2260 //Refresh contents in MLogsEventGetter. Otherwise it contains wrong data of last |
2267 //Refresh contents in MLogsEventGetter. Otherwise it contains wrong data of last |
2261 //event read from db done in background during execution of RunLD() |
2268 //event read from db done in background during execution of RunLD() |
2262 //aEvent = CurrentModel()->At( iEventListCurrent ); |
2269 aEvent = CurrentModel()->At( iEventListCurrent ); |
2263 |
2270 |
2264 switch( queryAction ) |
2271 switch( queryAction ) |
2265 { |
2272 { |
2266 case EAknSoftkeyCall: |
2273 case EAknSoftkeyCall: |
2267 if( isParamListForPocOk ) |
2274 if( isParamListForPocOk ) |