diff -r b2bba7f74ac0 -r bcb8d447d716 idlefw/plugins/wsplugin/src/sindlaunchhandler.cpp --- a/idlefw/plugins/wsplugin/src/sindlaunchhandler.cpp Mon Mar 08 21:43:47 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,146 +0,0 @@ -/* -* Copyright (c) 2005-2007 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: SIND app launch handler for Active Idle WS Plug-in. -* -*/ - - -#include "sindlaunchhandler.h" -#include "keyhandlertimer.h" -#include "uistate.h" -#include -#include -#include -#include - -//#define AI_ENABLE_RD_LOGGING -#define AI_RD_LOG_TO_DEBUG_OUTPUT - -#include "debug.h" - -namespace AiWsPlugin { - - -CSINDLaunchHandler::CSINDLaunchHandler() - { - } - -void CSINDLaunchHandler::ConstructL() - { - // Read capability: ReadDeviceData. - _LIT_SECURITY_POLICY_C1( KReadDevicePolicy, ECapabilityReadDeviceData ); - // Write capability: WriteDeviceData. - _LIT_SECURITY_POLICY_C1( KWriteDevicePolicy, ECapabilityWriteDeviceData ); - - // Initialize Shortcut Plug-in command API - RProperty::Define( - KUidSystemCategory, - KPSUidShortcutCmd, - RProperty::EText, - KReadDevicePolicy, - KWriteDevicePolicy - ); - - iTimer = CKeyHandlerTimer::NewL( this ); - - iSINDKeyDown = EFalse; - } - -CSINDLaunchHandler* CSINDLaunchHandler::NewLC() - { - CSINDLaunchHandler* self = new(ELeave) CSINDLaunchHandler; - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -CSINDLaunchHandler::~CSINDLaunchHandler() - { - delete iTimer; - } - -void CSINDLaunchHandler::SetUiStateQuery( MUiState& aUiState ) - { - iUiState = &aUiState; - } - -void CSINDLaunchHandler::FocusChanged( TBool /*aState*/ ) - { - // Focus status is queried from iUiState - } - -TBool CSINDLaunchHandler::OfferRawEvent(const TRawEvent& aRawEvent) - { - switch( aRawEvent.Type() ) - { - case TRawEvent::EKeyDown: - { - if ( iUiState->HasFocus() && aRawEvent.ScanCode() == EStdKeyDevice1 ) - { - __PRINTS( "XAI: CSINDLaunchHandler: SIND key down, start timer"); - const TTimeIntervalMicroSeconds32 KLongKeyPress(600000); - iTimer->Cancel(); - iTimer->After(KLongKeyPress); - iSINDLaunched = EFalse; - iSINDKeyDown = ETrue; - } - else if( iUiState->HasFocus() && iSINDKeyDown ) - { - __PRINTS( "XAI: CSINDLaunchHandler: SIND key down, other key pressed, cancel timer"); - iTimer->Cancel(); - SkipVoiceDial(); - } - break; - } - case TRawEvent::EKeyUp: - { - if ( iUiState->HasFocus() && aRawEvent.ScanCode() == EStdKeyDevice1 && !iSINDLaunched && iTimer->IsActive() ) - { - __PRINTS( "XAI: SIND key up, cancel timer"); - iTimer->Cancel(); - SkipVoiceDial(); - } - break; - } - } - return EFalse; - } - -void CSINDLaunchHandler::SkipVoiceDial() - { - __PRINTS( "XAI: CSINDLaunchHandler::SkipVoiceDial()"); - // Handle skip scenario only if voice dial ui hasn't been launched - if( !iSINDLaunched ) - { - RProperty::Set( - KUidSystemCategory, - KPSUidShortcutCmd, - KAiPSSkipNameDialer ); - } - iSINDKeyDown = EFalse; - } - -void CSINDLaunchHandler::TimerDone() - { - __PRINTS( "XAI: CSINDLaunchHandler::TimerDone()"); - __PRINTS( "XAI: Start Voice Dial UI"); - RProperty::Set( - KUidSystemCategory, - KPSUidShortcutCmd, - KAiPSLaunchNameDialer ); - iSINDLaunched = ETrue; - iSINDKeyDown = EFalse; - } - -} // namespace AiWsPlugin