--- a/phoneapp/phoneuiview/src/cphoneviewcontroller.cpp Tue Apr 27 16:37:10 2010 +0300
+++ b/phoneapp/phoneuiview/src/cphoneviewcontroller.cpp Tue May 11 16:13:03 2010 +0300
@@ -135,6 +135,7 @@
#include <dialingextensioninterface.h>
#include <easydialingcommands.hrh>
+#include <AknIncallBubbleNotify.h>
// Kastor effect IDs, aknskincontent/101f84b9.sel
// These effects cannot be used for internal transitions (Call UI<->Dialer)
@@ -151,7 +152,6 @@
//
CPhoneViewController::CPhoneViewController() :
iEikEnv( *CEikonEnv::Static() ),
- iNeedToReturnToForegroundAppAfterCall( EFalse ),
iHelpCommand( KINCAL_HLP_CALL_HANDLING ),
iBlockingDialogIsDisplayed( EFalse ),
iIdleUid( KErrNotFound ),
@@ -159,7 +159,9 @@
iEffectOngoing( EFalse ),
iSendBack( ETrue ),
iDialerActive( EFalse ),
- iPriotityChanged( EFalse )
+ iPriotityChanged( EFalse ),
+ iSecurityMode( ETrue ),
+ iNeedToReturnToForegroundAppAfterCall( EFalse )
{
}
@@ -180,7 +182,7 @@
iAppui = (CAknAppUi*)iEikEnv.EikAppUi();
iCba = iEikEnv.AppUiFactory()->Cba();
- iPhoneView = CPhoneView::NewL( aRect, *iCba );
+ iPhoneView = CPhoneView::NewL( aRect, *iCba, this );
iBubbleWrapper = CPhoneBubbleWrapper::NewL( iPhoneView, aRect );
@@ -257,6 +259,8 @@
// if you are using sgc-client's session to capserver,
//you are not allowed to close the session.
iAknUiServerClient = CAknSgcClient::AknSrv();
+
+ iIncallBubble = CAknIncallBubble::NewL();
}
// -----------------------------------------------------------------------------
@@ -329,7 +333,8 @@
// delete iStatusPane; <-- CCoeStatic are destroyed outside application
iApaLsSession.Close();
-
+
+ delete iIncallBubble;
}
// ---------------------------------------------------------
@@ -3626,7 +3631,7 @@
// need to do PushDefault for navipane and SwitchLayoutL for
// statuspane.
if ( currentLayout != R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ||
- currentLayout != R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL )
+ currentLayout != R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT )
{
SwapEmptyIndicatorPaneInSecureStateL( ETrue );
@@ -3641,7 +3646,7 @@
else
{
iStatusPane->StatusPane().SwitchLayoutL
- ( R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL );
+ ( R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT );
}
}
}
@@ -3651,7 +3656,7 @@
// layout is something else there is no need to do Pop and
// SwitchLayoutL for statuspane.
if ( currentLayout == R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ||
- currentLayout == R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL )
+ currentLayout == R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT )
{
SwapEmptyIndicatorPaneInSecureStateL( EFalse );
@@ -3663,7 +3668,7 @@
else
{
iStatusPane->StatusPane().SwitchLayoutL
- ( R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE );
+ ( R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT );
}
}
}
@@ -3775,6 +3780,8 @@
__PHONELOG1( EBasic, EPhoneUIView,
"CPhoneViewController::SetControltoDialerL iDialerActive (%d)", iDialerActive );
+ SetIncallBubbleVisibility( ETrue );
+
if ( !iDialerActive )
{
iDialerActive = ETrue;
@@ -3820,11 +3827,8 @@
__PHONELOG1( EBasic, EPhoneUIView,
"CPhoneViewController::SetControltoCallHandlingL iDialerActive (%d)", iDialerActive );
- // Do not show toolbar if emergency call is active
- if ( !iIncallIndicator->IsEmergencyCall() )
- {
- iToolbarController->ShowToolbar();
- }
+ SetIncallBubbleVisibility( EFalse );
+ iToolbarController->ShowToolbar();
if ( iDialerActive )
{
iDialerActive = EFalse;
@@ -4084,4 +4088,36 @@
return iNeedToReturnToForegroundAppAfterCall;
}
+// ---------------------------------------------------------------------------
+// CPhoneViewController::AllowInCallBubbleInSpecialCases
+// ---------------------------------------------------------------------------
+//
+void CPhoneViewController::AllowInCallBubbleInSpecialCases()
+{
+ // this method can be used for special cases like dialer
+
+ if( iDialerActive )
+ {
+ SetIncallBubbleVisibility( ETrue );
+ }
+ else
+ {
+ SetIncallBubbleVisibility( EFalse );
+ }
+
+}
+
+// ---------------------------------------------------------------------------
+// CPhoneViewController::SetIncallBubbleVisibility
+// ---------------------------------------------------------------------------
+//
+void CPhoneViewController::SetIncallBubbleVisibility( TBool aVisible )
+ {
+ __PHONELOG1( EBasic, EPhoneUIView,
+ "CPhoneViewController::SetIncallBubbleVisibility(%d)",
+ aVisible );
+
+ TRAP_IGNORE( iIncallBubble->SetIncallBubbleAllowedInUsualL( aVisible ) );
+ }
+
// End of File