--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp Wed Sep 01 12:30:54 2010 +0100
@@ -0,0 +1,638 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Video Post-capture view class for Camera application*
+*/
+
+
+// INCLUDE FILES
+
+#include <eikmenub.h>
+#include <StringLoader.h>
+#include <AknQueryDialog.h>
+#include <AiwCommon.hrh>
+#include <sendnorm.rsg>
+#include <sendui.h>
+#include <akntoolbar.h>
+#include <aknbutton.h>
+#ifndef __WINS__
+ //#include <SFIUtilsAppInterface.h>
+ #include <aknnotewrappers.h> // CAknInformationNote
+#endif
+
+#include <cameraapp.rsg>
+#include <vgacamsettings.rsg>
+
+#include "CamAppUiBase.h"
+#include "CamAppController.h"
+#include "CamVideoPostCaptureView.h"
+#include "CamPostCaptureContainer.h"
+#include "CamLogger.h"
+#include "CamAppUi.h"
+#include "CamAppUiBase.h"
+#include "CamUtility.h"
+#include "Cam.hrh"
+#include "camactivepalettehandler.h"
+#include "camoneclickuploadutility.h"
+#include "CameraUiConfigManager.h"
+#include "CamTimer.h"
+
+
+//CONSTANTS
+const TInt KHdmiTimeout = 1000000; //1 sec
+
+// ========================= MEMBER FUNCTIONS ================================
+
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::NewLC
+// Symbian OS two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CCamVideoPostCaptureView* CCamVideoPostCaptureView::NewLC( CCamAppController& aController )
+ {
+ CCamVideoPostCaptureView* self =
+ new( ELeave ) CCamVideoPostCaptureView( aController );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView destructor
+//
+// ---------------------------------------------------------------------------
+//
+CCamVideoPostCaptureView::~CCamVideoPostCaptureView()
+ {
+ if( iHdmiTimer )
+ {
+ delete iHdmiTimer;
+ iHdmiTimer = NULL;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::Id
+// Returns UID of view
+// ---------------------------------------------------------------------------
+//
+TUid CCamVideoPostCaptureView::Id() const
+ {
+ return TUid::Uid( ECamViewIdVideoPostCapture );
+ }
+
+// -----------------------------------------------------------------------------
+// CCamVideoPostCaptureView::HandleCommandL
+// Handle commands
+// -----------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::HandleCommandL( TInt aCommand )
+ {
+ switch ( aCommand )
+ {
+ case ECamCmdRenameVideo:
+ {
+ CCamAppUi* appUi = static_cast<CCamAppUi*>( AppUi() );
+ QueryRenameL( ECamControllerVideo );
+
+ // inform the Media gallery of name change
+ TRAPD( ignore,
+ appUi->HandleControllerEventL( ECamEventMediaFileChanged, KErrNone ) );
+ if ( ignore )
+ {
+ // Do nothing (removes build warning)
+ }
+ break;
+ }
+ case EAknSoftkeySelect:
+ {
+ // In post-capture select key is disabled when embedded
+ if ( !iEmbedded )
+ {
+ CEikMenuBar* menuBar = MenuBar();
+ if ( menuBar )
+ {
+ menuBar->SetMenuTitleResourceId( ROID(R_CAM_VIDEO_POST_CAPTURE_OK_MENUBAR_ID));
+ menuBar->TryDisplayMenuBarL();
+ menuBar->SetMenuTitleResourceId( ROID(R_CAM_VIDEO_POST_CAPTURE_MENUBAR_ID));
+ }
+ CCamPostCaptureViewBase::HandleCommandL( aCommand );
+ }
+ else
+ {
+ AppUi()->HandleCommandL( ECamCmdSelect );
+ }
+ }
+ break;
+ case ECamCmdSend:
+ case ECamCmdSendToCallerMultimedia:
+ case ECamCmdQuickSend:
+ {
+ CCamPostCaptureViewBase::HandleCommandL( aCommand );
+ }
+ break;
+ default:
+ {
+ PRINT1( _L("Camera => CCamVideoPostCaptureView::HandleCommandL default cmd (%d)"), aCommand )
+ // Handle AIW commands
+ TInt aiwServiceCmd = iAiwServiceHandler->ServiceCmdByMenuCmd( aCommand );
+ if ( aiwServiceCmd != KAiwCmdNone )
+ {
+ PRINT1( _L("Camera => CCamVideoPostCaptureView::HandleCommandL default handle AIW cmd (%d)" ), aiwServiceCmd)
+ CAiwGenericParamList& inParams = iAiwServiceHandler->InParamListL();
+ CAiwGenericParamList& outParams = iAiwServiceHandler->OutParamListL();
+ // Add file path to AIW parameters
+ TAiwVariant variant( iController.CurrentFullFileName() );
+ TAiwGenericParam param( EGenericParamFile, variant );
+ inParams.AppendL( param );
+
+ // Don't add the mime type if uploading, since Share client
+ // will figure it out from the file
+ if ( aiwServiceCmd != KAiwCmdUpload )
+ {
+ TAiwGenericParam param2( EGenericParamMIMEType, _L("video/*") );
+ inParams.AppendL( param2 );
+ }
+
+ iAiwServiceHandler->ExecuteMenuCmdL( aCommand, inParams, outParams, 0, this );
+ // we are 'embedding' Edit app
+ static_cast<CCamAppUiBase*>( AppUi() )->SetEmbedding( ETrue );
+ }
+ else
+ {
+ CCamPostCaptureViewBase::HandleCommandL( aCommand );
+ }
+
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CCamVideoPostCaptureView::DisplayDeleteNoteL()
+// Delete the current file
+// -----------------------------------------------------------------------------
+//
+TBool CCamVideoPostCaptureView::DisplayDeleteNoteL()
+ {
+ // Display the delete confirmation note
+ TInt err = KErrNone;
+ HBufC* confirmationText;
+ confirmationText = StringLoader::LoadLC( R_CAM_VIDEO_POST_CAPTURE_DELETE_NOTE_TEXT );
+ CAknQueryDialog* confirmationDialog =
+ new( ELeave )CAknQueryDialog( *confirmationText );
+ CleanupStack::PopAndDestroy( confirmationText );
+ if ( confirmationDialog->ExecuteLD( R_CAM_VIDEO_POST_CAPTURE_DELETE_NOTE ) )
+ {
+ if ( iEmbedded )
+ {
+ BlankSoftkeysL();
+ Cba()->DrawNow();
+ SetSoftKeysL( R_CAM_SOFTKEYS_SELECT_DELETE__SELECT );
+ }
+ err = iController.DeleteCurrentFile();
+ if ( err )
+ {
+ User::Leave( err );
+ }
+ return ETrue;
+ }
+ else
+ {
+ if ( iEmbedded )
+ {
+ BlankSoftkeysL();
+ Cba()->DrawNow();
+ SetSoftKeysL( R_CAM_SOFTKEYS_SELECT_DELETE__SELECT );
+ }
+ return EFalse;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CCamVideoPostCaptureView::DoActivateL()
+// Activate this view
+// -----------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::DoActivateL(
+ const TVwsViewId& aPreViewId,
+ TUid aCustomMessageId,
+ const TDesC8& aCustomMessage )
+ {
+ // Ensure the correct menu is used for the current mode.
+ CEikMenuBar* menuBar = MenuBar();
+ if ( menuBar )
+ {
+ menuBar->SetMenuTitleResourceId(
+ ROID( R_CAM_VIDEO_POST_CAPTURE_MENUBAR_ID ) );
+ }
+
+ CCamAppUi* appUi = static_cast<CCamAppUi*>( AppUi() );
+ /*if ( iController.IsTouchScreenSupported() )
+ {
+ if ( appUi->IsSecondCameraEnabled() )
+ {
+ if ( iOneClickUploadUtility->OneClickUploadSupported() )
+ {
+ TInt resourceId = appUi->IsQwerty2ndCamera()?
+ R_CAM_VIDEO_POSTCAPTURE_TOOLBAR_LANDSCAPE_UPLOAD:
+ R_CAM_VIDEO_POSTCAPTURE_TOOLBAR_PORTRAIT_UPLOAD;
+ CreateAndSetToolbarL( resourceId );
+ }
+ else
+ {
+ TInt resourceId = appUi->IsQwerty2ndCamera()?
+ R_CAM_VIDEO_POSTCAPTURE_TOOLBAR_LANDSCAPE:
+ R_CAM_VIDEO_POSTCAPTURE_TOOLBAR_PORTRAIT;
+ CreateAndSetToolbarL( resourceId );
+ }
+ }
+ else
+ {
+ if ( iOneClickUploadUtility->OneClickUploadSupported() )
+ {
+ CreateAndSetToolbarL( R_CAM_VIDEO_POSTCAPTURE_TOOLBAR_UPLOAD );
+ }
+ else
+ {
+ CreateAndSetToolbarL( R_CAM_VIDEO_POSTCAPTURE_TOOLBAR );
+ }
+ }
+ }*/
+
+ iAiwServiceHandler->Reset();
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ),
+ R_CAM_SHARE_ON_OVI_INTEREST );
+
+ // SHARE_AIW
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID),
+ R_CAM_AIW_VIEW_INTEREST );
+
+ CCamPostCaptureViewBase::DoActivateL(
+ aPreViewId, aCustomMessageId, aCustomMessage );
+
+ if ( !iController.IsTouchScreenSupported() )
+ {
+ TCamOrientation orientation = appUi->CamOrientation();
+
+ CCamActivePaletteHandler* apHandler = appUi->APHandler();
+ if( !iEmbedded && ( orientation == ECamOrientationCamcorder ||
+ orientation == ECamOrientationCamcorderLeft ) )
+ {
+ iContainer->CreateActivePaletteL();
+ MActivePalette2UI* activePalette =
+ appUi->APHandler()->ActivePalette();
+
+ if(activePalette)
+ {
+ activePalette->SetGc();
+ }
+
+ // install still pre-capture items
+ apHandler->InstallAPItemsL( R_CAM_VIDEO_POST_CAPTURE_AP_ITEMS );
+
+ // Hide Send or Send to caller
+ ResetSendAvailabilityL( apHandler );
+ apHandler->SetView( this );
+
+ // Make AP visible
+ appUi->SetAlwaysDrawPostCaptureCourtesyUI( ETrue );
+ }
+ else
+ {
+ }
+ }
+ if ( iController.IntegerSettingValue(ECamSettingItemVideoEditorSupport) != ECamNoEditorSupport )
+ {
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ),
+ R_CAM_SET_AS_RING_TONE_INTEREST_EDITOR );
+ }
+ else
+ {
+ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ),
+ R_CAM_SET_AS_RING_TONE_INTEREST );
+ }
+ if( iHdmiTimer->IsActive() )
+ iHdmiTimer->Cancel();
+ iHdmiTimer->StartTimer();
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::CCamVideoPostCaptureView
+// C++ constructor
+// ---------------------------------------------------------------------------
+//
+CCamVideoPostCaptureView::CCamVideoPostCaptureView( CCamAppController& aController )
+ : CCamPostCaptureViewBase( aController )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::ConstructL
+// Symbian OS 2nd phase constructor
+// ---------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::ConstructL()
+ {
+ PRINT( _L("Camera => CCamVideoPostCaptureView::ConstructL"))
+ BaseConstructL( ROID(R_CAM_VIDEO_POST_CAPTURE_VIEW_ID));
+ CCamPostCaptureViewBase::ConstructL();
+ iHdmiTimer = CCamTimer::NewL( KHdmiTimeout, TCallBack(HdmiTimerCallback, this));
+ PRINT( _L("Camera <= CCamVideoPostCaptureView::ConstructL"))
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::DoDeactivate
+// Deactivate this view
+// ---------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::DoDeactivate()
+ {
+ CCamPostCaptureViewBase::DoDeactivate();
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::SetTitlePaneTextL
+// Set the view's title text
+// ---------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::SetTitlePaneTextL()
+ {
+ TBool titleAlwaysShowsFileName = EFalse;
+ CCamAppUiBase* appUi = static_cast<CCamAppUiBase*>( AppUi() );
+
+ if ( appUi->CamOrientation() == ECamOrientationViewMode ||
+ titleAlwaysShowsFileName )
+ {
+ appUi->SetTitleL( iController.CurrentImageName() );
+ }
+ }
+
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::ProcessCommandL
+// Handling ECamCmdToggleActiveToolbar from any of the PostCaptureView's
+// either Image/Video.
+// ---------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::ProcessCommandL( TInt aCommand )
+ {
+ CCamAppUi* appUi = static_cast<CCamAppUi*>( AppUi() );
+ TCamOrientation orientation = appUi->CamOrientation();
+ if( orientation == ECamOrientationCamcorder ||
+ orientation == ECamOrientationCamcorderLeft ||
+ orientation == ECamOrientationPortrait )
+ {
+ if ( aCommand == ECamCmdToggleActiveToolbar )
+ {
+ CCamPostCaptureViewBase::HandleCommandL( aCommand );
+ }
+ else
+ {
+ CAknView::ProcessCommandL( aCommand );
+ }
+ }
+ else
+ {
+ if ( aCommand == EAknSoftkeyContextOptions )
+ {
+ iRockerKeyPress = ETrue;
+ MenuBar()->SetContextMenuTitleResourceId(
+ ROID(R_CAM_VIDEO_POST_CAPTURE_MENU_ID ) );
+ MenuBar()->SetMenuType( CEikMenuBar::EMenuContext );
+ MenuBar()->TryDisplayMenuBarL();
+ MenuBar()->SetMenuType( CEikMenuBar::EMenuOptions );
+ }
+ else
+ {
+ CAknView::ProcessCommandL( aCommand );
+ }
+
+ }
+ // CALL THE BASE CLASS
+
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::DynInitMenuPaneL
+// Changes MenuPane dynamically
+// ---------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
+ {
+ PRINT( _L("Camera => CCamVideoPostCaptureView::DynInitMenuPaneL"))
+
+ if ( iAiwServiceHandler )
+ {
+ PRINT( _L("Camera => CCamVideoPostCaptureView::DynInitMenuPaneL aiw"))
+
+ // let AIW handle it's own submenus
+ if ( iAiwServiceHandler->HandleSubmenuL( *aMenuPane ) )
+ {
+ PRINT( _L("Camera => CCamVideoPostCaptureView::DynInitMenuPaneL aiw handle sub"))
+ return;
+ }
+ }
+
+ CCamPostCaptureViewBase::DynInitMenuPaneL( aResourceId, aMenuPane );
+
+ PRINT( _L("Camera => CCamVideoPostCaptureView::DynInitMenuPaneL A"))
+ if ( iAiwServiceHandler && iAiwServiceHandler->IsAiwMenu( aResourceId ) )
+ {
+ PRINT1( _L("Camera => CCamVideoPostCaptureView::DynInitMenuPaneL res ID (%d)"),aResourceId )
+ CAiwGenericParamList& paramList = iAiwServiceHandler->InParamListL();
+ TAiwVariant variant( iController.CurrentFullFileName() );
+ TAiwGenericParam param( EGenericParamFile, variant );
+ paramList.AppendL( param );
+
+ TAiwVariant variant2( _L("video/*") );
+ TAiwGenericParam param2( EGenericParamMIMEType, variant2 );
+ paramList.AppendL( param2 );
+
+ PRINT( _L("Camera => CCamVideoPostCaptureView::DynInitMenuPaneL C"))
+ iAiwServiceHandler->InitializeMenuPaneL(
+ *aMenuPane,
+ aResourceId,
+ ECamCmdAIWCommands,
+ paramList );
+
+ PRINT( _L("Camera => CCamVideoPostCaptureView::DynInitMenuPaneL D"))
+ }
+
+ TInt itemPos(0);
+
+ if ( aResourceId == ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ) ||
+ aResourceId == ROID( R_CAM_VIDEO_POST_CAPTURE_OK_MENU_ID ) )
+ {
+
+ if( aMenuPane->MenuItemExists( ECamCmdSendToCallerMultimedia, itemPos ) )
+ {
+ aMenuPane->SetItemDimmed(
+ ECamCmdSendToCallerMultimedia, ETrue );
+ }
+ TInt editorSupport = iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport);
+
+ if( editorSupport == ECamNoEditorSupport ||
+ editorSupport == ECamEditorSupportInOptions )
+ {
+ if ( aMenuPane->MenuItemExists( ECamCmdSend, itemPos ) )
+ {
+ aMenuPane->SetItemDimmed(
+ ECamCmdSend, ETrue );
+ }
+ }
+ if( editorSupport == ECamNoEditorSupport ||
+ editorSupport == ECamEditorSupportInToolbar )
+ {
+ if ( aMenuPane->MenuItemExists( ECamCmdEditPhoto, itemPos ) )
+ {
+ aMenuPane->SetItemDimmed(
+ ECamCmdEditPhoto, ETrue );
+ }
+ }
+ /*
+ * MSK : ContextOptions --> We just hide Help and Exit from the Options Menu when
+ * the MSK is pressed in the postcapture still view
+ * iRockerKeyPress represents MSK key event in still postcapture view
+ */
+ if ( aMenuPane->MenuItemExists( EAknCmdHelp, itemPos ) &&
+ aMenuPane->MenuItemExists( ECamCmdInternalExit, itemPos ) )
+ {
+ if ( iRockerKeyPress )
+ { // We hide Help and Exit
+ aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
+ aMenuPane->SetItemDimmed( ECamCmdInternalExit, ETrue );
+ iRockerKeyPress = EFalse;
+ }
+ else
+ { // We show Help and Exit
+ aMenuPane->SetItemDimmed( EAknCmdHelp, EFalse );
+ aMenuPane->SetItemDimmed( ECamCmdInternalExit, EFalse );
+ }
+ }
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::HandleNotifyL
+// Handles any notification caused by asynchronous ExecuteCommandL
+// or event.
+// ---------------------------------------------------------------------------
+//
+TInt CCamVideoPostCaptureView::HandleNotifyL(
+ TInt /*aCmdId*/,
+ TInt aEventId,
+ CAiwGenericParamList& /*aEventParamList*/,
+ const CAiwGenericParamList& /*aInParamList*/ )
+ {
+ //AIW fails to assign. eg. the contact is locked for being used now.
+ if ( aEventId == KAiwEventError && iController.IsAppUiAvailable() )
+ {
+ CCamAppUi* appUi = static_cast<CCamAppUi*>( AppUi() );
+ TRAP_IGNORE( appUi->HandleCameraErrorL( KErrInUse ) );
+ }
+
+ return 0;
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::DynInitToolbarL
+// Dynamically initialize toolbar contents
+// ---------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::DynInitToolbarL( TInt aResourceId,
+ CAknToolbar* aToolbar )
+ {
+ PRINT2( _L("Camera => CCamVideoPostCaptureView::DynInitToolbarL(%d, 0x%X)" ), aResourceId, aToolbar );
+ (void)aResourceId; // remove compiler warning
+
+ // fixed toolbar is used only with touch devices
+ if ( iController.IsTouchScreenSupported() && aToolbar )
+ {
+ // HideItem will not do anything if a button for the given
+ // command ID is not found.
+ if( iEmbedded )
+ {
+ aToolbar->HideItem( ECamCmdSend, ETrue, EFalse );
+ aToolbar->HideItem( ECamCmdEdit, ETrue, EFalse );
+ aToolbar->HideItem( ECamCmdDelete, ETrue, EFalse );
+ aToolbar->HideItem( ECamCmdOneClickUpload, ETrue, EFalse );
+ aToolbar->HideItem( ECamCmdPlay, ETrue, EFalse );
+ }
+ else
+ {
+ TInt editorSupport = iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport);
+ if( editorSupport == ECamEditorSupportInToolbar )
+ {
+ aToolbar->RemoveItem( ECamCmdSend );
+ CAknButton* editButton = dynamic_cast<CAknButton*>(aToolbar->ControlOrNull( ECamCmdEdit ));
+ if( editButton )
+ {
+ CAknButtonState* state = editButton->State();
+ if( state )
+ {
+ HBufC* helpText = StringLoader::LoadLC( R_QTN_LCAM_TT_VIDEO_EDITOR );
+ state->SetHelpTextL(*helpText);
+ CleanupStack::PopAndDestroy(helpText);
+ }
+ }
+ }
+ else
+ {
+ aToolbar->RemoveItem( ECamCmdEdit );
+ }
+
+ if(iOneClickUploadUtility->OneClickUploadSupported())
+ {
+ aToolbar->RemoveItem( ECamCmdPhotos );
+ }
+ else
+ {
+ aToolbar->RemoveItem( ECamCmdOneClickUpload );
+ }
+
+ }
+ }
+
+ PRINT2( _L("Camera <= CCamVideoPostCaptureView::DynInitToolbarL(%d, 0x%X)" ), aResourceId, aToolbar );
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::HdmiTimerCallback
+// ---------------------------------------------------------------------------
+//
+TInt CCamVideoPostCaptureView::HdmiTimerCallback( TAny* aSelf )
+ {
+ CCamVideoPostCaptureView* self = static_cast<CCamVideoPostCaptureView*>(aSelf);
+ TInt err(0);
+ if( self )
+ {
+ TRAP(err, self->DoHdmiTimerCallbackL() );
+ }
+ PRINT1( _L("Camera <> CCamVideoPostCaptureView::HdmiTimerCallback err=%d"), err);
+ return err;
+ }
+
+// ---------------------------------------------------------------------------
+// CCamVideoPostCaptureView::DoHdmlTimerCallbackL
+// ---------------------------------------------------------------------------
+//
+void CCamVideoPostCaptureView::DoHdmiTimerCallbackL()
+ {
+ iController.HandlePostHdmiConnectDuringRecordingEventL();
+ }
+
+
+// End of File