596 // Stop the start screen if it is still active. |
596 // Stop the start screen if it is still active. |
597 java::ui::CoreUiAvkonAppUi* appUi = java::ui::CoreUiAvkonLcdui::getInstance().getJavaUiAppUi(); |
597 java::ui::CoreUiAvkonAppUi* appUi = java::ui::CoreUiAvkonLcdui::getInstance().getJavaUiAppUi(); |
598 if (appUi && appUi->hasStartScreen()) |
598 if (appUi && appUi->hasStartScreen()) |
599 { |
599 { |
600 MMIDComponent* content = iCurrentDisplayable ? iCurrentDisplayable->Component() : NULL; |
600 MMIDComponent* content = iCurrentDisplayable ? iCurrentDisplayable->Component() : NULL; |
601 |
601 MMIDCanvas* canvas = GetCurrentCanvas(); |
602 TBool isCanvas = EFalse; |
602 TBool isCanvasReadyToBlit = canvas ? canvas->ReadyToBlit() : EFalse; |
603 TBool isCanvasReadyToBlit = EFalse; |
603 |
604 TBool isFullscreenUI = ETrue; |
604 if (!content || !canvas || isCanvasReadyToBlit) |
605 if (content) |
|
606 { |
|
607 MMIDComponent::TType contentType = content->Type(); |
|
608 |
|
609 if (contentType == MMIDComponent::ECanvas) |
|
610 { |
|
611 isCanvas = ETrue; |
|
612 MMIDCanvas* canvas = static_cast<MMIDCanvas*>(content); |
|
613 isCanvasReadyToBlit = canvas->ReadyToBlit(); |
|
614 } |
|
615 else |
|
616 { |
|
617 if (contentType == MMIDComponent::EAlert || |
|
618 (contentType == MMIDComponent::ETextBox && |
|
619 iCurrentDisplayable->IsPopupTextBox())) |
|
620 { |
|
621 isFullscreenUI = EFalse; |
|
622 } |
|
623 } |
|
624 } |
|
625 |
|
626 if (!content || !isCanvas || isCanvasReadyToBlit) |
|
627 { |
605 { |
628 if (iCurrentDisplayable) |
606 if (iCurrentDisplayable) |
629 { |
607 { |
630 iCurrentDisplayable->DrawNow(); |
608 iCurrentDisplayable->DrawNow(); |
631 } |
609 } |
632 |
610 appUi->stopStartScreen(); |
633 appUi->stopStartScreen(isFullscreenUI); |
|
634 } |
611 } |
635 } |
612 } |
636 } |
613 } |
637 |
614 |
638 void CMIDToolkit::SendToBackground() |
615 void CMIDToolkit::SendToBackground() |