internetradio2.0/uisrc/irfirsttimeview.cpp
changeset 0 09774dfdd46b
equal deleted inserted replaced
-1:000000000000 0:09774dfdd46b
       
     1 /*
       
     2 * Copyright (c) 2008-2008 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Find Station View
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 
       
    21 #include <aknnotewrappers.h>
       
    22 #include <akntoolbar.h>
       
    23 #include <akntouchpane.h>
       
    24 #include <aknbutton.h>
       
    25 #include <internetradio.rsg>
       
    26 #include "irfirsttimeview.h"
       
    27 #include <internetradio.mbg>
       
    28 #include "irfirsttimecontainer.h"
       
    29 #include "ircommon.h"
       
    30 /* don't need to change to lower case  */
       
    31 #include <AknQueryDialog.h> 
       
    32 #include "irisdswrapper.h"
       
    33 
       
    34   
       
    35 #include "irui.h"
       
    36 #include "ir.hrh"
       
    37 #include "ircommon.h"
       
    38 #include "irdebug.h"
       
    39 #include "irbaseview.h"
       
    40 #include "irsettings.h"
       
    41 #include <stringloader.h>
       
    42 #include "irnowplayingwrapper.h"
       
    43 
       
    44 
       
    45 #include "hlplch.h"
       
    46 #include "irsettings.h"
       
    47 #include "irdialoglauncher.h"
       
    48 #include "irnetworkcontroller.h" 	
       
    49 #include "iractivenetworkobserver.h"
       
    50 #include "irsearchresultsview.h"
       
    51 
       
    52 
       
    53 
       
    54 const TInt KStringSize = 20;
       
    55 
       
    56 // ==================== LOCAL FUNCTIONS ====================
       
    57 
       
    58 // ================= MEMBER FUNCTIONS =======================
       
    59 
       
    60 
       
    61 // ---------------------------------------------------------------------------
       
    62 // C++ default constructor can NOT contain any code, that might leave.
       
    63 // ---------------------------------------------------------------------------
       
    64 //
       
    65 CIRFirstTimeView::CIRFirstTimeView():iCallRequestPending(EFalse)
       
    66     {
       
    67     IRLOG_DEBUG( "CIRFirstTimeView::CIRFirstTimeView" );
       
    68     // Nothing here
       
    69     }
       
    70 
       
    71 
       
    72 // ---------------------------------------------------------------------------
       
    73 // EPOC default constructor can leave.
       
    74 // ---------------------------------------------------------------------------
       
    75 //
       
    76 void CIRFirstTimeView::ConstructL()
       
    77     {
       
    78     IRLOG_DEBUG( "CIRFirstTimeView::ConstructL  - Entering" );
       
    79     CIRBaseView::ConstructL( R_IR_FIRSTTIME_VIEW );
       
    80     iRequestPending = EFalse;
       
    81     IRLOG_DEBUG( "CIRFirstTimeView::ConstructL - Exiting" );
       
    82     }
       
    83 
       
    84 // -----------------------------------------------------------------------------
       
    85 // CIRFirstTimeView::NewL()
       
    86 // Two-phased constructor.
       
    87 // -----------------------------------------------------------------------------
       
    88 //
       
    89 CIRFirstTimeView* CIRFirstTimeView::NewL()
       
    90     {
       
    91  	IRLOG_DEBUG( "CIRFirstTimeView::NewL" );
       
    92  	CIRFirstTimeView* self = CIRFirstTimeView::NewLC();
       
    93     CleanupStack::Pop( self );
       
    94     IRLOG_DEBUG( "CIRFirstTimeView::NewL - Exiting" );
       
    95     return self;
       
    96     }
       
    97 
       
    98 // ---------------------------------------------------------------------------
       
    99 // CIRFirstTimeView::NewLC()
       
   100 // Two-phased constructor.
       
   101 // ---------------------------------------------------------------------------
       
   102 //
       
   103 CIRFirstTimeView* CIRFirstTimeView::NewLC()
       
   104     {
       
   105     IRLOG_DEBUG( "CIRFirstTimeView::NewLC - Entering" );
       
   106     CIRFirstTimeView* self = new( ELeave ) CIRFirstTimeView();
       
   107     CleanupStack::PushL( self );
       
   108     self->ConstructL();
       
   109     IRLOG_DEBUG( "CIRFirstTimeView::NewLC - Exiting" );
       
   110     return self;
       
   111     }
       
   112 
       
   113 // ---------------------------------------------------------------------------
       
   114 // Destructor
       
   115 // ---------------------------------------------------------------------------
       
   116 //
       
   117 CIRFirstTimeView::~CIRFirstTimeView()
       
   118     {
       
   119     IRLOG_DEBUG( "CIRFirstTimeView::~CIRFirstTimeView - Entering" );
       
   120     if ( iContainer )
       
   121         {
       
   122         AppUi()->RemoveFromViewStack( *this, iContainer );
       
   123         delete iContainer;
       
   124         iContainer = NULL;
       
   125         }
       
   126     IRLOG_DEBUG( "CIRFirstTimeView::~CIRFirstTimeView - Exiting" );
       
   127     }
       
   128 
       
   129 // ---------------------------------------------------------------------------
       
   130 // From class CAknView.
       
   131 // Returns view id.
       
   132 // ---------------------------------------------------------------------------
       
   133 //
       
   134 TUid CIRFirstTimeView::Id() const
       
   135     {
       
   136     IRLOG_DEBUG( "CIRFirstTimeView::Id" );
       
   137     return KIRFirstTimeViewId;
       
   138     }
       
   139 
       
   140 // ---------------------------------------------------------------------------
       
   141 // From class CAknView.
       
   142 // Event handler for status pane size changes.
       
   143 // ---------------------------------------------------------------------------
       
   144 //
       
   145 void CIRFirstTimeView::HandleStatusPaneSizeChange()
       
   146     {
       
   147     IRLOG_DEBUG( "CIRFirstTimeView::HandleStatusPaneSizeChange - Entering" );
       
   148     CIRBaseView::HandleStatusPaneSizeChange();
       
   149     
       
   150     if ( iContainer )
       
   151         {
       
   152         iContainer->SetRect( ClientRect() );
       
   153         }
       
   154     IRLOG_DEBUG( "CIRFirstTimeView::HandleStatusPaneSizeChange - Exiting" );
       
   155     }
       
   156 
       
   157 // ---------------------------------------------------------------------------
       
   158 // From class CAknView.
       
   159 // Handles view activation.
       
   160 // ---------------------------------------------------------------------------
       
   161 //
       
   162 void CIRFirstTimeView::DoActivateL( const TVwsViewId& aPrevViewId,
       
   163                                     TUid aCustomMessageId, const TDesC8& aCustomMessage )
       
   164     {
       
   165     IRLOG_DEBUG( "CIRFirstTimeView::DoActivateL - Entering" );
       
   166     CIRUi* appUi = static_cast<CIRUi*>( AppUi() );
       
   167     
       
   168     TInt customMessageId = aCustomMessageId.iUid;
       
   169 	if(customMessageId == 1)
       
   170 		{
       
   171 		SetCurrentFocus(0);	
       
   172 		}
       
   173 	aCustomMessageId.iUid = 0;
       
   174 	
       
   175     iFirstTime = appUi->IsFirstTime();
       
   176     appUi->iPresentViewID = KIRFirstTimeViewId;
       
   177 
       
   178     if ( !iContainer )
       
   179         {
       
   180         iContainer = new( ELeave ) CIRFirstTimeContainer(*this);
       
   181         iContainer->SetMopParent( this );
       
   182         iContainer->ConstructL( ClientRect() );
       
   183 		AppUi()->AddToViewStackL( *this, iContainer );
       
   184        }
       
   185     else
       
   186         {
       
   187         // we must notify a resource change in order to update the skin context
       
   188         // This is a flaw of CEikFormattedCellListBox
       
   189         iContainer->SetRect( ClientRect() );
       
   190         iContainer->HandleResourceChange( KEikDynamicLayoutVariantSwitch );
       
   191         }
       
   192 
       
   193     iContainer->ActivateL();
       
   194     iContainer->MakeVisible( ETrue );
       
   195     SetTitleL( R_IRAPP_FIRSTTIME_TITLE );
       
   196                
       
   197 
       
   198     if ( iFirstTime &&  !(iUi->IsFlagIfAnyFavL()))
       
   199         {
       
   200         SetTitleL( R_IRAPP_FIRSTTIME_TITLE);
       
   201 		CIRBaseView::DoActivateL( aPrevViewId, TUid::Uid(1), aCustomMessage );
       
   202         }
       
   203     else
       
   204         {
       
   205         SetTitleL( R_IRAPP_FINDSTATIONS_TITLE );
       
   206 		CIRBaseView::DoActivateL( aPrevViewId, aCustomMessageId, aCustomMessage );
       
   207         }
       
   208     HandleStatusPaneSizeChange(); 
       
   209     iUi->iNetworkController->RegisterActiveNetworkObserverL(*this);
       
   210     EnableObserverL(EIRSystemEventObserver);
       
   211     IRLOG_DEBUG( "CIRFirstTimeView::DoActivateL - Exiting" );
       
   212     }
       
   213 
       
   214 // ---------------------------------------------------------------------------
       
   215 // From class CAknView.
       
   216 // Handles view deactivation.
       
   217 // ---------------------------------------------------------------------------
       
   218 //
       
   219 void CIRFirstTimeView::DoDeactivate()
       
   220     {
       
   221     IRLOG_DEBUG( "CIRFirstTimeView::DoDeactivate - Entering" );
       
   222     iFirstTime = EFalse;
       
   223     if(&(iUi->SystemEventCollector()))
       
   224 	    {
       
   225 		DisableObserver(EIRSystemEventObserver);
       
   226 	    }
       
   227     if ( iContainer )
       
   228         {
       
   229         AppUi()->RemoveFromViewStack( *this, iContainer );
       
   230         iContainer->MakeVisible( EFalse );
       
   231         delete iContainer;
       
   232         iContainer = NULL;
       
   233         }
       
   234     iUi->iNetworkController->DeleteActiveNetworkObserver(*this);
       
   235     IRLOG_DEBUG( "CIRFirstTimeView::DoDeactivate - Exiting" );
       
   236     }
       
   237 
       
   238 
       
   239 // ---------------------------------------------------------------------------
       
   240 // From class CAknView.
       
   241 // Command handling function.
       
   242 // ---------------------------------------------------------------------------
       
   243 //
       
   244 void CIRFirstTimeView::HandleCommandL( TInt aCommand )
       
   245     {
       
   246     IRLOG_DEBUG( "CIRFirstTimeView::HandleCommandL - Entering" );
       
   247     CIRUi* appUi = static_cast<CIRUi*>( iCoeEnv->AppUi( ) );
       
   248     SetCurrentFocus(iContainer->GetCurrentItemIndex());
       
   249 	iCommand = aCommand;
       
   250 
       
   251     switch ( aCommand )
       
   252         {
       
   253         case EFirstTimeSelectCmd:
       
   254         {
       
   255         
       
   256         switch(iContainer->GetCurrentItemIndex( ) )
       
   257                 {
       
   258                 case 0:
       
   259 	                {
       
   260 				    TBuf8<2> dummy;
       
   261 					TVwsViewId viewId(TUid::Uid(KUIDIRAPP),KIRStationDirectoryViewId);
       
   262 					AppUi()->ActivateViewL(viewId ,TUid::Uid(1),dummy);
       
   263 	                }
       
   264                     break;
       
   265                 case 1:
       
   266 	                {
       
   267 					if ( !iUi->CheckAndNotifyLowDiskSpaceL() )
       
   268 						{
       
   269 		                HBufC *SearchTitle = StringLoader::LoadLC(R_IRAPP_SEARCH_STRING);
       
   270 	                	_LIT(KNullText,"");
       
   271 						RBuf string1;
       
   272 						string1.Create(KStringSize);
       
   273 						string1.Append(KNullText);
       
   274 						ShowQueryDialogL(*SearchTitle,string1);
       
   275 						CleanupStack::PopAndDestroy(SearchTitle);
       
   276 						string1.Close();
       
   277 						}
       
   278 	                }
       
   279                     break;
       
   280                 case 2:
       
   281                     {
       
   282 					if( !iUi->CheckAndNotifyLowDiskSpaceL() )
       
   283 						{
       
   284 		                 appUi->SetEditStation(EFalse);
       
   285 		                 appUi->ActivateLocalViewL(KIRAddManuallyStationViewID);
       
   286 						}
       
   287 	                }
       
   288                     break;
       
   289                 default:
       
   290                     break;
       
   291                 }
       
   292         	
       
   293         }
       
   294         break;
       
   295         
       
   296         case EFirstTimeSettingsCmd:
       
   297         {
       
   298         AppUi()->ActivateLocalViewL(KIRSettingsViewId);
       
   299         }
       
   300         break;
       
   301             
       
   302         case EHelpCmd:
       
   303         {
       
   304 		if ( !iUi->CheckAndNotifyLowDiskSpaceL() )
       
   305 			{
       
   306 	        HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
       
   307                                              	 AppUi()->AppHelpContextL() );
       
   308 			}
       
   309         }                    
       
   310         break;
       
   311             
       
   312         case EGotoNowPlayingViewCmd:
       
   313 		{  
       
   314 		appUi->SetHistory(EFalse);
       
   315 		AppUi()->ActivateLocalViewL(KIRNowPlayingViewID);
       
   316 		}
       
   317        	break;
       
   318         default:
       
   319         {
       
   320         	if(iFirstTime)
       
   321 				{
       
   322 				CIRBaseView::HandleCommandL( EAknSoftkeyExit );		
       
   323 				}
       
   324         	else
       
   325 				{
       
   326 				CIRBaseView::HandleCommandL( aCommand );	
       
   327 				}
       
   328            break;
       
   329         }
       
   330       }
       
   331     IRLOG_DEBUG( "CIRFirstTimeView::HandleCommandL - Exiting" );
       
   332     }
       
   333 
       
   334 
       
   335 // ---------------------------------------------------------------------------
       
   336 // From class CAknView.
       
   337 // Foreground event handling function.
       
   338 // ---------------------------------------------------------------------------
       
   339 //
       
   340 void CIRFirstTimeView::HandleForegroundEventL( TBool aForeground )
       
   341     {
       
   342     IRLOG_DEBUG( "CIRFirstTimeView::HandleForegroundEventL - Entering" );
       
   343     CIRBaseView::HandleForegroundEventL( aForeground );
       
   344     IRLOG_DEBUG( "CIRFirstTimeView::HandleForegroundEventL - Exiting" );
       
   345     }
       
   346     
       
   347 // ---------------------------------------------------------------------------
       
   348 // void CIRFirstTimeView::DynInitMenuPaneL()
       
   349 // Dynamically initialises a menu pane
       
   350 // ---------------------------------------------------------------------------
       
   351 //
       
   352 	
       
   353     
       
   354 void CIRFirstTimeView::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
       
   355 	{
       
   356 	IRLOG_DEBUG( "CIRFirstTimeView::DynInitMenuPaneL - Entering" );
       
   357 	CIRUi* appUi = static_cast<CIRUi*>( AppUi() );
       
   358 
       
   359 	if(!aMenuPane) User::Leave(KErrNotFound);
       
   360 		{
       
   361 		if(aResourceId == R_IR_FIRSTTIME_MENU)
       
   362 			{				
       
   363 		/*
       
   364 			// Update Application option
       
   365 			if(appUi->iIRSettings->IsUpdateAvailable())
       
   366 				{
       
   367 				 aMenuPane->SetItemDimmed(EUpdateApplicationCmd,EFalse);
       
   368 				}
       
   369 			else
       
   370 				{
       
   371 				 aMenuPane->SetItemDimmed(EUpdateApplicationCmd,ETrue);
       
   372 				}
       
   373 		*/
       
   374 
       
   375 			// Now Playing option
       
   376 			if(iNowPlayingWrapper->iPlaying)
       
   377 				{
       
   378 				 aMenuPane->SetItemDimmed(EGotoNowPlayingViewCmd,EFalse);
       
   379 				}
       
   380 			else
       
   381 				{
       
   382 				 aMenuPane->SetItemDimmed(EGotoNowPlayingViewCmd,ETrue);
       
   383 				}
       
   384 			}
       
   385 		
       
   386 		}
       
   387 	IRLOG_DEBUG( "CIRFirstTimeView::DynInitMenuPaneL - Exiting" );
       
   388 	}
       
   389 
       
   390 
       
   391 void CIRFirstTimeView::ShowQueryDialogL(const TDesC& aTitle, TDes& aBuffer)
       
   392 	{
       
   393 	IRLOG_DEBUG( "CIRFirstTimeView::ShowQueryDialogL - Entering" );
       
   394 	CAknTextQueryDialog* Dialog =
       
   395 	CAknTextQueryDialog::NewL(aBuffer,CAknQueryDialog::ENoTone);
       
   396 	Dialog->PrepareLC(R_SEARCH_STRING_DIALOG);
       
   397 	Dialog->SetPromptL(aTitle); 
       
   398 	iSearchValue = Dialog->RunLD();
       
   399 
       
   400 	if(	iSearchValue)
       
   401 		{
       
   402 		iUi->iSearchString = aBuffer;
       
   403 		
       
   404 		if( iUi->VerifyNetworkConnectivityL() )
       
   405 			{
       
   406 			iRequestPending = ETrue;
       
   407 			}
       
   408 		else
       
   409 			{
       
   410 			IssueSearchRequestL();
       
   411 			}
       
   412 		
       
   413 		
       
   414 		}
       
   415 	IRLOG_DEBUG( "CIRFirstTimeView::ShowQueryDialogL - Exiting" );
       
   416 	}
       
   417 
       
   418 
       
   419 // ---------------------------------------------------------------------------
       
   420 // void CIRFirstTimeView::ResponseL()
       
   421 // Activates the SearchResults view after getting the IsdsResponse
       
   422 // ---------------------------------------------------------------------------
       
   423 //
       
   424 void CIRFirstTimeView::ResponseL(CIRIsdsPreset* /*aPreset*/ )
       
   425 	{
       
   426 	IRLOG_DEBUG( "CIRFirstTimeView::ResponseL() started." );
       
   427 	
       
   428 
       
   429 	if(iIsdsWrapper->iStationsData->Count())
       
   430 	{
       
   431 		CIRUi* appUi = static_cast<	CIRUi*>(AppUi());
       
   432 		TBuf8<2> dummy;
       
   433 		TVwsViewId viewId(TUid::Uid(KUIDIRAPP),KIRSearchResultsViewID);
       
   434 		if(appUi->IsForeground())
       
   435 			{
       
   436 			AppUi()->ActivateViewL(viewId ,TUid::Uid(1),dummy);
       
   437 			appUi->iActivationPending = KNullUid ;	
       
   438 			}
       
   439 		else
       
   440 			{
       
   441 			appUi->iActivationPending =KIRSearchResultsViewID;	
       
   442 			}
       
   443 	}
       
   444 	else
       
   445 	{
       
   446 		iIsdsWrapper->GetDialogLauncherInstance()->ShowInformationNoteL( R_IRAPP_RESULTS_NONE,ETrue );
       
   447 	    iIsdsWrapper->iError = EFalse;
       
   448 
       
   449 	}
       
   450 	
       
   451 	IRLOG_DEBUG( "CIRFirstTimeView::ResponseL() exiting." );		
       
   452 	}
       
   453 
       
   454 
       
   455 void CIRFirstTimeView::PresetResponseL(CIRIsdsPreset* /*aPreset*/)
       
   456 	{
       
   457 	IRLOG_DEBUG( "CIRFirstTimeView::PresetResponseL() started." );
       
   458 	IRLOG_DEBUG( "CIRFirstTimeView::PresetResponseL() exiting." );
       
   459 	return;
       
   460 	}
       
   461 
       
   462 void CIRFirstTimeView::ErrorL()
       
   463 	{
       
   464 	IRLOG_DEBUG( "CIRFirstTimeView::ErrorL - Entering" );
       
   465 	if(iIsdsWrapper->iDialogDismissed)
       
   466 		{
       
   467 		iIsdsWrapper->iDialogDismissed=EFalse;
       
   468 	    return;
       
   469 		}
       
   470 	if(iIsdsWrapper->iConnTimeOut)
       
   471 		{
       
   472 		iIsdsWrapper->iConnTimeOut = EFalse;	
       
   473 		}
       
   474 	 if(iIsdsWrapper->iError)
       
   475 		{
       
   476 		if(iIsdsWrapper->GetDialogLauncherInstance())
       
   477 			{
       
   478 			iIsdsWrapper->GetDialogLauncherInstance()->ShowInformationNoteL( R_IRAPP_RESULTS_NONE,ETrue );
       
   479 			iIsdsWrapper->iError = EFalse;
       
   480 			}
       
   481 		}
       
   482 
       
   483 	IRLOG_DEBUG( "CIRFirstTimeView::ErrorL - Exiting" );
       
   484 	}
       
   485 
       
   486 // ---------------------------------------------------------------------------
       
   487 //Notifies all observers whose network request is active
       
   488 // to reissue the request  
       
   489 //NotifyActiveNetworkObserversL()
       
   490 // ---------------------------------------------------------------------------
       
   491 
       
   492 void CIRFirstTimeView::NotifyActiveNetworkObserversL(TIRNetworkEvent aEvent)
       
   493 	{
       
   494 	IRLOG_DEBUG( "CIRFirstTimeView::NotifyActiveNetworkObserversL - Entering" );
       
   495 	IRRDEBUG2("CIRFirstTimeView::NotifyActiveNetworkObserversL entering ", KNullDesC);
       
   496 
       
   497 	switch(aEvent)
       
   498 		{
       
   499 		case ENetworkConnectionDisconnected:
       
   500 			{
       
   501 			iNowPlayingWrapper->HandleNetworkDisconnected();
       
   502 			}
       
   503 			break;
       
   504 		case ENetworkConnectionEstablished:
       
   505 			{
       
   506 			if(iContainer)
       
   507 				{
       
   508 				if(iRequestPending || iUi->iNetworkController->IsHandingOverConnection())
       
   509 					{
       
   510 					if(iSearchValue)
       
   511 						{	
       
   512 						IssueSearchRequestL();
       
   513 						}
       
   514 					}
       
   515 				}
       
   516 				
       
   517 			ResetPendingRequests(EFalse);				
       
   518 			}
       
   519 		}
       
   520 
       
   521 	IRRDEBUG2("CIRFirstTimeView::NotifyActiveNetworkObserversL exiting ", KNullDesC);
       
   522 	
       
   523 	IRLOG_DEBUG( "CIRFirstTimeView::NotifyActiveNetworkObserversL - Exiting" );
       
   524 	}
       
   525 
       
   526 
       
   527 
       
   528 // -----------------------------------------------------------------------------
       
   529 // Notified by network controller when user cancels network connection, to reset 
       
   530 // the pending requests  
       
   531 // ResetPendingRequests()
       
   532 // -----------------------------------------------------------------------------
       
   533 void CIRFirstTimeView::ResetPendingRequests(TBool aValue)
       
   534 	{
       
   535 	iRequestPending = aValue;
       
   536 //	iSearchValue = aValue
       
   537 	}
       
   538 
       
   539 
       
   540 // ---------------------------------------------------------------------------
       
   541 // void CIRFirstTimeView::IssueSearchRequestL()
       
   542 // Issues a search request to the Isds Client
       
   543 // ---------------------------------------------------------------------------
       
   544 //
       
   545 void CIRFirstTimeView::IssueSearchRequestL()
       
   546 	{
       
   547 	IRLOG_DEBUG( "CIRFirstTimeView::IssueSearchRequestL - Entering" );
       
   548 	//Display a searching Progress Bar
       
   549 	
       
   550 	iIsdsWrapper->IsdsSearchRequestL(this,iUi->iSearchString);
       
   551 	iUi->iSearchResultsView->iSearchReqMade = ETrue;
       
   552 	IRLOG_DEBUG( "CIRFirstTimeView::IssueSearchRequestL - Exiting" );
       
   553 	}
       
   554 // ---------------------------------------------------------
       
   555 // CIRFirstTimeView::HandleSystemEventL
       
   556 // from base class MIRSystemEventObserver
       
   557 // ---------------------------------------------------------
       
   558 //
       
   559 void CIRFirstTimeView::HandleSystemEventL(TIRSystemEventType aEventType)
       
   560 	{
       
   561 	IRLOG_DEBUG(" CIRFirstTimeView::HandleSystemEventL - Entering");
       
   562 	
       
   563 	switch (aEventType)
       
   564 		{
       
   565 		case EIRCallActivated:
       
   566 			{
       
   567 			if( iUi->GetNetworkControllerInstance()->IdentifyConnectionType() != EWiFi )
       
   568 				{
       
   569 				if(iUi->iIsdsWrapper->iIsdsWaitDialog)
       
   570 					{
       
   571 					TRAP_IGNORE( iUi->iIsdsWrapper->DestroyWaitDialogL() );
       
   572 					}
       
   573 				if(!iCallRequestPending && iCommand==EFirstTimeSelectCmd &&
       
   574 					(iContainer->GetCurrentItemIndex() == 1))
       
   575 					{
       
   576 					iUi->iIsdsWrapper->IsdsCancelRequest();
       
   577 					iCallRequestPending = ETrue;
       
   578 					}
       
   579 				}
       
   580 			break;
       
   581 			}
       
   582 		case EIRCallDeactivated:
       
   583 			{
       
   584 			if(iCallRequestPending && iCommand==ESelectCmd &&
       
   585 				(iContainer->GetCurrentItemIndex() == 1))
       
   586 				{
       
   587 				iCallRequestPending = EFalse;
       
   588 				if(iSearchValue)
       
   589 					{	
       
   590 					IssueSearchRequestL();
       
   591 					}
       
   592 				}
       
   593 			break;
       
   594 			}
       
   595 		default:
       
   596 			{
       
   597 			break;
       
   598 			}
       
   599 		}
       
   600 	IRLOG_DEBUG( "CIRFirstTimeView::HandleSystemEventL - Exiting." );
       
   601 	}	
       
   602 // ---------------------------------------------------------------------------
       
   603 // void CIRFirstTimeView::RefreshView()
       
   604 // Refreshes the view when layout changes.
       
   605 // ---------------------------------------------------------------------------
       
   606 //
       
   607 void CIRFirstTimeView::RefreshView()
       
   608 	{
       
   609 	IRLOG_DEBUG( "CIRFirstTimeView::IssueSearchRequestL - Entering" );
       
   610     if ( iContainer )
       
   611         {
       
   612         iContainer->SetRect( ClientRect() );
       
   613         }
       
   614 	IRLOG_DEBUG( "CIRFirstTimeView::IssueSearchRequestL - Exiting" );
       
   615 	}
       
   616 // End of file